supervisor同时管理crm和路飞两个业务

 

在linux上部署好crm

在linux上部署好crm

1.准备python3 的虚拟环境(virtualenv wrapper)
workon 虚拟环境名字 #自动找到,然后激活

mkvirtualenv  s23venv  #创建s23venv

workon s23_crm  #激活 


2.用uwsgi,指定配置文件启动crm
uwsgi把crm的代码运行在了8000端口上

uwsgi  --ini  uwsgi.ini 


3.配置nginx,去访问crm的代码

我们自定义的,crm的入口是nginx的80端口 


server {
        #nginx监听的地址 
        listen       80;
        #定义网站的域名
        server_name  _;

        #charset koi8-r;
        #nginx的url匹配 , /这个斜杠就代表这样的请求:  192.168.13.117:85/   
        #这个是最低级匹配,所有的请求都会进入location,进行处理
        location / {
        #基于uwsgi协议的请求转发,给后端django的启动地址
                uwsgi_pass 0.0.0.0:8000;
                include  uwsgi_params;
        }
        #在django中收集所有的静态文件,放在/opt/crms23/crmstatic 然后丢给nginx去寻找
        location  /static {
        alias /opt/crms23/crmstatic;
}
    }

# 搭建 https  https://pythonav.com/wiki/detail/3/40/    
 
server{
listen 443;

多了一些添加证书的配置 
}
    
    

4.启动mariadb(mysql)
  我们是通过yum安装的mariadb,因此直接
  systemctl start mariadb 


5.通过supervisor管理crm

    安装supervisor工具
    (1).一是通过 yum安装  
    yum install supervisor  -y 

    (2)生成supervisor的配置文件
    echo_supervisord_conf > /etc/supervisord.conf
    
    (3).修改supervisor配置文件,添加管理crm的任务
        vim /etc/supervisord.conf 
        添加如下配置
    
[program:s23_crm]
command=/root/Envs/s23_crm/bin/uwsgi --ini /opt/crms23/se_crm/uwsgi.ini  ; 启动s23crm的完整绝对路径命令
autorestart=true     ; 程序退出后自动重启,可选值:[unexpected,true,false],默认为unexpected,表示进程意外杀死后才重启
stopasgroup=true     ;默认为false,进程被杀死时,是否向这个进程组发送stop信号,包括子进程
killasgroup=true     ;默认为false,向进程组发送kill信号,包括子进程

    (4).启动supervisor服务,且管理进程
    
[root@s23_linux conf]# supervisord  -c  /etc/supervisord.conf       # -c指定配置文件  ,管理服务端的命令 supervisord  
[root@s23_linux conf]# 
[root@s23_linux conf]# 
[root@s23_linux conf]# 
[root@s23_linux conf]# 
[root@s23_linux conf]# supervisorctl        #管理任务,管理进程的命令 
s23_crm                          RUNNING   pid 2520, uptime 0:00:04
supervisor> 
supervisor> 
supervisor> 
   
    (5)。管理supervisor的命令
            二、更新新的配置到supervisord    
            supervisorctl update
            三、重新启动配置中的所有程序
            supervisorctl reload
            四、启动某个进程(program_name=你配置中写的程序名称)
            supervisorctl start program_name
            五、查看正在守候的进程
            supervisorctl
            六、停止某一进程 (program_name=你配置中写的程序名称)
            spervisorctl stop program_name
            七、重启某一进程 (program_name=你配置中写的程序名称)
            supervisorctl restart program_name
            八、停止全部进程
            supervisorctl stop all
            九、启动所有进程
            supervisorctl start all 
            注意:显示用stop停止掉的进程,用reload或者update都不会自动重启。
               

 

启动路飞学城

启动路飞学城

1.准备好虚拟环境

[root@s23_linux ~]# workon luffys23


2.启动drf后台,用supervisor去启动uwsgi
    (1)编辑vim /etc/supervisord.conf   添加管理路飞的命令
    
[program:s23_luffy]
command=/root/Envs/luffys23/bin/uwsgi --ini /opt/luffys23/luffy_boy/uwsgi.ini    ; 启动s23crm的完整绝对路径命令
autorestart=true     ; 程序退出后自动重启,可选值:[unexpected,true,false],默认为unexpected,表示进程意外杀死后才重启
stopasgroup=true     ;默认为false,进程被杀死时,是否向这个进程组发送stop信号,包括子进程
killasgroup=true     ;默认为false,向进程组发送kill信号,包括子进程

    (2)添加到/etc/supervisord.conf 最下面即可
    
3.重启supervisord让它生效
杀死supervisord进程的pid,然后重新启动 ,保证没有uwsgi在启动

supervisord  -c  /etc/supervisord.conf

4.检查crm和路飞的后台是否正常,

(luffys23) [root@s23_linux luffy_boy]# supervisorctl 
s23_crm                          RUNNING   pid 4706, uptime 0:00:02
s23_luffy                        RUNNING   pid 4705, uptime 0:00:02
supervisor> 


5.配置nginx前端


server {
listen  81;
server_name  _;
#当我访问 192.168.13.117:81的时候,就进入如下的配置
location  /  {
   #定义网页根目录 
   root   /opt/luffys23/07-luffy_project_01/dist;
   index   index.html;
   try_files $uri $uri/ /index.html;
}

}



server  {
    listen 8001;
    server_name  _;
    location  /  {
    include uwsgi_params;
    uwsgi_pass 0.0.0.0:8002;
    }

}


6.购物车功能是写入到redis数据库的,启动redis

yum install redis -y  

systemctl start redis  
posted @ 2020-01-07 16:40  驰念  阅读(201)  评论(0编辑  收藏  举报