资讯专栏INFORMATION COLUMN

Virtualenv加Django加UWSGI加Nginx多站点部署

chemzqm / 754人阅读

摘要:可以用的模式来启动服务想要重启某站点的时候,就一下该站点的配置文件配置重启访问测试

安装 Virtualenv
pip install –U virtualenv
搭建并进入 Virtualenv 环境
mkdir /Django/cmdb/
cd /Django/cmdb/
virtualenv --no-site-packages --distribute env
cd env/
source bin/activate
查看虚拟环境
/Django/cmdb/env
[root@saltstack env]# ll
drwxr-xr-x 2 root root 4096 May 27 16:04 bin
drwxr-xr-x 2 root root 4096 May 27 12:01 include
drwxr-xr-x 3 root root 4096 May 27 12:01 lib
lrwxrwxrwx 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.ini
touch bbs.ini

cmdb.ini配置文件的内容

[uwsgi]
#plugins = python
virtualenv = /Django/cmdb/env/
chdir = /Django/cmdb/env/CMDB/
touch-reload = /Django/cmdb/env/CMDB/
module = CMDB.wsgi
socket = 127.0.0.1:3500
vhost = false
chmod-socket = 664
master = true
enable-threads = true
workers = 4 
threads = 2
vacuum = true
max-requests = 6000
pidfile = /var/log/uwsgi/cmdb.pid
daemonize = /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
访问测试

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/39894.html

相关文章

  • VirtualenvDjangoUWSGINginx站点部署

    摘要:可以用的模式来启动服务想要重启某站点的时候,就一下该站点的配置文件配置重启访问测试 安装 Virtualenv pip install –U virtualenv 搭建并进入 Virtualenv 环境 mkdir /Django/cmdb/ cd /Django/cmdb/ virtualenv --no-site-packages --distribute env cd env/ ...

    ideaa 评论0 收藏0
  • 测试格式

    摘要:首先要安装因为系统已经装了所以接下来直接装虚拟环境建立一个独立于系统的虚拟环境不会跟系统环境混淆运行环境退出环境运行虚拟环境,在环境中安装新建项目新建不用也可以进行接下来的操作官网安装在虚拟环境中检测是否正常工作在与同目录下写一个模拟 1. virtualvenv 2. django 3. uWSGI 4. nginx 1. virtualvenv virtualvenv in...

    y1chuan 评论0 收藏0
  • django+uwsgi+nginx部署web项目

    摘要:脚本启动服务器方便起见,我们可以设置脚本启动重启服务器,在目录下新建脚本,命名为,内容如下修改文件权限脚本启动配置完成,如果发布新版本之后记得执行该脚本才能生效。 系统需求 centos7 minimal python2.7 部署前的准备工作 centos7 minimal是精简版本,需要手动去配置一些设置。 1. 配置网络,设置固定ip ip可以自动获取,我这...

    Ali_ 评论0 收藏0

发表评论

0条评论

chemzqm

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<