django+nginx环境部署
一 环境介绍
python:3.7.2
django:2.1.7
nginx:1.5.5
项目名:proj_foo
创新互联在网站设计、网站制作、app软件定制开发、网站运营等方面均有出色的表现,凭借多年丰富的经验,我们会仔细了解各客户的需求而做出多方面的分析、设计、整合,为客户设计出具风格及创意性的商业解决方案,我们更提供一系列全网整合营销推广,网站制作和网站推广的服务,以推动各中小企业全面信息化,并利用创新技术帮助各行业提升企业形象和运营效率。
二 部署
django.contrib.staticfiles体统便利的管理命令,用户手机各app中收集静态文件
2.1 将STATIC_ROOT设置为静态文件存储目录
在修改项目配置文件proj_foo/settings.py
STATIC_URL = '/static/'
STATIC_ROOT = os.path.join(BASE_DIR,'/static/')
STATICFILES_DIRS = (
os.path.join(BASE_DIR, 'static'),
'/var/www/html/littlebear/static/'
)
MEDIA_ROOT = os.path.join(BASE_DIR, 'media')
MEDIA_URL = '/media/'
2.2 配置proj_foo/urls.py
在文件开头添加一下配置
from django.contrib.staticfiles.urls import staticfiles_urlpatterns
from django.contrib import staticfiles
设置路由
urlpatterns = [
......
] + static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)
urlpatterns += staticfiles_urlpatterns()
2.3 收集静态文件
通以下命令可将各个app的静态文件收集至STATIC_ROOT存储目录中
python manage.py collectstatic
三 nginx配置
在nginx的配置文件中添加server配置段
upstream django_lb {
server 127.0.0.1:8000;
}
server {
listen 0.0.0.0:80;
charset utf-8;
location /^media/ {
alias /var/www/html/littlebear/media/;
}
location /^static/ {
alias /var/www/html/littlebear/static/;
}
location / {
include uwsgi_params;
uwsgi_pass django_lb;
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
}
重启nginx服务使配置生效
四 django项目运行
4.1 安装uwsgi
pip install uwsgi
4.2 使用uwsgi启动django项目
uwsgi \
--socket 0.0.0.0:8000 \ # 设置默认监听端口
--chdir /var/www/html/proj_foo \ #项目所在目录
--wsgi-file proj_foo/wsgi.py \ # wsgi配置文件
--master \ # 启用master
--processes 1 \ # 启用进程数
--threads 2 \ # 启用线程数
--stats 127.0.0.1:9191 # uwsgi监听状态端口
本文标题:django+nginx环境部署
分享地址:http://pwwzsj.com/article/iephjd.html