博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Virtualenv加Django加UWSGI加Nginx多站点部署
阅读量:6222 次
发布时间:2019-06-21

本文共 2196 字,大约阅读时间需要 7 分钟。

安装 Virtualenv

pip install –U virtualenv

搭建并进入 Virtualenv 环境

mkdir /Django/cmdb/cd /Django/cmdb/virtualenv --no-site-packages --distribute envcd env/source bin/activate

查看虚拟环境

/Django/cmdb/env[root@saltstack env]# lldrwxr-xr-x 2 root root 4096 May 27 16:04 bindrwxr-xr-x 2 root root 4096 May 27 12:01 includedrwxr-xr-x 3 root root 4096 May 27 12:01 liblrwxrwxrwx 1 root root    3 May 27 12:01 lib64 -> lib

安装 Django 等需要的类库

pip install django

下面就可以进行Django项目、应用的部署了

安装 uwsgi

pip install uwsgi

配置多站点

假设我们的两个站点分别叫cmdb和bbs

在env目录下(类似/Django/cmdb/env)新建文件夹 uwsgi_conf

mkdir uwsgi_conf/

进入uwsgi_conf 下建立 wa_uwsgi.ini 和 wb_uwsgi.ini 两个配置文件

cd uwsgi_conf/touch cmdb.initouch bbs.ini

cmdb.ini配置文件的内容

[uwsgi]#plugins = pythonvirtualenv = /Django/cmdb/env/chdir = /Django/cmdb/env/CMDB/touch-reload = /Django/cmdb/env/CMDB/module = CMDB.wsgisocket = 127.0.0.1:3500vhost = falsechmod-socket = 664master = trueenable-threads = trueworkers = 4 threads = 2vacuum = truemax-requests = 6000pidfile = /var/log/uwsgi/cmdb.piddaemonize = /var/log/uwsgi/cmdb.log#touch-logreopen = /var/log/module/.touchforlogrotate

bbs.ini和cmdb.ini内容差不多,参考修改即可。

可以用 uwsgi 的 emperor 模式来启动 uwsgi 服务

uwsgi --emperor /Django/cmdb/env/uwsgi_conf/

想要重启某站点的时候,就 touch 一下该站点的配置文件

touch /Django/cmdb/env/uwsgi_conf/cmdb.ini

配置Nginx

server {        listen 80;        server_name cmdb.test.com;        #location /service/ {        #    proxy_set_header Host service.test.com;        #    proxy_pass http://service.test.com;        #}        charset utf-8;        access_log logs/cmdb/access.log;        error_log logs/cmdb/error.log;        root /Django/cmdb/env/CMDB;        client_max_body_size 75M;        # location /admin {        #    alias /Django/mysite/static/admin;        #    }        location /static {            alias /Django/cmdb/env/CMDB/static; # your Django project's static files            }        location /media {            alias /Django/cmdb/env/CMDB/static; # your Django project's media files            }        location / {            #uwsgi_pass unix:/var/log/uwsgi/cmdb.sock;            uwsgi_pass 127.0.0.1:3500;            include uwsgi_params; # the uwsgi_params file you installed            }  }

重启Nginx

访问测试

转载地址:http://lwgja.baihongyu.com/

你可能感兴趣的文章
解读:Java 11中的模块感知服务加载器
查看>>
微软为无服务器架构引入新API管理消费层
查看>>
《Clojure Recipes》书评与问答
查看>>
微服务通信策略
查看>>
Apache Pulsar中的地域复制,第1篇:概念和功能
查看>>
实现一个最简单的模板分离
查看>>
Java的序列化特性将要退出历史舞台了
查看>>
SQLer:无需编程语言即可将SQL查询转换为RESTful API的工具
查看>>
Phantom.js维护者退出,项目的未来成疑
查看>>
京东物流王梓晨:打造全栈团队,你要避开这些大坑
查看>>
解决C# 7.2中的结构体性能问题
查看>>
2018年最好的45个Vue开源项目汇总
查看>>
Oracle即将发布的全新Java垃圾收集器 ZGC
查看>>
微软发布Azure Time Series Insight正式版
查看>>
51信用卡微服务集成测试自动化探索
查看>>
Beaker:一个基于Electron的点对点Web浏览器
查看>>
如何进行5万并发用户负载测试?
查看>>
Apache发布NetBeans 10.0,增强对JDK 11的支持
查看>>
bootstrap中sr-only是什么属性?用途是什么?
查看>>
Facebook Litho:高性能安卓UI的构建框架
查看>>