嗨,我是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后,我仍然得到和以前一样的错误。我真的找不到关于这个的相关帖子,有没有好人能粉碎一些光明?
我应该在这里发布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;
}
}
基本上,除了添加服务器部分外,我没有做任何更改。
6条答案
按热度按时间hmmo2u0o1#
您必须转到
/etc/nginx/sites-enabled/
,如果这是默认配置,则应该有一个文件名:default
.通过定义所需端口编辑该文件;在下面的代码片段中,我们在端口81上提供Nginx示例。
若要启动服务器,请运行下面的命令行;
现在,您可以在端口81(对于localhost,为http://localhost:81)上访问应用程序。
w6mmgewl2#
请遵循以下步骤:打开配置文件
更改您正在侦听的端口号;
向iptables添加规则
重新启动IP表
重新启动nginx服务器
访问端口81上的nginx服务器文件
8yparm6h3#
您需要更改Apache或Nginx的配置端口。完成此操作后,您需要使用"service"命令重新启动重新配置的服务器。
编辑
并将下面一行中的80更改为其他内容:
如果您只是在此处更改端口或添加更多端口,则可能还必须更改中的VirtualHost语句
并将下面一行中的80更改为其他内容:
然后通过以下方式重新启动:
编辑
并将以下行中的80更改为:
然后通过以下方式重新启动:
92vpleto4#
如果你是在Windows上,那么下面的端口相关的服务器设置存在于***〈nginx安装路径〉/conf***文件夹中的***nginx.conf***文件中。
更改端口号并重新启动示例。
8i9zcol25#
如果你在使用Docker时遇到这个问题,请确保Map正确的端口号。如果你在运行Docker时Map端口81:80(或通过docker-compose.yml),你的nginx必须监听端口80 * 而不是 * 81,因为Docker已经做了Map。
我自己也在这个问题上花了不少时间,所以希望它能对未来的谷歌人有所帮助。
oprakyz76#
信息管理端口-a -t端口类型-p tcp