Nginx为同一域下的多个flask应用程序提供了404
我正在尝试在同一个域上运行flask web应用程序和flask restful api。Nginx为同一域下的多个flask应用程序提供了404,flask,uwsgi,flask-restful,nginx-config,Flask,Uwsgi,Flask Restful,Nginx Config,我正在尝试在同一个域上运行flask web应用程序和flask restful api。 它们单独运行时运行良好。 我没有使用venv 然而,当我试图在同一个域下运行它们时,Nginx抛出一个错误-404,notfound。另外,localhost/运行web应用程序时没有错误,但是localhost/web和localhost/rest给出了404 request.url打印http://localhost/web和http://localhost/rest但请求似乎没有发送到负责“/res
它们单独运行时运行良好。
我没有使用
venv
然而,当我试图在同一个域下运行它们时,Nginx抛出一个错误-404,notfound。另外,localhost/
运行web应用程序时没有错误,但是localhost/web
和localhost/rest
给出了404
request.url
打印http://localhost/web
和http://localhost/rest
但请求似乎没有发送到负责“/rest”的flask服务器,因为第二台服务器(restful api)没有记录任何数据。所有记录的数据仅适用于第一台服务器(web应用程序)
任何建议都会有帮助。我忘记重新启动nginx-
sudo/etc/init.d/nginx restart
。现在运行得很好。这是一个有用的配置设置。。。即使这是一个糟糕的问题;)
#Nginx.conf:
server {
listen 80;
server_name localhost;
location /web {
include uwsgi_params;
uwsgi_pass unix:/var/www/webproject/web_uwsgi.sock;
}
location /api {
include uwsgi_params;
uwsgi_pass unix:/var/www/restproject/rest_api_uwsgi.sock;
}
}
#webproject.ini #restproject.ini
[uwsgi] [uwsgi]
vhost = true vhost = true
project = webproject project = restproject
base = /var/www/ base = /var/www/
chdir = %(base)%(project) chdir = %(base)%(project)
wsgi-file = run.py wsgi-file = api.py
callable = app callable = ap
mount = /webproject = app mount = /restproject = ap
manage-script-name = true manage-script-name = true
plugins = python plugins = python
socket = /var/www/webproject/%n. socksocket = /var/www/restproject/%n.sock
chmod-socket = 666 chmod-socket = 666
logto = /var/log/uwsgi/%n.log logto = /var/log/uwsgi/%n.log