昨天把宝塔面板升级了一下。
升级后在面板中看到云服务器内存占用率比较高,虽然进行了释放,但感觉仍有点高,达到了47%,于是就通过宝塔面板把服务器重启了一下,重启后宝塔面板能正常访问,可是网站却访问不了。开始以为是云服务器没有成功重启,通过SSH登录后又重启了一遍,问题仍旧。
由于才接触宝塔面板,对centos系统也不熟,只能通过百度来查找问题答案了。网上优先的答案都是说端口问题,于是又把宝塔面板中的相关端口检查了一下,还特意添加了80端口,到腾讯云上也把安全组中的允许端口选择为ALL,可是站点仍然无法访问。
后来看到了一个答案,提示NGINX服务可能在服务器重启后出问题了。果然,在宝塔面板中看到NGINX服务处于停止状态。点启动服务,却弹出错误
2023/01/03 08:51:27 [emerg] 15603#0: bind() to 0.0.0.0:81 failed (98: Address already in use)
2023/01/03 08:51:27 [emerg] 15603#0: bind() to 0.0.0.0:81 failed (98: Address already in use)
2023/01/03 08:51:27 [emerg] 15603#0: bind() to 0.0.0.0:81 failed (98: Address already in use)
2023/01/03 08:51:27 [emerg] 15603#0: bind() to 0.0.0.0:81 failed (98: Address already in use)
2023/01/03 08:51:27 [emerg] 15603#0: bind() to 0.0.0.0:81 failed (98: Address already in use)
2023/01/03 08:51:27 [emerg] 15603#0: still could not bind()
看来是服务端口81被占用了。
直接上SSH
[root@VM-0-7-centos ~]# lsof -i:81
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
uwsgi 747 root 6u IPv4 18243 0t0 TCP *:81 (LISTEN)
uwsgi 872 root 6u IPv4 18243 0t0 TCP *:81 (LISTEN)
或者使用下面的命令查看
[root@VM-0-7-centos ~]# netstat -apn|grep 81
tcp 0 0 0.0.0.0:81 0.0.0.0:* LISTEN 747/uwsgi
tcp 0 0 172.*.0.*:59516 169.*.0.*:8186 ESTABLISHED 1322/tat_agent
tcp 0 36 172.*.0.*:22 27.*.194.*:18178 ESTABLISHED 16211/sshd: root@pt
unix 2 [ ACC ] STREAM LISTENING 18178 753/lsmd /var/run/lsm/ipc/simc
unix 2 [ ] STREAM CONNECTED 29381 2452/mysqld
unix 3 [ ] STREAM CONNECTED 18171 758/dbus-daemon
unix 3 [ ] STREAM CONNECTED 28199 2068/master
unix 3 [ ] STREAM CONNECTED 18113 1/systemd
unix 2 [ ] STREAM CONNECTED 59481 6861/php-fpm: pool
unix 3 [ ] STREAM CONNECTED 26381 1413/php-fpm: maste
unix 3 [ ] STREAM CONNECTED 18172 1/systemd /run/systemd/journal/stdout
unix 2 [ ] STREAM CONNECTED 28165 2068/master
unix 3 [ ] STREAM CONNECTED 28198 2068/master
果然81端口目前处于被占用状态,被uwsgi占用了。下面把它杀掉
[root@VM-0-7-centos ~]# kill -9 747
再次确认一下
[root@VM-0-7-centos ~]# netstat -apn|grep 81
tcp 0 0 172.*.0.*:59516 169.*0.*:8186 ESTABLISHED 1322/tat_agent
tcp 0 36 172.*.0.*:22 27.*.194.*:18178 ESTABLISHED 16211/sshd: root@pt
unix 2 [ ACC ] STREAM LISTENING 18178 753/lsmd /var/run/lsm/ipc/simc
unix 2 [ ] STREAM CONNECTED 29381 2452/mysqld
unix 3 [ ] STREAM CONNECTED 18171 758/dbus-daemon
unix 3 [ ] STREAM CONNECTED 28199 2068/master
unix 3 [ ] STREAM CONNECTED 18113 1/systemd
unix 2 [ ] STREAM CONNECTED 59481 6861/php-fpm: pool
unix 3 [ ] STREAM CONNECTED 26381 1413/php-fpm: maste
unix 3 [ ] STREAM CONNECTED 18172 1/systemd /run/systemd/journal/stdout
unix 2 [ ] STREAM CONNECTED 28165 2068/master
unix 3 [ ] STREAM CONNECTED 28198 2068/master
81端口成功释放,然后再在宝塔面板中启动NGINX,成功了。
[root@VM-0-7-centos ~]# lsof -i:81
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
nginx 17380 root 13u IPv4 130087 0t0 TCP *:81 (LISTEN)
nginx 17428 www 13u IPv4 130087 0t0 TCP *:81 (LISTEN)
[root@VM-0-7-centos ~]# netstat -apn|grep 81
tcp 0 0 0.0.0.0:81 0.0.0.0:* LISTEN 17380/nginx: master
tcp 0 0 172.*.0.*:59516 169.*.0.*:8186 ESTABLISHED 1322/tat_agent
tcp 0 36 172.*.0.*:22 27.*.194.*:18178 ESTABLISHED 16211/sshd: root@pt
unix 2 [ ACC ] STREAM LISTENING 18178 753/lsmd /var/run/lsm/ipc/simc
unix 2 [ ] STREAM CONNECTED 29381 2452/mysqld
unix 3 [ ] STREAM CONNECTED 18171 758/dbus-daemon
unix 3 [ ] STREAM CONNECTED 28199 2068/master
unix 3 [ ] STREAM CONNECTED 18113 1/systemd
unix 2 [ ] STREAM CONNECTED 59481 6861/php-fpm: pool
unix 3 [ ] STREAM CONNECTED 26381 1413/php-fpm: maste
unix 3 [ ] STREAM CONNECTED 18172 1/systemd /run/systemd/journal/stdout
unix 2 [ ] STREAM CONNECTED 28165 2068/master
unix 3 [ ] STREAM CONNECTED 28198 2068/master
真是折腾人啊。
继续普及一下
uWSGI是一个Web服务器,它实现了WSGI协议、uwsgi、http等协议。Nginx中HttpUwsgiModule的作用是与uWSGI服务器进行交换。
要注意 WSGI / uwsgi / uWSGI 这三个概念的区分。
WSGI是一种通信协议。
uwsgi是一种线路协议而不是通信协议,在此常用于在uWSGI服务器与其他网络服务器的数据通信。
而uWSGI是实现了uwsgi和WSGI两种协议的Web服务器。
uwsgi协议是一个uWSGI服务器自有的协议,它用于定义传输信息的类型(type of information),每一个uwsgi packet前4byte为传输信息类型描述,它与WSGI相比是两样东西。
最新回复