Я прочитал много инструкций со вчерашнего дня об этой проблеме, но все они имеют схожие шаги. Однако я последовал шаг за шагом, но все равно не могу получить все.python - Как развернуть Flask + Gunicorn + Nginx + supervisor на сервере облаков?
На самом деле я могу сделать Flask + Gunicorn + supervisor, но Nginx не работает.
Я подключаю свой удаленный сервер облаков с помощью SSH, и я не развертываю сайт на своем компьютере.
Nginx установлен правильно, потому что, когда я посещаю сайт через доменное имя (ака. example.com
), он показывает страницу приветствия Nginx.
Я использую supervisor
начать Gunicorn и конфигурация
[program:myapp]
command=/home/fh/test/venv/bin/gunicorn -w4 -b 0.0.0.0:8000 myapp:app
directory=/home/fh/test
startsecs=0
stopwaitsecs=0
autostart=false
autorestart=false
stdout_logfile=/home/fh/test/log/gunicorn.log
stderr_logfile=/home/fh/test/log/gunicorn.err
здесь я связываю сервера к порту и я на самом деле не знаю, что делает 0.0.0.0 стенд для, но я думаю, что это не означает localhost, потому что я могу посетить сайт через http://example.com:8000, и он работает хорошо.
Затем я попытался использовать Nginx в качестве прокси-сервера.
Я удален /etc/nginx/sites-available/default' and '/etc/nginx/sites-enabled/default/
и создано /etc/nginx/sites-available/test.com
и /etc/nginx/sites-enabled/test.com
и ссылки на них.
test.com
server {
server_name www.penguin-penpen.com;
rewrite^http://example/ permanent;
}
# Handle requests to example.com on port 80
server {
listen 80;
server_name example.com;
# Handle all locations
location/{
# Pass the request to Gunicorn
proxy_pass http://127.0.0.1:8000;
# Set some HTTP headers so that our app knows where the request really came from
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
}
В моем понимании, что делают Nginx, когда я посещаю http://example.com
он передает свой запрос на http://example.com:8000
.
Я не совсем уверен, что я должен использовать proxy_pass http://127.0.0.1:8000
здесь, потому что я не знаю, стоит ли Nginx передать запрос на LOCALHOST Но я пробовал изменить его 0.0.0.0:8000
, но она по-прежнему не работает.
Может ли кто-нибудь помочь?