我有两个EC2实例。
我正在使用 Gunicorn 来部署Django。
另一个用于使用指向Gunicorn服务器的 Nginx 来处理请求。
现在通常我会运行 collectstatic ,静态文件的 Nginx配置就像:
server {
listen 80;
server_name server_domain_or_IP;
location /static/ {
# my static files directory
root /home/user/myproject;
}
# other locations here
}
当Nginx和Gunicorn都部署在同一台服务器上时,此配置很有效。
但在 Gunicorn服务器不同的情况下,我不知道如何路由我的静态文件请求。
要么有某种方法可以在Nginx服务器上收集我的静态文件,或者将我的请求路由到Gunicorn服务器。
我可以使用S3来托管我的静态文件,但这不是现在的选项。
答案 0 :(得分:0)
您需要将静态文件保存在运行Nginx的同一台服务器上。因此,最好的选择应该是在两台服务器上跟踪您的Django项目(也在两台服务器上运行collectstatic,尽管在Gunicorn服务器上运行它不是必需的)。因此,Nginx将继续从运行它的本地服务器上的Django静态文件提供静态文件,并将其请求转发给Gunicorn服务器。