美文网首页
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