安裝nginx配置問題
阿新 • • 發佈:2019-01-09
之前按騰訊雲的教程 在 /etc/nginx/conf.d/default.conf 修改配置後,啟動nginx時報錯:
nginx: [emerg] a duplicate default server for 0.0.0.0:80 in /etc/nginx/nginx.conf:39
然後我修改了/etc/nginx/nginx.conf配置為
# For more information on configuration, see: # * Official English Documentation: http://nginx.org/en/docs/ # * Official Russian Documentation: http://nginx.org/ru/docs/ user nginx; worker_processes auto; error_log /var/log/nginx/error.log; pid /var/run/nginx.pid; # Load dynamic modules. See /usr/share/nginx/README.dynamic. include /usr/share/nginx/modules/*.conf; events { worker_connections 1024; } http { log_format main '$remote_addr - $remote_user [$time_local] "$request" ' '$status $body_bytes_sent "$http_referer" ' '"$http_user_agent" "$http_x_forwarded_for"'; access_log /var/log/nginx/access.log main; 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; # Load modular configuration files from the /etc/nginx/conf.d directory. # See http://nginx.org/en/docs/ngx_core_module.html#include # for more information. include /etc/nginx/conf.d/*.conf; }
然後啟動nginx服務,如果提示
nginx: [emerg] bind() to [::]:80 failed (98: Address already in use)
nginx: [emerg] bind() to [::]:80 failed (98: Address already in use)
nginx: [emerg] still could not bind()
那麼就是80埠有服務佔用了,那就找到80端口占用的程序殺掉即可。
檢視80埠的程序命令:
lsof -i :80
當時我顯示的是
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME nginx 3905 root 6u IPv4 2561830 0t0 TCP *:http (LISTEN) nginx 3905 root 7u IPv6 2561831 0t0 TCP *:http (LISTEN) nginx 3906 nginx 6u IPv4 2561830 0t0 TCP *:http (LISTEN) nginx 3906 nginx 7u IPv6 2561831 0t0 TCP *:http (LISTEN)
所以大概是因為我重複開了nginx,你想重新開就殺掉這幾個程序就行,使用命令
kill -9 3905
kill -9 3906
就是kill -9 加上程序號(PID)
OK,重新開啟nginx
成功!