Я слежу за руководство о работе Flask с nginx в Digital Ocean. После того, как я создал следующий файл конфигурации для nginx в / etc / sites-available / mysite:
server {
listen 80;
server_name your_domain www.your_domain;
location / {
include uwsgi_params;
uwsgi_pass unix:/home/user/myproject/myproject.sock;
}
}
(очевидно, заменил домен на мой домен и путь к сокету с моим сокетом), когда я запускаю sudo nginx -t -c /etc/nginx/sites-available/mysite
, Я получил
nginx: [emerg] "server" directive is not allowed here in /etc/nginx/sites-available/silaeder-projects:1
nginx: configuration file /etc/nginx/sites-available/silaeder-projects test failed
Я дважды проверил, правильно ли скопировал код. Что может пойти не так?
UPD:
Если я запускаю только sudo nginx -t, я не получаю никаких ошибок, но sudo systemctl restart nginx
не работает с:
Job for nginx.service failed because the control process exited with error code.
See "systemctl status nginx.service" and "journalctl -xe" 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 2018-11-27 11:33:49 UTC; 39s ago
Docs: man:nginx(8)
Process: 8485 ExecStart=/usr/sbin/nginx -g daemon on; master_process on; (code=exited, status=1/FAILURE)
Process: 8475 ExecStartPre=/usr/sbin/nginx -t -q -g daemon on; master_process on; (code=exited, status=0/SUCCESS)
journalctl -xe
не содержит актуальных по времени записей.
Файл конфигурации nginx содержит http
блок, который будет включать все файлы в / и т.д. / nginx / сайты-включен /. В руководстве предлагается создать файл в / и т.д. / nginx / сайты-доступные / а затем ссылку на него из / и т.д. / nginx / сайты-включен /.
Затем он предлагает вам проверить полный конфигурация с использованием sudo nginx -t пока вы только проверяете конфигурацию своего файла. Однако ваш файл - это лишь небольшой фрагмент полной конфигурации nginx, необходимой для работы nginx.
Убедитесь, что вы создали программную ссылку, а затем протестируете без указания файла конфигурации, чтобы он проверил полный доступ к файлу конфигурации из /etc/nginx.conf (или похожие).
Ошибка в разные файл, который nginx прочитал непосредственно перед этим. Проверьте другие файлы на сайтах на предмет отсутствия }
.