美文网首页
Centos7.6下部署 Tornado + superviso

Centos7.6下部署 Tornado + superviso

作者: 孙子衡 | 来源:发表于2023-07-31 09:53 被阅读0次

    说明:python3.8 + Tornado6.3.2

    python环境的安装 和虚拟环境的安装 以及git和nginx安装 原先已经安装好了 这里不做记录
    

    1. clone项目到 /home 文件下

    cd /home
    git clone  xxxxx.git
    # 进入项目
     cd zh_backend_tornado/
    # 进入python虚拟环境
    source /data/env/tornado_one_env/bin/activate
    # 安装项目依赖包
    pip3 install -r requirements.txt
    
    # 启动项目
    python main.py   # 如果项目可以启动成功 说明依赖包都已经安装完毕
    
    

    2. 配置nginx

    cd /etc/nginx/conf.d/
    touch xxx.conf
    
    # 编辑  xxx.conf 文件
    
    server {
        listen 8080;
        server_name your_domain.com;
    
        location / {
            proxy_pass http://localhost:8888;  # Tornado应用程序运行的端口号
            proxy_set_header Host $host;
            proxy_set_header X-Real-IP $remote_addr;
        }
    
        location /static/ {
            alias /path/to/static/files/;  # 静态文件目录路径
        }
    }
    
    # 退出保存
    
    # 检查nginx 下的 .conf 文件格式是否正确
    sudo nginx -t
    # 重启ngnix
    sudo systemctl restart nginx
    
    # 启动 tornado 项目 
    pyhton main.py     # 此时项目启动成功 不过这个时候 服务器端口要是关闭的话 项目也会关闭
    
    # 关闭终端还会启动的方法
    nohup python app.py > /dev/null 2>&1 &      # 这个不建议 
    
    # tornado 内置了 http服务器 一般不和 uwsgi 一直配置使用 如果要管理tornado 后台运行 可以使用 supervisor
    
    

    3. 配置supervisor

    使用supervisor进行进程管理:
    
    1.安装supervisor:
    
    sudo yum install -y supervisor
    2. 创建一个新的supervisor配置文件myproject.ini:
     touch  /etc/supervisord.d/myproject.ini
    3. 编辑 myproject.ini
    vi  /etc/supervisord.d/myproject.ini
    
    [program:zh_backend_tornado]
    command=/data/env/tornado_one_env/bin/python  /home/zh_backend_tornado/main.py
    autostart=true
    autorestart=true
    stdout_logfile=/var/log/tornado1.log
    
    # 退出保存
    
    # 配置说明: 
    zh_backend_tornado : 项目名称
    /data/env/tornado_one_env/bin/python : python的虚拟环境
    /home/zh_backend_tornado/main.py :项目的启动文件
    
    4. 重启supervisord 
    
    sudo supervisorctl reread
    # supervisord 重新读取配置文件,但不会重新启动被管理的程序
    sudo supervisorctl update
    # 如果您对配置文件进行了更改,可以使用此命令来更新配置并重启受影响的程序
    sudo supervisorctl restart all
    # 重启所有程序:如果您希望重启所有被 supervisord 管理的程序
    
    
    # 此时应该就有一个启动的 项目进程了 
    可以使用下面命令查看
    (tornado_one_env) [root@VM-16-13-centos supervisord.d]# supervisorctl status
    zh_backend_tornado               RUNNING   pid 31616, uptime 0:41:37
    
    

    4. supervisorctl 常用命令说明

    supervisorctl 是与 supervisord 进程管理器进行交互的命令行工具。通过 supervisorctl,您可以查看进程状态、启动、停止、重启和控制由 supervisord 管理的进程。
    
    以下是一些常用的 supervisorctl 命令:
    
    查看进程状态:
    
    shell
    supervisorctl status
    这将列出所有被 supervisord 管理的进程及其状态信息。
    
    启动和停止进程:
    
    supervisorctl start <process_name>
    supervisorctl stop <process_name>
    使用上述命令分别启动和停止指定名称的进程。
    
    重启进程:
    # 这条命令 用于项目的更新后启动
    supervisorctl restart <process_name>
    使用此命令重启指定名称的进程,它会先停止再启动该进程。
    
    查看进程日志:
    
    supervisorctl tail -f <process_name>
    使用此命令查看指定进程的实时日志。
    
    重新加载配置:
    
    supervisorctl reread
    supervisorctl update
    使用以上命令重新加载 supervisord 的配置文件,并根据新的配置更新进程。
    
    这些是 supervisorctl 的一些常用操作,您可以根据需要使用其他命令。如果需要获取更多详细信息和帮助文档,可以在终端中运行 supervisorctl -h 命令。
    
    请注意,使用 supervisorctl 命令前需要确保 supervisord 进程正在运行,否则它将无法与 supervisord 进行交互。
    
    
    
    

    相关文章

      网友评论

          本文标题:Centos7.6下部署 Tornado + superviso

          本文链接:https://www.haomeiwen.com/subject/phumudtx.html