如何快速排查无法打开 ECS 实例上运行的网站
本篇文章给大家带来的内容是关于如何快速排查无法打开 ECS 实例上运行的网站,有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。
快速排查无法打开 ECS 实例上运行的网站
无法打开 Linux 实例上运行的网站
此处示范系统为 CentOS 6.8,请根据您的实际情况选择。
一、排查 80 端口不可用
运行命令 netstat -an | grep 80,查看 TCP 80 端口是否被监听。如果返回以下任意一种结果,说明已启动 TCP 80 端口的 Web 服务:
tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN # 全网监听
tcp 0 0 127.0.0.1:80 0.0.0.0:* LISTEN # 本机监听
其中,本机监听会导致外网无法访问 Web 服务只有本机能访问,可参阅Nginx、Tomcat、IIS 更改端口监听地址的方法修改为全网监听。
第一步失效时:
查看实例安全组是否放行 80 端口。参阅添加安全组规则。
查看实例 iptables 是否放行 80 端口。
使用 telnet 和 traceroute 跟踪 80 端口的通断情况。参阅 ping 丢包或不通时链路测试说明。
查看云服务器带宽是否跑满。参阅云服务器 ECS Linux 服务器带宽异常跑满分析解决。
二、排查 Web 服务不可用
使用管理终端登录实例。
查看 Web 服务日志,如路径 /usr/local/var/log/nginx/ 存放 CentOS 6.8 Nginx 服务日志。
使用 top 查看实例运行状态,查看是否有异样进程。
在控制台查看实例监控信息,查看实例带宽是否跑满,若跑满,可尝试升级实例带宽。
查看实例 CPU/内存是否耗尽。参阅云服务器 ECS Linux 系统 CPU 占用率较高问题排查思路。
查看实例 80 端口是否有过多的 TCP 链接。
通过 netstat -anp |grep tcp |wc -l 统计 TCP 连接数。
对比 /etc/sysctl.conf 配置文件的 net.ipv4.tcp_max_tw_buckets 最大值,看是否有超出情况。若超出:
执行 vi /etc/sysctl.conf 编辑文件,查询 net.ipv4.tcp_max_tw_buckets 参数。如果确认连接使用很高,容易超出限制。
调高参数 net.ipv4.tcp_max_tw_buckets,扩大限制。
输入指令 sysctl -p 使配置生效。
无法打开 Windows 实例上运行的网站
此处示范系统为 Windows Server 2008,请根据您的实际情况选择。
一、排查 80 端口不可用
执行命令 netstat -ano | findstr :80,查看 TCP 80 是否被监听。如果返回以下任意一种结果,说明已启动 TCP 80 端口的 Web 服务。
TCP 0.0.0.0:80 0.0.0.0:0 LISTENING 1172 # 表示全网监听
TCP 127.0.0.1:80 0.0.0.0:0 LISTENING 1172 # 表示本地监听
其中,本机监听会导致外网无法访问 Web 服务只有本机能访问,可执行 netsh http delete iplisten ipaddress= 127.0.0.1:80 修改为全网监听。
第一步失效时:
查看实例安全组是否放行 80 端口。参阅添加安全组规则。
查看实例防火墙是否放行 80 端口。参阅 Windows 防火墙限制端口/IP/应用访问的方法以及例外的配置。
使用 telnet 和 tracert 跟踪 80 端口的通断情况。参阅 ping 丢包或不通时链路测试说明。
查看云服务器带宽是否跑满。参阅 Windows 实例带宽和 CPU 跑满或跑高排查。
二、排查 Web 服务不可用
使用管理终端登录实例。
查看 Web 服务日志,如 Windows Server 2008 IIS 服务日志位置为: %SystemDrive%\inetpub\logs\LogFiles\W3SVC4。
通过 Task Manager 查看实例运行状态,查看是否有异样进程。
在控制台查看实例监控信息,查看实例带宽是否跑满,若跑满,可尝试升级实例带宽。
查看实例 CPU,内存的是否耗尽。参阅 Windows 实例带宽和 CPU 跑满或跑高排查或云服务器 Windows 实例 CPU 高占用率的处理及工具推荐。
查看实例 80 端口是否有过多的 TCP 链接。
执行以下命令并统计 TCP 连接数:
netstat -n |find /i "time_wait" /c netstat -n |find /i "close_wait" /c netstat -n |find /i "established" /c
统计 TCP 连接数过高时,调整 TcpTimedWaitDelay 为 30s,其默认值是 4 分钟(240s):
打开 CMD,执行命令 regedit。
找到 HKEY_LOCAL_MACHINE > SYSTEM > CurrentControlSet > Services > TCPIP > Parameters。
如果无 TcpTimedWaitDelay 项参数:
右击 Parameter > 新建 DWORD (32-位)值。
输入 TcpTimedWaitDelay,回车确认。
右击 TcpTimedWaitDelay,单击 修改 ,勾选 十进制,数值数据输入30,单击 确定。
Atas ialah kandungan terperinci 如何快速排查无法打开 ECS 实例上运行的网站. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

AI Hentai Generator
Menjana ai hentai secara percuma.

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas



Sebab utama mengapa anda tidak boleh log masuk ke MySQL sebagai akar adalah masalah kebenaran, ralat fail konfigurasi, kata laluan tidak konsisten, masalah fail soket, atau pemintasan firewall. Penyelesaiannya termasuk: periksa sama ada parameter pengikat di dalam fail konfigurasi dikonfigurasi dengan betul. Semak sama ada kebenaran pengguna root telah diubahsuai atau dipadam dan ditetapkan semula. Sahkan bahawa kata laluan adalah tepat, termasuk kes dan aksara khas. Semak tetapan dan laluan kebenaran fail soket. Semak bahawa firewall menyekat sambungan ke pelayan MySQL.

C Language Conditional Compilation adalah mekanisme untuk selektif menyusun blok kod berdasarkan keadaan kompilasi masa. Kaedah pengenalan termasuk: menggunakan arahan #if dan #Else untuk memilih blok kod berdasarkan syarat. Ekspresi bersyarat yang biasa digunakan termasuk STDC, _WIN32 dan LINUX. Kes praktikal: Cetak mesej yang berbeza mengikut sistem operasi. Gunakan jenis data yang berbeza mengikut bilangan digit sistem. Fail header yang berbeza disokong mengikut pengkompil. Penyusunan bersyarat meningkatkan kebolehgunaan dan fleksibiliti kod, menjadikannya boleh disesuaikan dengan pengkompil, sistem operasi, dan perubahan seni bina CPU.

Lima komponen asas Linux adalah: 1. Kernel, menguruskan sumber perkakasan; 2. Perpustakaan sistem, menyediakan fungsi dan perkhidmatan; 3. Shell, antara muka pengguna untuk berinteraksi dengan sistem; 4. Sistem fail, menyimpan dan menganjurkan data; 5. Aplikasi, menggunakan sumber sistem untuk melaksanakan fungsi.

Terdapat banyak sebab mengapa permulaan MySQL gagal, dan ia boleh didiagnosis dengan memeriksa log ralat. Penyebab umum termasuk konflik pelabuhan (periksa penghunian pelabuhan dan ubah suai konfigurasi), isu kebenaran (periksa keizinan pengguna yang menjalankan perkhidmatan), ralat fail konfigurasi (periksa tetapan parameter), rasuah direktori data (memulihkan data atau membina semula ruang meja), isu ruang jadual InnoDB (semak fail ibdata1) Apabila menyelesaikan masalah, anda harus menganalisisnya berdasarkan log ralat, cari punca utama masalah, dan mengembangkan tabiat sandaran data secara teratur untuk mencegah dan menyelesaikan masalah.

MySQL tidak boleh berjalan secara langsung di Android, tetapi ia boleh dilaksanakan secara tidak langsung dengan menggunakan kaedah berikut: menggunakan pangkalan data ringan SQLite, yang dibina di atas sistem Android, tidak memerlukan pelayan yang berasingan, dan mempunyai penggunaan sumber kecil, yang sangat sesuai untuk aplikasi peranti mudah alih. Sambungkan jauh ke pelayan MySQL dan sambungkan ke pangkalan data MySQL pada pelayan jauh melalui rangkaian untuk membaca dan menulis data, tetapi terdapat kelemahan seperti kebergantungan rangkaian yang kuat, isu keselamatan dan kos pelayan.

Penyelesaian kepada ralat pemasangan MySQL adalah: 1. Berhati -hati memeriksa persekitaran sistem untuk memastikan keperluan perpustakaan ketergantungan MySQL dipenuhi. Sistem operasi dan keperluan versi yang berbeza adalah berbeza; 2. Berhati -hati membaca mesej ralat dan mengambil langkah -langkah yang sepadan mengikut arahan (seperti fail perpustakaan yang hilang atau kebenaran yang tidak mencukupi), seperti memasang kebergantungan atau menggunakan arahan sudo; 3 Jika perlu, cuba pasang kod sumber dan periksa dengan teliti log kompilasi, tetapi ini memerlukan pengetahuan dan pengalaman Linux tertentu. Kunci untuk menyelesaikan masalah akhirnya adalah dengan teliti memeriksa persekitaran sistem dan maklumat ralat, dan merujuk kepada dokumen rasmi.

Sebab utama kegagalan pemasangan MySQL adalah: 1. Isu kebenaran, anda perlu menjalankan sebagai pentadbir atau menggunakan perintah sudo; 2. Ketergantungan hilang, dan anda perlu memasang pakej pembangunan yang relevan; 3. Konflik pelabuhan, anda perlu menutup program yang menduduki port 3306 atau mengubah suai fail konfigurasi; 4. Pakej pemasangan adalah korup, anda perlu memuat turun dan mengesahkan integriti; 5. Pembolehubah persekitaran dikonfigurasikan dengan salah, dan pembolehubah persekitaran mesti dikonfigurasi dengan betul mengikut sistem operasi. Selesaikan masalah ini dan periksa dengan teliti setiap langkah untuk berjaya memasang MySQL.

Tidak dapat mengakses MySQL dari terminal mungkin disebabkan oleh: perkhidmatan MySQL tidak berjalan; ralat perintah sambungan; kebenaran yang tidak mencukupi; sambungan blok firewall; Ralat fail konfigurasi MySQL.
