簡體   English   中英

Nginx提供Django靜態文件嗎?

[英]Nginx serve Django static files?

我有兩個EC2實例。

我正在使用Gunicorn部署Django。

另一個用於使用Nginx服務,該服務指向Gunicorn服務器。

現在通常我將運行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托管我的靜態文件,但是到目前為止,這不是一個選項。

您需要將靜態文件保存在運行Nginx的同一服務器上。 因此,最好的選擇應該是在兩個服務器上都跟蹤您的Django項目(也可以在兩個服務器上同時運行collectstatic,盡管沒有必要在Gunicorn服務器上運行它)。 因此,Nginx將繼續在其運行的本地服務器上從Django靜態文件中提供靜態文件,對於其他請求,它將轉發請求到Gunicorn服務器。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM