Не удается перезапустить nginx, я думаю, что-то с портом 80?

Я следую руководству по фляге Кори Шафера.

Я пытаюсь выполнить развертывание на сервере Linux, но не могу заставить работать nginx.

Это команды, которые я запускал до сих пор:

sudo apt install nginx

pip install gunicorn

sudo rm /etc/nginx/sites-enabled/default

Затем я попытался создать и отредактировать новый файл:

sudo nano /etc/nginx/sites-enabled/flaskblog

Вот что я ввожу в этот файл:

server {
    listen 80;
    server_name DOMAIN_IP;

    location /static {
        alias /Users/myname/VScode/Flask_Blog/flaskblog/static;
    }

    location / {
        proxy_pass http://localhost:8000;
        include /etc/nginx/proxy_params;
        proxy_redirect off;
    }
}

затем я бегу

sudo nano ufw allow http/tcp

sudo ufw delete allow 5000

sudo ufw enable

Затем, когда я пытаюсь перезапустить nginx, я получаю отказ

sudo systemctl restart nginx

Производит

Job for nginx.service failed because the control process exited with error code.
See "systemctl status nginx.service" and "journalctl -xeu nginx.service" for details.

systemctl status nginx.service

Производит:

    nginx.service - A high performance web server and a reverse proxy server
         Loaded: loaded (/lib/systemd/system/nginx.service; enabled; vendor preset: enabled)
         Active: failed (Result: exit-code) since Tue 2022-05-31 06:33:22 UTC; 4min 6s ago
           Docs: man:nginx(8)
        Process: 62279 ExecStartPre=/usr/sbin/nginx -t -q -g daemon on; master_process on; (code=exited, status=0/SUCC>
        Process: 62280 ExecStart=/usr/sbin/nginx -g daemon on; master_process on; (code=exited, status=1/FAILURE)

sudo systemctl status nginx

Produces:

    nginx.service - A high performance web server and a reverse proxy server
     Loaded: loaded (/lib/systemd/system/nginx.service; enabled; vendor preset: enabled)
     Active: failed (Result: exit-code) since Wed 2022-06-01 09:41:07 UTC; 2min 5s ago
       Docs: man:nginx(8)
    Process: 66304 ExecStartPre=/usr/sbin/nginx -t -q -g daemon on; master_process on; (code=exited, status=1/FAILURE)
        CPU: 11ms

Jun 01 09:41:07 flask-server systemd[1]: Starting A high performance web server and a reverse proxy server...
Jun 01 09:41:07 flask-server nginx[66304]: nginx: [emerg] unknown directive "/Users/charleserrington/VScode/Flask_Blog/flaskblog" in /etc/nginx/sites-enabled/flaskblog:6
Jun 01 09:41:07 flask-server nginx[66304]: nginx: configuration file /etc/nginx/nginx.conf test failed
Jun 01 09:41:07 flask-server systemd[1]: nginx.service: Control process exited, code=exited, status=1/FAILURE
Jun 01 09:41:07 flask-server systemd[1]: nginx.service: Failed with result 'exit-code'.
Jun 01 09:41:07 flask-server systemd[1]: Failed to start A high performance web server and a reverse proxy server.

sudo nano /var/log/nginx/error.log

Производит:

2022/05/31 05:54:02 [emerg] 61717#61717: bind() to 0.0.0.0:80 failed (98: Unknown error)
2022/05/31 05:54:02 [emerg] 61717#61717: bind() to [::]:80 failed (98: Unknown error)
2022/05/31 05:54:02 [emerg] 61717#61717: bind() to 0.0.0.0:80 failed (98: Unknown error)
2022/05/31 05:54:02 [emerg] 61717#61717: bind() to [::]:80 failed (98: Unknown error)
2022/05/31 05:54:02 [emerg] 61717#61717: bind() to 0.0.0.0:80 failed (98: Unknown error)
2022/05/31 05:54:02 [emerg] 61717#61717: bind() to [::]:80 failed (98: Unknown error)
2022/05/31 05:54:02 [emerg] 61717#61717: bind() to 0.0.0.0:80 failed (98: Unknown error)
2022/05/31 05:54:02 [emerg] 61717#61717: bind() to [::]:80 failed (98: Unknown error)
2022/05/31 05:54:02 [emerg] 61717#61717: bind() to 0.0.0.0:80 failed (98: Unknown error)
2022/05/31 05:54:02 [emerg] 61717#61717: bind() to [::]:80 failed (98: Unknown error)
2022/05/31 05:54:02 [emerg] 61717#61717: still could not bind()
2022/05/31 06:06:31 [emerg] 62174#62174: bind() to 0.0.0.0:80 failed (98: Unknown error)
2022/05/31 06:06:31 [emerg] 62174#62174: bind() to 0.0.0.0:80 failed (98: Unknown error)
2022/05/31 06:06:31 [emerg] 62174#62174: bind() to 0.0.0.0:80 failed (98: Unknown error)
2022/05/31 06:06:31 [emerg] 62174#62174: bind() to 0.0.0.0:80 failed (98: Unknown error)
2022/05/31 06:06:31 [emerg] 62174#62174: bind() to 0.0.0.0:80 failed (98: Unknown error)
2022/05/31 06:06:31 [emerg] 62174#62174: still could not bind()
2022/05/31 06:10:15 [emerg] 62189#62189: bind() to 0.0.0.0:80 failed (98: Unknown error)
2022/05/31 06:10:15 [emerg] 62189#62189: bind() to 0.0.0.0:80 failed (98: Unknown error)
2022/05/31 06:10:15 [emerg] 62189#62189: bind() to 0.0.0.0:80 failed (98: Unknown error)
2022/05/31 06:10:15 [emerg] 62189#62189: bind() to 0.0.0.0:80 failed (98: Unknown error)
2022/05/31 06:10:15 [emerg] 62189#62189: bind() to 0.0.0.0:80 failed (98: Unknown error)
2022/05/31 06:10:15 [emerg] 62189#62189: still could not bind()
2022/05/31 06:23:31 [emerg] 62221#62221: bind() to 0.0.0.0:80 failed (98: Unknown error)
2022/05/31 06:23:31 [emerg] 62221#62221: bind() to 0.0.0.0:80 failed (98: Unknown error)
2022/05/31 06:23:31 [emerg] 62221#62221: bind() to 0.0.0.0:80 failed (98: Unknown error)
2022/05/31 06:23:31 [emerg] 62221#62221: bind() to 0.0.0.0:80 failed (98: Unknown error)
2022/05/31 06:23:31 [emerg] 62221#62221: bind() to 0.0.0.0:80 failed (98: Unknown error)
2022/05/31 06:23:31 [emerg] 62221#62221: still could not bind()
2022/05/31 06:33:20 [emerg] 62280#62280: bind() to 0.0.0.0:80 failed (98: Unknown error)
2022/05/31 06:33:20 [emerg] 62280#62280: bind() to 0.0.0.0:80 failed (98: Unknown error)
2022/05/31 06:33:20 [emerg] 62280#62280: bind() to 0.0.0.0:80 failed (98: Unknown error)
2022/05/31 06:33:20 [emerg] 62280#62280: bind() to 0.0.0.0:80 failed (98: Unknown error)
2022/05/31 06:33:20 [emerg] 62280#62280: bind() to 0.0.0.0:80 failed (98: Unknown error)
2022/05/31 06:33:20 [emerg] 62280#62280: still could not bind()
2022/06/01 05:54:41 [emerg] 65391#65391: bind() to 0.0.0.0:80 failed (98: Unknown error)

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

Я прочитал много сообщений о сбоях сервера и переполнении стека, и мне показалось, что это как-то связано с портом 80, я выполнил многие из рекомендованных команд, в том числе:

netstat -tnlp | grep -w 80
netstat -ano|grep 80|grep LISTEN
sudo netstat -lnp
sudo lsof -i :80
kill -9 65734 (i didn't have permission to run this)
netstat -tulpn
grep -rnw /etc/nginx/ -e '80'

И одна из этих команд заставила его работать и позволила мне перезапустить nginx и получить доступ к веб-сайту, но я не знаю, который, и теперь он снова сломан, но в прошлый раз это выглядело так, как будто что-то было на порту 80, но теперь, когда я запускаю проверяет, нет ли ничего в порту 80, кажется, поэтому я еще больше потерялся, чем раньше.

РЕДАКТИРОВАТЬ:

Как указал Ник Андриопулос, проблема, по-видимому, вызвана

location /static {
    alias /Users/myname/VScode/Flask_Blog/flaskblog/static;
}

я изменил это на

location /static {
    root /Users/myname/VScode/Flask_Blog/flaskblog/;
}

Как только я это сделал, я смог перезапустить nginx, и теперь сайт работает, но теперь nginx не может найти статический файл.

Я проверил журнал ошибок и вижу несколько строк такого рода:

   2022/06/03 06:09:42 [error] 71064#71064: *1 open() "/Users/myname/VScode/Flask_Blog/flaskblog/static/main.css" failed (2: No such file or directory), client: 217.146.83.247, server: IP, request: "GET /static/main.css HTTP/1.1", host: "IP", referrer: "http://IP/"
2022/06/03 06:09:42 [error] 71064#71064: *1 open() "/Users/myname/VScode/Flask_Blog/flaskblog/static/profile_pics/271fcf0ffe2a92aa.jpg" failed (2: No such file or directory), client: 217.146.83.247, server: IP, request: "GET /static/profile_pics/271fcf0ffe2a92aa.jpg HTTP/1.1", host: "IP", referrer: "http://IP/"
2022/06/03 06:09:42 [error] 71064#71064: *4 open() "/Users/myname/VScode/Flask_Blog/flaskblog/static/profile_pics/default.jpg" failed (2: No such file or directory), client: 217.146.83.247, server: IP, request: "GET /static/profile_pics/default.jpg HTTP/1.1", host: "IP", referrer: "http://IP/"
2022/06/03 06:09:45 [error] 71064#71064: *4 open() "/Users/myname/VScode/Flask_Blog/flaskblog/static/main.css" failed (2: No such file or directory), client: 217.146.83.247, server: IP, request: "GET /static/main.css HTTP/1.1", host: "IP", referrer: "http://IP/home"

Таким образом, nginx не может найти/доступ к указанному мной пути.

Однако это правильный путь, если я выполню «Перейти к папке» на своем Mac и вставлю все файлы и папки, которые там есть. Спасибо за любую помощь.

колба nginx ubuntu

acodeaday

2 ответа
2

Из вашего вывода кажется, что проблема связана с вашей пользовательской конфигурацией:

sudo systemctl status nginx:

Jun 01 09:41:07 flask-server nginx[66304]: nginx: [emerg] unknown directive "/Users/charleserrington/VScode/Flask_Blog/flaskblog" in /etc/nginx/sites-enabled/flaskblog:6
Jun 01 09:41:07 flask-server nginx[66304]: nginx: configuration file /etc/nginx/nginx.conf test failed
Jun 01 09:41:07 flask-server systemd[1]: nginx.service: Control process exited, code=exited, status=1/FAILURE

Эти ошибки означают, что строка

    location /static {
        alias /Users/myname/VScode/Flask_Blog/flaskblog/static;
    }

Скорее всего виноват в том, что сервер не запускается. Журналы привязки приходят после этого.

Подтвердите, что указанный выше путь ( /Users/myname/VScode/Flask_Blog/flaskblog/static существует и доступен процессу nginx.

Ник Андриопулос

Я думаю, что порт 80 работает под веб-сервером Apache. Вы не можете запускать два веб-сервера одновременно.

Аджит Редриго

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *