如何通过不同的端口(除了80)启动nginx

u5i3ibmn  于 2023-03-01  发布在  Nginx
关注(0)|答案(6)|浏览(287)

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

基本上,除了添加服务器部分外,我没有做任何更改。

hmmo2u0o

hmmo2u0o1#

您必须转到/etc/nginx/sites-enabled/,如果这是默认配置,则应该有一个文件名:default.
通过定义所需端口编辑该文件;在下面的代码片段中,我们在端口81上提供Nginx示例。

server {
    listen 81;
}

若要启动服务器,请运行下面的命令行;

sudo service nginx start

现在,您可以在端口81(对于localhost,为http://localhost:81)上访问应用程序。

w6mmgewl

w6mmgewl2#

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

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

重新启动IP表

service iptables restart;

重新启动nginx服务器

service nginx restart

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

8yparm6h

8yparm6h3#

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

    • Apache**

编辑

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
92vpleto

92vpleto4#

如果你是在Windows上,那么下面的端口相关的服务器设置存在于***〈nginx安装路径〉/conf***文件夹中的***nginx.conf***文件中。

server {
    listen       80;
    server_name  localhost;
....

更改端口号并重新启动示例。

8i9zcol2

8i9zcol25#

如果你在使用Docker时遇到这个问题,请确保Map正确的端口号。如果你在运行Docker时Map端口81:80(或通过docker-compose.yml),你的nginx必须监听端口80 * 而不是 * 81,因为Docker已经做了Map。
我自己也在这个问题上花了不少时间,所以希望它能对未来的谷歌人有所帮助。

oprakyz7

oprakyz76#

信息管理端口-a -t端口类型-p tcp

相关问题