如何通过不同的端口(80以外)启动nginx

Zha*_*eng 120 ubuntu nginx

嗨我是nginx上的新手,我试图在我的服务器上运行它(运行Ubuntu 4),它已经运行了apache.

所以在我apt-get install之后,我尝试启动nginx.然后我收到这样的消息:

Starting nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
configuration file /etc/nginx/nginx.conf test is successful
[emerg]: bind() to 0.0.0.0:80 failed (98: Address already in use)
[emerg]: bind() to 0.0.0.0:80 failed (98: Address already in use)
[emerg]: bind() to 0.0.0.0:80 failed (98: Address already in use)
[emerg]: bind() to 0.0.0.0:80 failed (98: Address already in use)
[emerg]: bind() to 0.0.0.0:80 failed (98: Address already in use)
Run Code Online (Sandbox Code Playgroud)

这是有意义的,因为Apache正在使用端口80.

然后我试着修改nginx.conf,我引用了一些文章,所以我改变了它:

   server {

        listen       8080;

        location / {
         proxy_pass  http://xx.xx.xx.xx:9500;
         proxy_set_header   Host             $host:8080;
         proxy_set_header   X-Real-IP        $remote_addr;
         proxy_set_header   X-Forwarded-For  $proxy_add_x_forwarded_for;
         proxy_set_header Via    "nginx";
        }
Run Code Online (Sandbox Code Playgroud)

保存这个并尝试再次启动nginx后,我仍然得到与以前相同的错误.我真的找不到关于这个的相关帖子,任何好人都可以粉碎一些光吗?

提前致谢 :)

================================================== =======================

我应该在conf中发布所有内容:

user www-data;
worker_processes  1;

error_log  /var/log/nginx/error.log;
pid        /var/run/nginx.pid;

events {
    worker_connections  1024;
    # multi_accept on;
}

http {
    include       /etc/nginx/mime.types;

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

    sendfile        on;
    #tcp_nopush     on;

    #keepalive_timeout  0;
    keepalive_timeout  65;
    tcp_nodelay        on;

    gzip  on;
    gzip_disable "MSIE [1-6]\.(?!.*SV1)";

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

   server {

        listen       81;

        location / {
         proxy_pass  http://94.143.9.34:9500;
         proxy_set_header   Host             $host:81;
         proxy_set_header   X-Real-IP        $remote_addr;
         proxy_set_header   X-Forwarded-For  $proxy_add_x_forwarded_for;
         proxy_set_header Via    "nginx";
        }


    }
}

 mail {
      See sample authentication script at:
      http://wiki.nginx.org/NginxImapAuthenticateWithApachePhpScript

      auth_http localhost/auth.php;
      pop3_capabilities "TOP" "USER";
      imap_capabilities "IMAP4rev1" "UIDPLUS";

     server {
         listen     localhost:110;
         protocol   pop3;
         proxy      on;
     }

     server {
         listen     localhost:143;
         protocol   imap;
         proxy      on;
     }
 }
Run Code Online (Sandbox Code Playgroud)

基本上,除了添加服务器部分外,我什么都没改变.

Cha*_*nda 166

你必须转到/ etc/nginx/sites-enabled /,如果这是默认配置,那么应该有一个名为"default"的文件.

编辑该文件并放入(如果您愿意将81作为nginx的端口)

服务器{listen 81; }

启动服务器

sudo服务nginx开始

然后访问localhost:81

  • 尝试使用81端口时,我在chrome中遇到错误:"此网页不可用ERR_CONNECTION_TIMED_OUT",但有80个效果很好. (2认同)

Mar*_*erg 23

您需要更改Apache或Nginx的配置端口.执行此操作后,您需要使用您使用的"service"命令重新启动重新配置的服务器.


阿帕奇

编辑

sudo subl /etc/apache2/ports.conf 
Run Code Online (Sandbox Code Playgroud)

并将以下行中的80更改为不同的内容:

Listen 80
Run Code Online (Sandbox Code Playgroud)

如果您只是更改端口或在此处添加更多端口,则可能还需要更改VirtualHost语句

sudo subl /etc/apache2/sites-enabled/000-default.conf
Run Code Online (Sandbox Code Playgroud)

并将以下行中的80更改为不同的内容:

<VirtualHost *:80>
Run Code Online (Sandbox Code Playgroud)

然后重启:

sudo service apache2 restart
Run Code Online (Sandbox Code Playgroud)

Nginx的

编辑

/etc/nginx/sites-enabled/default
Run Code Online (Sandbox Code Playgroud)

并更改以下行中的80:

listen 80;
Run Code Online (Sandbox Code Playgroud)

然后重启:

sudo service nginx restart
Run Code Online (Sandbox Code Playgroud)


小智 19

请遵循以下步骤:打开配置文件

vi /etc/nginx/conf.d/default.conf
Run Code Online (Sandbox Code Playgroud)

更改您正在收听的端口号;

listen       81;
server_name  localhost;
Run Code Online (Sandbox Code Playgroud)

向iptables添加规则

 vi /etc/sysconfig/iptables 
-A INPUT -m state --state NEW -m tcp -p tcp --dport 81 -j ACCEPT
Run Code Online (Sandbox Code Playgroud)

重启IPtables

 service iptables restart;
Run Code Online (Sandbox Code Playgroud)

重启nginx服务器

service nginx restart
Run Code Online (Sandbox Code Playgroud)

访问端口81上的nginx服务器文件