Nginx

更改nginx的埠

  • March 7, 2013

我想在同一台機器上執行 apache 和 nginx。我配置了 apache 並在 80 埠上執行良好。現在我想在 7007 埠上配置 nginx。我在 nginx.conf 中進行了更改。這是 nginx.conf 文件-

user nginx root;
worker_processes  3;
worker_rlimit_nofile 200000;


error_log   /var/log/nginx/error.log;
#error_log  /var/log/nginx/error.log  notice;
#error_log  /var/log/nginx/error.log  info;

pid        /var/run/nginx.pid;


events {
   worker_connections  65535;
   use epoll;
}


http {
   include       /etc/nginx/mime.types;
   default_type  application/octet-stream;
       index index.php index.htm index.html;
   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;
   access_log off;

   sendfile        on;
   tcp_nopush      on;
  tcp_nodelay     on;
   server_tokens   off;
   gzip            on;
   gzip_static     on;
   gzip_comp_level 5;
   gzip_min_length 1024;
   keepalive_timeout  80 15;
 #  limit_conn_zone   $binary_remote_addr  zone=addr:10m;


   include /etc/nginx/conf.d/*.conf;

   server {
#        limit_conn addr 20000;

       listen       7007;
       server_name  _;




           root   /usr/share/nginx/html;
       location / {


       }

       error_page  404              /404.html;

       location = /404.html {
 }
       location /favicon.ico {
           empty_gif;
       }


       error_page   500 502 503 504  /50x.html;
       location = /50x.html {

       }

location ~ \.php$ {
           root           html;
           fastcgi_pass   127.0.0.1:9000;
           fastcgi_index  index.php;
           fastcgi_param  SCRIPT_FILENAME  /usr/share/nginx/html$fastcgi_script_name;
           include        fastcgi_params;
           fastcgi_connect_timeout 8m;
           fastcgi_send_timeout  8m;
       }

#        location ~ \.php$ {
#            root           /usr/share/nginx/html;
           #fastcgi_pass   localhost:9000;
#            fastcgi_pass   unix:/tmp/php.sock;
#            fastcgi_index  index.php;
           #fastcgi_param  SCRIPT_FILENAME  /scripts$fastcgi_script_name;
           #include        fastcgi_params;
#           fastcgi_send_timeout  8m;

#           fastcgi_connect_timeout 8m;
           #uwsgi_pass_request_body off;
#           include /etc/nginx/fastcgi.conf;
#       }

       location /status {
               stub_status on;
               access_log   off;
       #       allow ;
       #        allow 127.0.0.1;
       #        deny all;
       }

   }

}

當我啟動 Nginx 時,它顯示作業失敗。這是日誌。

Mar  7 15:55:12 localhost nginx[10973]: nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
Mar  7 15:55:12 localhost nginx[10973]: nginx: configuration file /etc/nginx/nginx.conf test is successful
Mar  7 15:55:12 localhost nginx[10975]: nginx: [emerg] bind() to 0.0.0.0:80 failed (98: Address already in use)
Mar  7 15:55:12 localhost nginx[10975]: nginx: [emerg] bind() to 0.0.0.0:80 failed (98: Address already in use)
Mar  7 15:55:13 localhost nginx[10975]: nginx: [emerg] bind() to 0.0.0.0:80 failed (98: Address already in use)
Mar  7 15:55:13 localhost nginx[10975]: nginx: [emerg] bind() to 0.0.0.0:80 failed (98: Address already in use)
Mar  7 15:55:14 localhost nginx[10975]: nginx: [emerg] bind() to 0.0.0.0:80 failed (98: Address already in use)
Mar  7 15:55:14 localhost nginx[10975]: nginx: [emerg] still could not bind()
Mar  7 15:55:14 localhost systemd[1]: nginx.service: control process exited, code=exited status=1
Mar  7 15:55:14 localhost systemd[1]: Unit nginx.service entered failed state.

為什麼它仍然用於埠 80 ?

  1. 確保在 /etc/nginx/sites-enabled 中沒有使用埠 80 的配置文件

2)嘗試停止然後啟動Nginx,而不是重新啟動它。有時,重新啟動可能是更改埠的問題。

引用自:https://serverfault.com/questions/485554