Nginx运行一段时间后无预警停止,重启后仍反复故障的排查与解决求助
Nginx运行一段时间后无预警停止,重启后仍反复故障的排查与解决求助
我有一台运行Ubuntu 20.04的服务器,用Nginx做Web服务器,上面部署了好几个项目。现在遇到的问题是,Nginx会时不时突然停止运行。我完全搞不懂它崩溃的原因,已经搜了好多资料,还调整过服务器块的监听端口,但还是会时不时停掉。关键是,我执行systemctl restart nginx之后它能正常工作,但过一阵又会故障。
Nginx错误日志最后10行内容
2023/03/17 06:54:46 [emerg] 88675#88675: bind() to 0.0.0.0:443 failed (98: Address already in use) 2023/03/17 06:54:46 [emerg] 88675#88675: bind() to 0.0.0.0:80 failed (98: Address already in use) 2023/03/17 06:54:46 [emerg] 88675#88675: bind() to [::]:80 failed (98: Address already in use) 2023/03/17 06:54:46 [emerg] 88675#88675: bind() to 0.0.0.0:443 failed (98: Address already in use) 2023/03/17 06:54:46 [emerg] 88675#88675: bind() to 0.0.0.0:80 failed (98: Address already in use) 2023/03/17 06:54:46 [emerg] 88675#88675: bind() to [::]:80 failed (98: Address already in use) 2023/03/17 06:54:46 [emerg] 88675#88675: bind() to 0.0.0.0:443 failed (98: Address already in use) 2023/03/17 06:54:46 [emerg] 88675#88675: still could not bind() 2023/03/17 06:54:48 [error] 88631#88631: MEMSTORE:19: my procslot not found! I don't know what to do! nginx: worker process: /build/nginx-lUTckl/nginx-1.18.0/debian/modules/nchan/src/store/memory/memstore.c:1616: nchan_store_exit_worker: Assertion `0' failed.
/etc/nginx/sites-enabled/default 配置文件内容
server { server_name api5.arshiyaniha.com; root /var/www/html/api/public/ ; error_log /var/log/nginx/api-new-error.log ; access_log /var/log/nginx/api-new.log ; index index.php index.html index.htm index.nginx-debian.html ; if ($request_uri ~* "^(.*/)index\.php$") { return 301 $1; } location / { try_files $uri $uri/ /index.php?$query_string; } location ~ \.php$ { include snippets/fastcgi-php.conf; fastcgi_pass unix:/run/php/php8.1-fpm.sock; fastcgi_read_timeout 2000; } listen [::]:443 ssl ipv6only=on; # managed by Certbot listen 443 ssl; # managed by Certbot ssl_certificate /etc/letsencrypt/live/api5.arshiyaniha.com/fullchain.pem; # managed by Certbot ssl_certificate_key /etc/letsencrypt/live/api5.arshiyaniha.com/privkey.pem; # managed by Certbot include /etc/letsencrypt/options-ssl-nginx.conf; # managed by Certbot ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem; # managed by Certbot } server { server_name arshiyanadmin.arshiyaniha.com; root /var/www/html/panel-front/build/ ; error_log /var/log/nginx/arshiyanadmin.log ; access_log /var/log/nginx/arshiyanadmin.log ; index index.html; location / { try_files $uri $uri/ /index.html?$query_string; } client_max_body_size 10M; listen 443 ssl; # managed by Certbot ssl_certificate /etc/letsencrypt/live/arshiyanadmin.arshiyaniha.com/fullchain.pem; # managed by Certbot ssl_certificate_key /etc/letsencrypt/live/arshiyanadmin.arshiyaniha.com/privkey.pem; # managed by Certbot include /etc/letsencrypt/options-ssl-nginx.conf; # managed by Certbot ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem; # managed by Certbot } server { server_name api.arshiyaniha.com; location / { proxy_pass http://localhost:4020; proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection 'upgrade'; proxy_set_header Host $host; proxy_cache_bypass $http_upgrade; } listen 443 ssl; # managed by Certbot ssl_certificate /etc/letsencrypt/live/api.arshiyaniha.com/fullchain.pem; # managed by Certbot ssl_certificate_key /etc/letsencrypt/live/api.arshiyaniha.com/privkey.pem; # managed by Certbot include /etc/letsencrypt/options-ssl-nginx.conf; # managed by Certbot ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem; # managed by Certbot } server { server_name dashboardapi.arshiyaniha.com; location / { proxy_pass http://localhost:4021; proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection 'upgrade'; proxy_set_header Host $host; proxy_cache_bypass $http_upgrade; proxy_connect_timeout 60s; proxy_read_timeout 5400s; proxy_send_timeout 5400s; } listen 443 ssl; # managed by Certbot ssl_certificate /etc/letsencrypt/live/dashboardapi.arshiyaniha.com/fullchain.pem; # managed by Certbot ssl_certificate_key /etc/letsencrypt/live/dashboardapi.arshiyaniha.com/privkey.pem; # managed by Certbot include /etc/letsencrypt/options-ssl-nginx.conf; # managed by Certbot ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem; # managed by Certbot } server { server_name files.arshiyaniha.com; location / { proxy_pass http://localhost:4022; proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection 'upgrade'; proxy_set_header Host $host; proxy_cache_bypass $http_upgrade; } listen 443 ssl; # managed by Certbot ssl_certificate /etc/letsencrypt/live/files.arshiyaniha.com/fullchain.pem; # managed by Certbot ssl_certificate_key /etc/letsencrypt/live/files.arshiyaniha.com/privkey.pem; # managed by Certbot include /etc/letsencrypt/options-ssl-nginx.conf; # managed by Certbot ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem; # managed by Certbot } server { if ($host = api.arshiyaniha.com) { return 301 https://$host$request_uri; } # managed by Certbot server_name api.arshiyaniha.com; listen 80; return 404; # managed by Certbot } server { if ($host = files.arshiyaniha.com) { return 301 https://$host$request_uri; } # managed by Certbot server_name files.arshiyaniha.com; listen 80; return 404; # managed by Certbot } server { if ($host = dashboardapi.arshiyaniha.com) { return 301 https://$host$request_uri; } # managed by Certbot server_name dashboardapi.arshiyaniha.com; listen 80; return 404; # managed by Certbot } server { if ($host = arshiyanadmin.arshiyaniha.com) { return 301 https://$host$request_uri; } # managed by Certbot server_name arshiyanadmin.arshiyaniha.com; listen 80; return 404; # managed by Certbot } server { if ($host = api5.arshiyaniha.com) { return 301 https://$host$request_uri; } # managed by Certbot listen 80; listen [::]:80; server_name api5.arshiyaniha.com; return 404; # managed by Certbot }
有没有大佬能帮我看看具体问题出在哪,该怎么修复?
备注:内容来源于stack exchange,提问作者Martin AJ
相关产品推荐
相关产品推荐

