我在 AWS 服务器中部署了一个简单的 Django 应用程序,并在 Nginx 中创建了一个配置文件,如下所示。但其静态文件未检测到。我的静态文件夹位置:/path/static。
此应用程序通过 URL HTTP://public_ip/static 检查静态文件,但我需要在 HTTP://public_ip/portal 这个 URL 中实现相同
server {
listen 80;
server_name 127.0.0.1;
location /portal {
include proxy_params;
proxy_pass http://localhost:8000/en;
}
}
答案1
您需要有以下server
配置:
server {
listen 80;
server_name 127.0.0.1;
location ~ /portal(?<djangouri>.*) {
alias /home/ubuntu/en/static;
try_files $uri $uri/ @django;
}
location @django {
include proxy_params;
proxy_pass http://localhost:8000/en$djangouri;
}
}
第一个location
块检查路径中是否存在文件,并提供该文件。如果不存在文件,则请求将传递给 django。