我在 ubuntu 20.04 上用 nginx 和 gunicorn 加载了一个 flask 应用程序 (appserver.py)。它在我的桌面上的 virtualbox VM 上运行。我可以通过运行以下命令在 ubuntu 上的终端会话中成功运行该应用程序:
gunicorn appserver
我尝试为该应用程序创建一个服务,以便它在启动时自动运行:
- 创建文件:
/etc/nginx/sites-enabled/appserver
server{
listen 8001;
server_name 192.168.68.105;
location / {
proxy_pass http://127.0.0.1:8000;
}
}
- 创建服务文件:
/etc/systemd/system/gunicorn.service
[Unit]
Description=Gunicorn service
After=network.target
[Service]
User=afshin
Group=www-data
WorkingDirectory=/var/www/appserver/appserver
ExecStart=/usr/bin/gunicorn --workers 3 --bind unix:__init__.sock m 007 __init__
sudo nginx -t
- 显示文件格式正确
sudo systemctl daemon-reload
sudo service gunicorn start
sudo service gunicorn status
- 显示服务处于活动状态
当我访问该网站时,网页上出现 502 Bad Gateway 错误。
- nginx 错误文件显示:
2021/07/11 20:38:41 [error] 3588#3588: *38 connect() failed (111: Connection refused) while connecting to upstream, client: 192.168.68.120, server: 192.168.68.105, request: "GET /favicon.ico HTTP/1.1", upstream: "http://127.0.0.1:8000/favicon.ico", host: "192.168.68.105:8001", referrer: "http://192.168.68.105:8001/"
我将应用服务器中所有文件的所有权设置为 www-data:www-data - 我已尝试对所有文件设置 777 权限以使其正常工作,但没有成功。
我究竟做错了什么?