说明: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 进行交互。
网友评论