Art*_*sah 3 django webserver nginx
我正在使用 Nginx 配置服务器,将子域重定向到远程服务器(在同一本地网络上)上的网站(使用 Django 制作)。它可以很好地提供每个站点的内容,但我在提供静态和媒体文件(例如 css)时遇到麻烦。这是配置文件的内容:
server {
listen 80;
server_name myaddress.fr
location / {
proxy_pass http://192.168.0.85:8000;
}
}
Run Code Online (Sandbox Code Playgroud)
这是 Django 网站中 settings.py 的结尾(监听 192.168.0.85:8000):
STATIC_ROOT = os.path.join(BASE_DIR, "static")
STATIC_URL = '/static/'
MEDIA_ROOT = os.path.join(BASE_DIR, "media")
MEDIA_URL = '/media/'
Run Code Online (Sandbox Code Playgroud)
通常,当我的网站与 nginx 位于同一服务器上时,我只需将这些行添加到 nginx conf 文件中:
location /media/ {
alias /local/path/to/media/;
}
location /static/ {
alias /local/path/to/static/;
}
Run Code Online (Sandbox Code Playgroud)
我如何推广此配置以在远程服务器(此处为 192.168.0.85)上提供媒体和静态文件?我应该在远程计算机上安装另一个网络服务器吗?
在此先感谢您的帮助!
您需要某种方式提供显示这些文件的路线。
一种方法是在远程服务器上安装 nginx 并代理它,就像处理应用程序本身一样。
另一种选择,因为你说这都在同一个本地网络内。就是使用 NFS 之类的东西将静态目录挂载到代理服务器上,以便现有的 nginx 可以直接为它们提供服务。
类似的选项是配置 staticfiles 应用程序以及用户上传文件的存储,以将其文件直接保存在代理上。
| 归档时间: |
|
| 查看次数: |
1510 次 |
| 最近记录: |