使用Django和Nginx在远程服务器上提供静态文件和媒体文件

前端之家收集整理的这篇文章主要介绍了使用Django和Nginx在远程服务器上提供静态文件和媒体文件 前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

我正在使用Nginx配置服务器,该服务器将子域重定向到远程服务器(在同一本地网络上)上的网站(使用Django制作).服务每个站点内容都可以正常工作,但是服务静态和媒体文件(例如CSS)却很麻烦.这是配置文件内容

server {
            listen 80;
            server_name myaddress.fr

            location / {
                    proxy_pass              http://192.168.0.85:8000;
            }
}

这是Django网站(监听192.168.0.85:8000)中settings.py的结尾:

STATIC_ROOT = os.path.join(BASE_DIR,"static")
STATIC_URL = '/static/'


MEDIA_ROOT = os.path.join(BASE_DIR,"media")
MEDIA_URL = '/media/'

通常,当我的网站与Nginx在同一台服务器上时,我只需要将以下几行添加Nginx conf文件中:

location /media/  {
    alias /local/path/to/media/;
}

location /static/ {
    alias /local/path/to/static/;
}

如何将该配置概括化为在远程服务器(此处为192.168.0.85)上提供媒体和静态文件?我应该在远程计算机上安装另一个Web服务器吗?

在此先感谢您的帮助!

最佳答案
您需要某种方式来提供显示这些文件的路径.

一种方法是像在应用程序本身上一样在远程服务器上安装Nginx并对其进行代理.

一种替代方法,因为您说的都是同一个本地网络中的.将使用类似NFS的方法将静态目录挂载到代理服务器上,以便现有的Nginx可以直接为它们提供服务.

一个类似的选项是配置staticfiles应用程序以及用户上传文件的存储,以将其文件直接保存在代理上.

原文链接:https://www.f2er.com/nginx/532336.html

猜你在找的Nginx相关文章