Django 静态文件部署
Django 部署配置
settings.py
文件配置:
STATIC_URL = "/static/"
STATIC_ROOT = os.path.join(BASE_DIR,"static")
urls.py
文件配置:
from django.conf.urls.static import static
from django.conf import settings
urlpatterns = [
...
] + static(settings.STATIC_URL, document_root=settings.STATIC_ROOT)
静态文件生成指令运行:
python3 manage.py collectstatic
nginx 配置文件添加以下代码:
location /static {
alias [静态文件所在路径];
expires 30d;
add_header Cache-Control private;
}
虚拟域名方式本地部署测试
nginx 配置文件配置:
server {
listen 80;
server_name [虚拟域名。例如 bitcoin.admin];
#charset UTF-8;
access_log /var/log/nginx/[项目名 + _ access].log;
error_log /var/log/nginx/[项目名 + _error].log;
client_max_body_size 75M;
location / {
include uwsgi_params;
uwsgi_pass [uwsgi 配置地址];
uwsgi_read_timeout 120s;
uwsgi_send_timeout 120s;
if ( $request_method !~ ^(GET|POST|HEAD)$ ) {
return 405;
}
}
}
本地 hosts 文件 sudo vim /etc/hosts
(Mac 编辑方式) 添加以下:
[服务器 IP] [虚拟域名]
方法论
- 大版本升级需要备份全部的数据。