duanli8577 2017-01-13 07:16
浏览 204

一段时间后,nginx拒绝连接

I have a problem with my nginx configuration, my server works fine but after 1 or 2 days it just hangs and stop responding. It's not possible to connect to the server anymore.

(7) Failed to connect to XX.XX.XX.XX port 80: Connection refused

The main job of this server is running heavy PHP tasks, I run cron jobs every 5 seconds for many tasks. Restart helps and again nginx works correctly for the next 1-2 days. I don't have any error logs, nginx dosn't report anything in /var/log/nginx/error.log. It simply fails all connections. Any ideas where to start looking for a problem?

I run nginx on Ubuntu 16.04, 2 CPUs, 4 GB ram with PHP 7.0. nginx version: nginx/1.10.0 (Ubuntu)

here is config file:

 user www-data;
 worker_processes 2;
 pid /run/nginx.pid;

 events {
  worker_connections 4096;
  #multi_accept on;
 }

http {

##
# Basic Settings
##

sendfile on;
tcp_nopush on;
tcp_nodelay on;
keepalive_timeout 300;
types_hash_max_size 2048;
server_tokens off;

# server_names_hash_bucket_size 64;
# server_name_in_redirect off;

include /etc/nginx/mime.types;
default_type application/octet-stream;

##
# SSL Settings
##

ssl_protocols TLSv1 TLSv1.1 TLSv1.2; # Dropping SSLv3, ref: POODLE
ssl_prefer_server_ciphers on;

##
# Logging Settings
##

access_log /var/log/nginx/access.log;
error_log /var/log/nginx/error.log;

##
# Gzip Settings
##

gzip on;
gzip_disable "msie6";

# gzip_vary on;
# gzip_proxied any;
# gzip_comp_level 6;
# gzip_buffers 16 8k;
# gzip_http_version 1.1;
# gzip_types text/plain text/css application/json application/javascript text/xml application/xml application/xml+rss text/javascript;

##
# Virtual Host Configs
##

include /etc/nginx/conf.d/*.conf;
include /etc/nginx/sites-enabled/*;
}

here is default file:

server {
 large_client_header_buffers 4 128k;
 listen XX:XX:XX:XX:80;

 set $root_path '/var/www/web/public/';

 root $root_path;
 index index.php;

 server_name XX:XX:XX:XX;

 location / {
    # First attempt to serve request as file, then
    # as directory, then fall back to displaying a 404.
    try_files $uri $uri/ /index.php?$query_string;
 }

 location ~ \.php$ {
    include snippets/fastcgi-php.conf;
    fastcgi_pass unix:/run/php/php7.0-fpm.sock;
    fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
    include fastcgi_params;
    fastcgi_read_timeout 14400;

    proxy_set_header   Connection "";
    proxy_http_version 1.1;
 }

 location /status {
        stub_status on;
        access_log  off;
        allow XX:XX:XX:XX;
        deny all;
 }

 location ~* ^/(css|img|js|flv|swf|download)/(.+)$ {
    root $root_path;
 }

 # deny access to .htaccess files, if Apache's document root
 # concurs with nginx's one
 location ~ /\.ht {
    deny all;
 }
}

And the main thing, my cron jobs I run, for example:

* * * * * sleep 5; curl --request GET http://XX:XX:XX:XX/queue/fire > /dev/null 2>&1
* * * * * sleep 10; curl --request GET http://XX:XX:XX:XX/queue/fire > /dev/null 2>&1
* * * * * sleep 15; curl --request GET http://XX:XX:XX:XX/queue/fire > /dev/null 2>&1
* * * * * sleep 20; curl --request GET http://XX:XX:XX:XX/queue/fire > /dev/null 2>&1
* * * * * sleep 25; curl --request GET http://XX:XX:XX:XX/queue/fire > /dev/null 2>&1
* * * * * sleep 30; curl --request GET http://XX:XX:XX:XX/queue/fire > /dev/null 2>&1
* * * * * sleep 35; curl --request GET http://XX:XX:XX:XX/queue/fire > /dev/null 2>&1
* * * * * sleep 40; curl --request GET http://XX:XX:XX:XX/queue/fire > /dev/null 2>&1
* * * * * sleep 45; curl --request GET http://XX:XX:XX:XX/queue/fire > /dev/null 2>&1
* * * * * sleep 50; curl --request GET http://XX:XX:XX:XX/queue/fire > /dev/null 2>&1

etc.

UPDATE:

PHP FPM Status

 * php7.0-fpm.service - The PHP 7.0 FastCGI Process Manager
   Loaded: loaded (/lib/systemd/system/php7.0-fpm.service; enabled; vendor preset: enabled)
   Active: active (running) since Fri 2017-01-13 10:46:41 CET; 3 days ago
  Process: 1439 ExecStartPre=/usr/lib/php/php7.0-fpm-checkconf (code=exited, status=0/SUCCESS)
 Main PID: 1662 (php-fpm7.0)
   Status: "Processes active: 0, idle: 25, Requests: 164215, slow: 0, Traffic: 0req/sec"
    Tasks: 26
   Memory: 377.3M
      CPU: 5h 57min 32.279s
   CGroup: /system.slice/php7.0-fpm.service
           |- 1662 php-fpm: master process (/etc/php/7.0/fpm/php-fpm.conf)                      
           |- 1752 php-fpm: pool www                                                            
           |- 8751 php-fpm: pool www                                                            
           |-12078 php-fpm: pool www                                                            
           |-14053 php-fpm: pool www                                                            
           |-14338 php-fpm: pool www                                                            
           |-14639 php-fpm: pool www                                                            
           |-14763 php-fpm: pool www                                                            
           |-16188 php-fpm: pool www                                                            
           |-16212 php-fpm: pool www                                                            
           |-16900 php-fpm: pool www                                                            
           |-17620 php-fpm: pool www                                                            
           |-17621 php-fpm: pool www                                                            
           |-17766 php-fpm: pool www                                                            
           |-18802 php-fpm: pool www                                                            
           |-19084 php-fpm: pool www                                                            
           |-22064 php-fpm: pool www                                                            
           |-24245 php-fpm: pool www                                                            
           |-24690 php-fpm: pool www                                                            
           |-25120 php-fpm: pool www                                                            
           |-27714 php-fpm: pool www                                                            
           |-29415 php-fpm: pool www                                                            
           |-30182 php-fpm: pool www                                                            
           |-30391 php-fpm: pool www                                                            
           |-32053 php-fpm: pool www                                                            
           `-32358 php-fpm: pool www                                                            

Warning: Journal has been rotated since unit was started. Log output is incomplete or unavailable.
  • 写回答

1条回答 默认 最新

  • dongpi3237 2017-01-13 07:46
    关注

    I would check php fpm logs. Maybe running out of php fpm processes.

    评论

报告相同问题?

悬赏问题

  • ¥15 完成下列问题完成下列问题
  • ¥15 C#算法问题, 不知道怎么处理这个数据的转换
  • ¥15 YoloV5 第三方库的版本对照问题
  • ¥15 请完成下列相关问题!
  • ¥15 drone 推送镜像时候 purge: true 推送完毕后没有删除对应的镜像,手动拷贝到服务器执行结果正确在样才能让指令自动执行成功删除对应镜像,如何解决?
  • ¥15 求daily translation(DT)偏差订正方法的代码
  • ¥15 js调用html页面需要隐藏某个按钮
  • ¥15 ads仿真结果在圆图上是怎么读数的
  • ¥20 Cotex M3的调试和程序执行方式是什么样的?
  • ¥20 java项目连接sqlserver时报ssl相关错误