189 8069 5689

Django1.11+Uwsgi+Nginx的生产环境部署-创新互联

思路:使用runserver可以使我们的django项目很便捷的在本地运行起来,但是这只能在局域网内访问。正式环境部署的话比较安全,而且静态文件的处理方式会比较友好。nginx作为服务器的最前端,负责接收client的所有请求,静态请求由nginx自己处理,非静态请求通过uwsgi传递给django,由django来进行处理。

创新互联公司是专业的康县网站建设公司,康县接单;提供成都网站设计、网站制作、外贸营销网站建设,网页设计,网站设计,建网站,PHP网站建设等专业做网站服务;采用PHP框架,可快速的进行康县网站开发网页制作和功能扩展;专业做搜索引擎喜爱的网站,专业的做网站团队,希望更多企业前来合作!

准备:1  一个django项目,能用runserver启动;

         2 服务器基础环境,python2.7+uwsgi;使用pip install uwsgi安装,nignx1.11.10;

第一步:连接django项目和uwsgi

1 编写测试脚本验证uwsgi

Django1.11+Uwsgi+Nginx的生产环境部署

运行uwsgi --http :8001 --wsgi-file test.py

通过curl ip:port 来验证uwsgi正常;

2 使用uwsgi配置文件启动django项目

创建uwsgi目录,以及uwsgi.ini配置文件

Django1.11+Uwsgi+Nginx的生产环境部署

启动项目 uwsgi --ini uwsgi.ini

测试访问。

第二步:连接nginx和uwsgi

修改nginx.conf

Django1.11+Uwsgi+Nginx的生产环境部署

其中root_static 目录为指定的STATIC_ROOT目录

第三步:运行python manage.py collectstatic将所有静态文件归纳到自定义的一个目录下

首先要修改项目的urls.py文件

Django1.11+Uwsgi+Nginx的生产环境部署

接着修改settings的文件,将DEBUG设置为False,ALLOWED_HOSTS = ['*']

以及

STATIC_ROOT = os.path.join(BASE_DIR, 'root_static').replace(r'\\','/')

STATICFILES_DIRS = (

os.path.join(BASE_DIR, 'static'),

)

也就是将所有的静态文件收集到项目目录下的root_static目录下

最后运行命令

python manage.py collectstatic

这个命令的执行目的,就是将在开发模式中定义的静态目录,统一拿到STATIC_ROOT目录下。

1.首先从Django的扩展包中,将admin管理后台的jss 和css等静态文件拷贝到配置文件中的STATIC_ROOT目录下。

2.然后将STATICFILES_DIRS 列表中所有目录下的内容也拷贝到STATIC_ROOT目录下

第四步:启动uwsgi和nginx服务,用浏览器访问即可

也可以编写脚本用来控制uwsgi的启动和停止

Django1.11+Uwsgi+Nginx的生产环境部署

创新互联www.cdcxhl.cn,专业提供香港、美国云服务器,动态BGP最优骨干路由自动选择,持续稳定高效的网络助力业务部署。公司持有工信部办法的idc、isp许可证, 机房独有T级流量清洗系统配攻击溯源,准确进行流量调度,确保服务器高可用性。佳节活动现已开启,新人活动云服务器买多久送多久。


分享标题:Django1.11+Uwsgi+Nginx的生产环境部署-创新互联
转载来于:http://cdxtjz.cn/article/hpcse.html

其他资讯