nginx的alias和root的区别 - django 的STATIC_URL, STATIC_ROOT, STATICFILES_DIRS
1.alias虚拟目录配置下,访问http://www.colorgg.com/huan/a.html实际指定的是/home/www/huan/a.html
示例一 location /huan/ { alias /home/www/huan/; }
alias指定的目录后面必须要加上"/",即/home/www/huan/不能改成/home/www/huan
2.nginx就会去/home/www/huan下寻找http://www.colorgg.com/huan的访问资源,两者配置后的访问效果是一样的!
location /huan/ { root /home/www/; }
复制自:https://www.cnblogs.com/moon3/p/11095645.html
3.STATIC_URL, STATIC_ROOT, STATICFILES_DIRS
STATIC_URL = '/static/' STATIC_ROOT = os.path.join(BASE_DIR, 'static') STATICFILES_DIRS = ( os.path.join(BASE_DIR, 'static'), )
python manage.py collectstatic做了什么 Collects the static files into STATIC_ROOT. 翻译:把静态文件收集到 STATIC_ROOT中。 STATIC_URL的作用 URL to use when referring to static files located in STATIC_ROOT. Example: “/static/” or “http://www.example.com/static/” 翻译:STATIC_URL用于引用STATIC_ROOT所指向的静态文件。 参考: https://blog.csdn.net/weixin_36296538/article/details/83153070 STATIC_ROOT的作用: 当执行collectstatic命令时,会将静态文件拷贝到STATIC_ROOT所指定的目录,MEDIA_ROOT同理 nginx的 location /static/应该指向的是 STATIC_ROOT所在的目录 #以下不是必须的 STATICFILES_DIRS = ( os.path.join(BASE_DIR, 'static'), ) https://www.cnblogs.com/sanduzxcvbnm/p/13800959.html
4. nginx的配置[root@slave1 conf.d]# cat myserver.conf
server { listen 80; client_max_body_size 4G; server_name example.com 121.211.117.79 www.example.com; keepalive_timeout 5; access_log /var/log/nginx/access.log ; error_log /var/log/nginx/errors.log warn; location / { proxy_pass http://app_server1; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto $scheme; proxy_set_header Host $http_host; proxy_redirect off; } location /media { alias /opt/sudjango/nginxdjango/media; } location /static { alias /opt/sudjango/nginxdjango/static; } error_page 500 502 503 504 /500.html; location = /500.html { root /path/to/app/current/public; } }
5. upstream.conf
[root@slave1 conf.d]# cat wltupstream.conf upstream app_server1 { server 10.0.0.11:8000 ; sticky; } [root@slave1 conf.d]#
用一个例子来演示会更加清晰