加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 运营中心 > Nginx > 正文

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

发布时间:2020-12-13 20:55:58 所属栏目:Nginx 来源:网络整理
导读:我正在使用Nginx配置服务器,该服务器将子域重定向到远程服务器(在同一本地网络上)上的网站(使用Django制作).服务每个站点的内容都可以正常工作,但是服务静态和媒体文件(例如CSS)却很麻烦.这是配置文件的内容: server { listen 80; server_name myaddress.fr

我正在使用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应用程序以及用户上传文件的存储,以将其文件直接保存在代理上.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读