我有一个烧瓶应用程序运行gunicorn -w 1 -b 0.0.0.0:8000 flaskapp:app与下面的nginx配置。但是,我怎么知道nginx是否真的在为静态文件提供服务呢?我尝试将alias /home/pi/Public/flaskapp/static/;更改为.../static-testing/;,只是在那里放了一个占位符style.css,但页面似乎像以前一样加载。
server {
listen 5000;
server_name _;
location / {
proxy_pass http://127.0.0.0.1:8000;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
}
location /static {
alias /home/pi/Public/flaskapp/static/;
}
}我是不是漏掉了什么明显的东西?是否必须在flask的路由中指定某些内容?
发布于 2017-03-11 15:29:58
所以我最终正确地配置了nginx。我添加了root并删除了static的硬路径,还添加了日志文件,这些日志文件清楚地显示静态和css是从nginx加载的!我还将侦听端口更改为80 (令人惊讶)。
server {
listen 80;
server_name myapp.com;
root /home/pi/Public/myapp;
access_log /home/pi/Public/myapp/logs/nginx-access.log;
error_log /home/pi/Public/myapp/logs/nginx-error.log;
location / {
proxy_pass http://127.0.0.1:8000;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
}
location /static/ { }
location /uploads/ { }
}发布于 2017-03-08 04:27:40
您可能可以使用/static/位置中提到的空路径来测试这一点。
server {
listen 5000;
server_name _;
location /static/ {
}
location / {
proxy_pass http://127.0.0.0.1:8000;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
}}
这将给出404错误,因此您可以验证文件是否由Nginx提供服务。
发布于 2017-03-08 07:48:55
我认为最简单的方法是将一些上游变量记录到访问日志中。
http://nginx.org/en/docs/http/ngx
您应该将其添加到您的nginx conf的http块中
upstream backend {
server 127.0.0.0.1:8000;
}然后将proxy_pass更改为http://backend;
现在添加
log_format upstream '$upstream_bytes_received $upstream_response_time';
access_log /var/log/nginx-upstream upstream;添加到您的服务器块并重新启动nginx。当nginx没有请求上行时,你会看到'-‘。
文档:http://nginx.org/en/docs/http/ngx & http://nginx.org/en/docs/http/ngx
https://stackoverflow.com/questions/42656415
复制相似问题