【发布时间】:2020-05-21 13:10:04
【问题描述】:
我是 Nginx 的新手,我正在使用它通过以下方式配置我的网站:
请求http://xx.xx.xx.xx/ -> Nginx 应该提供来自 /var/www/html 目录的静态 html 文件
请求http://xx.xx.xx.xx/project-name/ -> Nginx 应该通过 WSGI(使用 UNIX 套接字)调用 Python Flask 应用程序
这是我的 /etc/nginx/sites-available/project-name 文件:
server {
listen 80:
server_name xx.xx.xx.xx;
root /var/www/html;
location / {
try_files $uri $uri/ =404;
}
location /project-name/ {
include wsgi_params;
uwsgi_pass unix:/home/user-name/project-name/project-name.sock
}
}
当我在浏览器中输入http://xx.xx.xx.xx 时,我会看到默认的 Nginx 页面。但是如果我在浏览器中输入http://xx.xx.xx.xx/project-name/,我会得到一个 404 (Requested URL not found) 错误。
现在的问题是,如果我将“位置 /”指向 Flask 应用程序,如下所示,那么 Flask 应用程序工作正常并返回正确的页面(但 http://xx.xx.xx.xx 调用 Flask 应用程序,我无法提供服务直接来自 Nginx 的静态 html 文件):
server {
listen 80:
server_name xx.xx.xx.xx;
location / {
include wsgi_params;
uwsgi_pass unix:/home/user-name/project-name/project-name.sock
}
}
我错过了一些简单的东西吗?
【问题讨论】: