Nginx挂起重启

前端之家收集整理的这篇文章主要介绍了Nginx挂起重启前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

我必须在后台运行Nginx启动脚本,否则它在运行时不会返回shell – 它通过以下任一方式执行此操作

  1. service Nginx start

..或只是运行..

  1. /etc/init.d/Nginx

..直接.我必须在后台运行它然后否认它..

在Ubuntu 14.04.2上运行,Nginx v 1.4.6

Nginx -V给了我们:

  1. Nginx version: Nginx/1.4.6 (Ubuntu)
  2. built by gcc 4.8.2 (Ubuntu 4.8.2-19ubuntu1)
  3. TLS SNI support enabled
  4. configure arguments: --with-cc-opt='-g -O2 -fstack-protector --param=ssp-buffer-size=4 -Wformat -Werror=format-security -D_FORTIFY_SOURCE=2' --with-ld-opt='-Wl,-Bsymbolic-functions -Wl,-z,relro' --prefix=/usr/share/Nginx --conf-path=/etc/Nginx/Nginx.conf --http-log-path=/var/log/Nginx/access.log --error-log-path=/var/log/Nginx/error.log --lock-path=/var/lock/Nginx.lock --pid-path=/run/Nginx.pid --http-client-body-temp-path=/var/lib/Nginx/body --http-fastcgi-temp-path=/var/lib/Nginx/fastcgi --http-proxy-temp-path=/var/lib/Nginx/proxy --http-scgi-temp-path=/var/lib/Nginx/scgi --http-uwsgi-temp-path=/var/lib/Nginx/uwsgi --with-debug --with-pcre-jit --with-ipv6 --with-http_ssl_module --with-http_stub_status_module --with-http_realip_module --with-http_addition_module --with-http_dav_module --with-http_geoip_module --with-http_gzip_static_module --with-http_image_filter_module --with-http_spdy_module --with-http_sub_module --with-http_xslt_module --with-mail --with-mail_ssl_module

..和“bash -x Nginx restart”返回..

  1. + PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
  2. + DAEMON=/usr/sbin/Nginx
  3. + NAME=Nginx
  4. + DESC=Nginx
  5. + '[' -f /etc/default/Nginx ']'
  6. + . /etc/default/Nginx
  7. + test -x /usr/sbin/Nginx
  8. + set -e
  9. + . /lib/lsb/init-functions
  10. +++ run-parts --lsbsysinit --list /lib/lsb/init-functions.d
  11. ++ for hook in '$(run-parts --lsbsysinit --list /lib/lsb/init-functions.d 2>/dev/null)'
  12. ++ '[' -r /lib/lsb/init-functions.d/20-left-info-blocks ']'
  13. ++ . /lib/lsb/init-functions.d/20-left-info-blocks
  14. ++ for hook in '$(run-parts --lsbsysinit --list /lib/lsb/init-functions.d 2>/dev/null)'
  15. ++ '[' -r /lib/lsb/init-functions.d/50-ubuntu-logging ']'
  16. ++ . /lib/lsb/init-functions.d/50-ubuntu-logging
  17. +++ LOG_DAEMON_MSG=
  18. ++ FANCYTTY=
  19. ++ '[' -e /etc/lsb-base-logging.sh ']'
  20. ++ true
  21. + case "$1" in
  22. + echo -n 'Restarting Nginx: '
  23. Restarting Nginx: + start-stop-daemon --stop --quiet --pidfile /var/run/Nginx.pid --exec /usr/sbin/Nginx
  24. + sleep 1
  25. Nginx.
  26. + test_Nginx_config
  27. + /usr/sbin/Nginx -t
  28. + return 0
  29. + start-stop-daemon --start --quiet --pidfile /var/run/Nginx.pid --exec /usr/sbin/Nginx --

..然后什么也没有.

CONFIGS:

Nginx.conf

  1. # Generic startup file.
  2. user www-data developers;
  3. #ususally equal to number of cpu's you have. run command "grep processor /proc/cpuinfo | wc -l" to find it
  4. worker_processes auto;
  5. error_log /var/log/Nginx/error.log;
  6. pid /var/run/Nginx.pid;
  7. # Keeps the logs free of messages about not being able to bind().
  8. daemon off;
  9. events {
  10. worker_connections 1024;
  11. }
  12. http {
  13. # rewrite_log on;
  14. include mime.types;
  15. default_type application/octet-stream;
  16. access_log /var/log/Nginx/access.log;
  17. sendfile on;
  18. # tcp_nopush on;
  19. keepalive_timeout 3;
  20. # tcp_nodelay on;
  21. # gzip on;
  22. #PHP max upload limit cannot be larger than this
  23. client_max_body_size 13m;
  24. fastcgi_buffers 16 16k;
  25. fastcgi_buffer_size 32k;
  26. index index.PHP index.html index.htm;
  27. # Upstream to abstract backend connection(s) for PHP.
  28. upstream PHP {
  29. #this should match value of "listen" directive in PHP-fpm pool
  30. server unix:/var/run/PHP5-fpm.sock;
  31. }
  32. include sites-enabled/*;
  33. }

任何见解都将非常感激.

最佳答案
init脚本,特别是helper start-stop-daemon,默认情况下它开始将程序放在后台.但是,有人错误地改变了你的Nginx配置,以防止它这样做:

  1. # Keeps the logs free of messages about not being able to bind().
  2. daemon off;

应完全删除此部分.首先,Nginx应该是daemonizing.其次,如果出现关于无法绑定()的消息,那不是因为Nginx作为守护进程运行,这是因为当有人试图启动第二个副本时,Nginx已经在运行.

猜你在找的Nginx相关文章