Как запустить nginx через другой порт (кроме 80) - программирование
Подтвердить что ты не робот

Как запустить 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, я по-прежнему получаю ту же ошибку, что и ранее. Я не могу найти соответствующую статью об этом, могут ли хорошие люди рассеять какой-то свет?

Заранее спасибо:)

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

Я должен опубликовать все содержимое в 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;
     }
 }

В принципе, я ничего не изменил, кроме добавления серверной части.

4b9b3361

Ответ 1

Вы должны перейти в /etc/nginx/sites-enabled/ и если это конфигурация по умолчанию, тогда должен быть файл: default.

Отредактируйте этот файл, указав желаемый порт; в приведенном ниже фрагменте мы обслуживаем экземпляр Nginx через порт 81.

server {
    listen 81;
}

Чтобы запустить сервер, запустите командную строку ниже;

sudo service nginx start

Теперь вы можете получить доступ к своему приложению через порт 81 (для localhost, http://localhost: 81).

Ответ 2

Вам нужно будет изменить порт конфигурации либо 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

Ответ 3

Следуйте этому: Откройте файл конфигурации

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

Доступ к серверным файлам yr nginx на порту 81

Ответ 4

Если вы работаете в Windows, то ниже параметры сервера, связанные с портом, присутствуют в файле nginx.conf в папке <путь установки nginx>/conf.

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

Измените номер порта и перезапустите экземпляр.