Aja*_*mac 6 linux ubuntu nginx uwsgi flask
更新:我看到了与 /tmp 目录相关的问题,还有一条评论提到将套接字移出 /home 以及。它没有解决问题。
(帖子底部的其他更新)
我在 azure 上有一个ubuntu 16.04 vm我正在使用uwsgi作为服务器和nginx作为反向代理来托管烧瓶应用程序,遵循本指南...
问题是当我尝试使用端口 80 上的 Web 浏览器连接到服务器的 ip 时,我收到了502 Bad Gateway。当我检查日志时,它说 nginx 找不到我在配置文件中指定的 unix 套接字.
错误是...
2016/08/29 23:23:20 [crit] 2792#2792: *120 connect() to unix:///home/me/appname/appname/appname.sock failed (2: No such file or directory) while connecting to upstream, client: ip.goes.in.here, server: here.goes.the.ip, request: "GET /favicon.ico HTTP/1.1", upstream: "uwsgi://unix:///home/me/appname/appname/appname.sock:", host: "the.ip.goes.here", referrer: "http://all.of.teh.ips/"
Run Code Online (Sandbox Code Playgroud)
我的服务器块看起来像这样......
server {
listen 80;
server_name ip.address.goes.here;
location / {
include uwsgi_params;
uwsgi_pass unix:/etc/appname.sock;
}
}
Run Code Online (Sandbox Code Playgroud)
我的app.ini文件看起来像这样...
[uwsgi]
module:wsgi:app
master = true
processes = 5
socket = /etc/appname.sock
chmod-socket = 660
vacuum = true
die-on-term = true
Run Code Online (Sandbox Code Playgroud)
我的.service文件看起来像这样......
[Unit]
Description=UWSGI instance to serve app
After=network.target
[Service]
User=me
Group=www-data
WorkingDirectory=/home/me/appname
ExecStart=/home/me/appnam/uwsgi --ini appname.ini
[Install]
WantedBy=multi-user.target
Run Code Online (Sandbox Code Playgroud)
我还有一个执行以下操作的设置脚本(可能会导致重复日志出现问题?)
sudo ufw allow 'Nginx Full'
export FLASK_APP=appname.py
export APPNAME_SETTINGS=app_settings.cfg
sudo cp service/appname.service /etc/systemd/system/appname.service
sudo cp nginxServerBlock/appname /etc/nginx/sites-available/
sudo ln -s /etc/nginx/sites-available/appname /etc/nginx/sites-enabled
sudo nginx -t #this tests for syntax errors
sudo systemctl start appname
sudo systemctl enable appname
Run Code Online (Sandbox Code Playgroud)
我在 unix 之后和 home 之前更改了斜杠的 #(现在等,目录已更改),以及我在各种指南中看到的其他一些不同的东西。
我试图通过更改 .ini 文件和服务器块中指定的位置来移动套接字,但错误完全没有改变,所以 nginx 似乎在同一目录中寻找套接字。
nginx 正在搜索以查找套接字的目录不在我的任何配置中。
[更新]我发现有重复的日志在var /日志/ nginx的目录,access.log的8份和error.log中的8份。我一直在每次更改后运行安装脚本(在使用 git 拉取更改后将文件移动到适当的位置)并根据运行后出现在终端中的说明使用守护进程重新加载(我不记得确切的名称)安装脚本......我的脚本中的某些东西会导致重复吗?有没有可能我偶然对不同的服务进行了一些奇怪的重复设置,每个服务都使用不同的日志文件对?
小智 0
修改为怎么样
uwsgi_pass unix:/home/me/appname/appname/appname.sock;
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
7768 次 |
| 最近记录: |