Django-channels-uwsgi-nginx 在ubuntu16上的部署

nginx 的配置,加粗为新增的配置,文件在/etc/nginx/sites-enabled 和 sites-available文件夹下

server {
    listen      80;
    server_name 132.147.2.153;
    charset     utf-8;

    client_max_body_size 75M;


    location /static {
        alias /root/mysites/workspace/static;
    }

    location / {
        uwsgi_pass  unix:///root/mysites/workspace/mysite.sock;
        include     /etc/nginx/uwsgi_params;
    }

     location /chat {
        proxy_pass http://0.0.0.0:8000;    # 转发到daphne-worker
        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection "upgrade";
        proxy_redirect     off;
        proxy_set_header   Host $host;
        proxy_set_header   X-Real-IP $remote_addr;
        proxy_set_header   X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header   X-Forwarded-Host $server_name;
        proxy_read_timeout  36000s;
        proxy_send_timeout  36000s;
    }
}

把daphne和runworker,uwsgi做成系统服务

  • 在 /etc/init中 新建 aa.conf ,daphne的启动;
start on runlevel [1]
stop on runlevel [016]

respawn


script
    CMD=.  /root/myfiles/myenv/bin/activate
    cd  /root/mysites/workspace
    export DJANGO_SETTINGS_MODULE="workspace.settings"
    exec /root/myfiles/myenv/bin/daphne workspace.asgi:channel_layer
end script
  • 在 /etc/init中 新建 bb.conf,worker的启动
start on runlevel [1]
stop on runlevel [016]

respawn


script
    CMD=.  /root/myfiles/myenv/bin/activate
    cd  /root/mysites/workspace
    export DJANGO_SETTINGS_MODULE="workspace.settings"
    exec /root/myfiles/myenv/bin/python manage.py runworker
end script
  • 在 /etc/init中 新建 cc.conf,uwsgi 的upstart启动
start on runlevel [1]
stop on runlevel [016]

respawn


script
     export http_proxy=http://dbz:***@132.148.200.55:808 #加入代理
     export https_proxy=http://dbz:***@132.148.200.55:808 #加入代理
    CMD=.  /root/myfiles/myenv/bin/activate
    cd  /root/mysites/workspace
    export DJANGO_SETTINGS_MODULE="workspace.settings"
    exec /root/myfiles/myenv/bin/uwsgi --ini uwsgi.ini
end script
  • 由于我使用到了oracle服务器,oracle的lib不能指定。解决办法:
  1. vi /etc/ld.so.conf ,在这个配置文件中加一行
  2. 添加oracle客户端的位置
  3. /root/myfiles/oracle/instantclient.11.2.x86/
  4. 然后ldconfig
  • upstart log文件在哪里? /var/log/upstart

  • uwsgi log文件在哪里? var/log/nginx/

  • 进入/etc/unit、然后分别启动 initctl start aa, initctl start bb ,initctl start cc

转载于:https://my.oschina.net/u/3509821/blog/1595584

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值