Custom Query (2297 matches)
Results (55 - 57 of 2297)
Ticket | Resolution | Summary | Owner | Reporter |
---|---|---|---|---|
#753 | fixed | Nginx leaves UNIX domain sockets after SIGQUIT | ||
Description |
According to the Nginx documentation, SIGQUIT will cause a "graceful shutdown" while SIGTERM will cause a "fast shutdown". If you send SIGQUIT to Nginx, it will leave behind stale UNIX domain socket files that were created using the listen directive. If there are any stale UNIX domain socket files when Nginx starts up, it will fail to listen on the socket because it already exists. However if you use SIGTERM, the UNIX domain socket files will be properly removed. I've encountered this with Nginx 1.6.2, 1.6.3, and 1.8.0 on Ubuntu 14.04.
Example http { ## # Basic Settings ## sendfile on; tcp_nopush on; tcp_nodelay on; keepalive_timeout 65; types_hash_max_size 2048; include /etc/nginx/mime.types; default_type application/octet-stream; ## # Logging Settings ## access_log /var/log/nginx/access.log; error_log /var/log/nginx/error.log; ## # Gzip Settings ## gzip on; gzip_disable "msie6"; ## # Virtual Host Configs ## include /etc/nginx/sites-enabled/*; }
Example server { listen unix:/run/serve-files.socket; root /var/www/files; location / { try_files $uri =404; } } Then start Nginx: sudo nginx # OR sudo service nginx start
On first start, Then stop Nginx with SIGQUIT: sudo kill -SIGQUIT $(cat /run/nginx.pid) # OR sudo service nginx stop # Sends SIGQUIT
The socket at 2015/04/24 10:16:27 [emerg] 5782#0: bind() to unix:/run/serve-files.socket failed (98: Address already in use) 2015/04/24 10:16:27 [emerg] 5782#0: bind() to unix:/run/serve-files.socket failed (98: Address already in use) 2015/04/24 10:16:27 [emerg] 5782#0: bind() to unix:/run/serve-files.socket failed (98: Address already in use) 2015/04/24 10:16:27 [emerg] 5782#0: bind() to unix:/run/serve-files.socket failed (98: Address already in use) 2015/04/24 10:16:27 [emerg] 5782#0: bind() to unix:/run/serve-files.socket failed (98: Address already in use) 2015/04/24 10:16:27 [emerg] 5782#0: still could not bind() |
|||
#1000 | fixed | Domain-relative redirects doesn't work, they are absolute instead | ||
Description |
Nginx configuration: location = /xxx { return 301 /qwerty; } Expected result: GET http://localhost/xxx contains header Location: /qwerty Actual result: GET http://localhost/xxx contains header Location: http://localhost/querty This is a problem when nginx runs behind another reverse proxy, so that nginx doesn't know the correct public hostname/port to redirect to. See http://stackoverflow.com/questions/33523821/how-to-issue-a-relative-url-redirect-from-nginx for details. |
|||
#1512 | fixed | A confusion about code in function ngx_process_options | ||
Description |
in file src/core/nginx.c line 987-991 if (ngx_path_separator(*p)) { cycle->conf_prefix.len = p - ngx_cycle->conf_file.data + 1; cycle->conf_prefix.data = ngx_cycle->conf_file.data; break; } Although cycle and ngx_cycle may point to the same variable, if it is more clear to replace ngx_cycle by cycle? if (ngx_path_separator(*p)) { cycle->conf_prefix.len = p - cycle->conf_file.data + 1; cycle->conf_prefix.data = cycle->conf_file.data; break; } |