项目部署(nginx + uwsgi + django) 和 开机自启动django项目

1、单项目部署

     1、确保django项目能够运行
     2、安装nginx(网站服务)


          1、安装nginx
             sudo apt-get install nginx
           2、启动nginx
              sudo /etc/init.d/nginx start
          3、验证
              打开浏览器,输入 :127.0.0.1 显示:Welcome to nginx!
     3、安装uwsgi
          1、安装
              sudo pip3 install uwsgi
          2、验证(用uwsgi启动django项目)
              uwsgi --http :8008 --chdir /home/tarena/friutday_1 --module friutday.wsgi
                 friutday.wsgi 指的是 friutday/wsgi.py
     4、部署
         1、配置uwsgi(配置文件)
              在用户主目录下创建目录 uwsgi,用来存放uwsgi的项目的配置文件(每一个项目一个配置文件)
               1、mkdir /home/tarena/uwsgi
               2、cd /home/tarena/uwsgi
               3、vi friutday_uwsgi.ini 并写入如下内容:
                   [uwsgi]
                   # 和nginx通信的端口
                   socket = 127.0.0.1:8002
                   chdir = /home/tarena/friutday_1
                   wsgi-file = friutday/wsgi.py
                   # 进程
                   processes = 4
                   # 线程
                   threads = 2
                   stats = 127.0.0.1:8080
          2、配置nginx(配置文件)
              1、更改配置文件
                  sudo -i
                  cd /etc/nginx/sites-enabled/
                  vi project_nginx.conf
                      server{
                          listen 8000;
                          server_name frituday.com;
                          charset utf-8;
                          client_max_body_size 75M;
                          location /static{
                              alias /home/tarena/friutday_1/static;
                          }
                          location /{
                              include uwsgi_params;
                              uwsgi_pass 127.0.0.1:8002;  # 跟friutday_uwsgi的socket必须相同
                         }
                     }
              2、拷贝uwsgi_params文件到项目目录
                  sudo cp /etc/nginx/uwsgi_params /home/tarena/friutday_1
              3、重启nginx服务
                  sudo /etc/init.d/nginx restart
          3、收集静态文件
              1、在项目settings.py中添加如下内容:
                  STATIC_ROOT = '/home/tarena/friutday_1/static/'
              2、收集静态文件
                  python3 manage.py collectstatic
          4、用uwsgi启动django项目
              uwsgi --ini friutday_uwsgi.ini


2、多项目部署


    1、每个项目需要创建单独的uwsgi配置文件,选用不同的端口
    2、nginx的配置文件只要1个就可以,添加server{...}



3、设置开机自启动django项目


    1、编写py文件
        import os
        uwsgi_files = os.listdir("/home/tarena/uwsgi")
        for i in uwsgi_files:
                os.system("uwsgi --ini /home/tarena/uwsgi/%s" % i)
    2、编写sh脚本文件(project.sh)
        #!/bin/bash
        python3 /home/tarena/project.py
    3、添加到开机自启动
        1、拷贝到/etc/init.d/
            sudo cp project.sh /etc/init.d/
        2、修改权限
            cd /etc/init.d/
            sudo chmod 755 project.sh
        3、添加到开机自启动
            sudo update-rc.d project.sh defaults 99

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值