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

嗨,我是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) 

这是有道理的,因为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"; } 

保存这个之后,再次尝试启动nginx,我仍然得到和以前一样的错误。 我真的不能find相关的post,有没有好的人可以点亮一下?

提前致谢 :)

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

我应该在这里发布所有的内容:

 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; } } 

基本上,除了添加服务器部分,我什么也没有改变。

你必须去/ etc / nginx / sites-enabled /,如果这是默认configuration,那么应该有一个名为“default”的文件。

编辑该文件,并把(如果你愿意把81作为你的端口nginx)

服务器{听81; }

启动服务器

sudo服务nginx启动

然后访问localhost:81

您将需要更改Apache或Nginx的configuration端口。 执行此操作后,需要使用所用的“服务”命令重新启动重新configuration的服务器。


阿帕奇

编辑

 sudo subl /etc/apache2/ports.conf 

把下面这行中的80改成不同的东西:

 Listen 80 

如果您只是在这里更改端口或添加更多的端口,您可能还需要更改其中的VirtualHost语句

 sudo subl /etc/apache2/sites-enabled/000-default.conf 

把下面这行中的80改成不同的东西:

 <VirtualHost *:80> 

然后重新启动:

 sudo service apache2 restart 

Nginx的

编辑

 /etc/nginx/sites-enabled/default 

并在以下行上更改80:

 listen 80; 

然后重新启动:

 sudo service nginx restart 

按照这个:打开你的configuration文件

 vi /etc/nginx/conf.d/default.conf 

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

 listen 81; server_name localhost; 

向iptables添加一个规则

  vi /etc/sysconfig/iptables -A INPUT -m state --state NEW -m tcp -p tcp --dport 81 -j ACCEPT 

重新启动IPtables

  service iptables restart; 

重新启动nginx服务器

 service nginx restart 

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