Ubuntu 18, конфликт между PM2 и NGinx (ошибочный адрес используется) - PullRequest
0 голосов
/ 08 марта 2020

Я запустил PM2, а затем, когда я запускаю команду nginx start. PM 2 начался без проблем, но когда я начинаю NGINX. Я всегда получаю эту ошибку.

nginx [26370]: nginx: [emerg] bind () до 0.0.0.0:80 не удалось (98: адрес уже используется) Это мой файл конфигурации

server {

    listen 80 default_server;
    listen [::]:80 ipv6only=on;


    # SSL configuration
    #
     listen 443 ssl;
    # listen [::]:443 ssl default_server;


    #
    # Note: You should disable gzip for SSL traffic.
    # See: https://bugs.debian.org/773332
    #
    # Read up on ssl_ciphers to ensure a secure configuration.
    # See: https://bugs.debian.org/765782
    #
    # Self signed certs generated by the ssl-cert package
    # Don't use them in a production server!
    #
    # include snippets/snakeoil.conf;

    #root /var/www/html;
    root /root/my-website;
    #app.js;
    index index.html index.htm index.nginx-debian.html app.js;

    server_name mywebsite.com;
    ssl_certificate /root/folder/mywebsite.com.chained.crt;
    ssl_certificate_key /root/folder/mywebsite.com.key;

    ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
    ssl_prefer_server_ciphers on;
    ssl_ciphers 'EECDH+AESGCM:EDH+AESGCM:AES256+EECDH:AES256+EDH';

    location / {
            # First attempt to serve request as file, then
            # as directory, then fall back to displaying a 404.
            proxy_pass    http://localhost:80;
            proxy_http_version 1.1;
            proxy_set_header Upgrade $http_upgrade;
            proxy_set_header Connection 'upgrade';
            proxy_set_header Host $host;
            proxy_cache_bypass $http_upgrade;
    }

    # pass PHP scripts to FastCGI server
    #
    #location ~ \.php$ {
    #       include snippets/fastcgi-php.conf;
    #
    #       # With php-fpm (or other unix sockets):
    #       fastcgi_pass unix:/var/run/php/php7.0-fpm.sock;
    #       # With php-cgi (or other tcp sockets):
    #       fastcgi_pass 127.0.0.1:9000;
    #}

1 Ответ

1 голос
/ 08 марта 2020
Рабочий порт

Nginx по умолчанию равен 80, как и любой другой веб-сервер. Порт, используемый приложением узла, не должен быть 80. Вы можете выбрать подходящие значения порта от 3000 до 50000. Я предлагаю 8080.

После этого запустите приложение узла с pm2, а затем измените раздел proxy_pass в конфигурация nginx.

proxy_pass http://localhost:<new_app_port>;

Кроме того, я бы не рекомендовал использовать proxy_pass таким способом. Вам было бы лучше использовать это, определяя upstrean. Вы можете масштабировать приложение для балансировки нагрузки и нескольких машин под одним адресом.

Nginx восходящий конфиг ref: http://nginx.org/en/docs/http/load_balancing.html

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...