使用Nginx 和Supervisor在Linux服务器上部署Tornado
程序员文章站
2022-07-15 13:04:14
...
Nginx 安装: sudo apt-get install nginx
Nginx 安装后用浏览器进入127.0.0.1就可以看到nginx的欢迎页了
nginx 常用命令
1.sudo service nginx start
启动nginx
2.sudo service nginx stop
停止nginx
3.sudo service nginx restart
重启nginx
4.sudo service nginx reload
重新加载配置文件
Supervisor 安装: sudo apt-get install supervisor
部署步骤:
- Tornado项目路径 : /home/你的用户名/Tornado项目文件夹名称/main.py
- 在/etc/nginx/下 创建nginx.conf配置文件
这里我们使用8000-8003四个端口,进行端口转发 配置文件编写要注意main.py所在位置要写对,即下面配置文件中的中文
user root;
worker_processes auto;
pid /run/nginx.pid;
events {
worker_connections 768;
multi_accept on;
use epoll;
}
http {
# Enumerate all the Tornado servers here
upstream frontends {
server 127.0.0.1:8000;
server 127.0.0.1:8001;
server 127.0.0.1:8002;
server 127.0.0.1:8003;
}
include /etc/nginx/mime.types;
default_type application/octet-stream;
access_log /var/log/nginx/access.log;
keepalive_timeout 65;
proxy_read_timeout 200;
sendfile on;
tcp_nopush on;
tcp_nodelay on;
gzip on;
gzip_min_length 1000;
gzip_proxied any;
gzip_types text/plain text/html text/css text/xml
application/x-javascript application/xml
application/atom+xml text/javascript;
proxy_next_upstream error;
server {
listen 80;
# Allow file uploads
client_max_body_size 50M;
location ^~ /static/ {
root /home/用户名/项目文件夹名/;
if ($query_string) {
expires max;
}
}
location = /favicon.ico {
rewrite (.*) /static/favicon.ico;
}
location = /robots.txt {
rewrite (.*) /static/robots.txt;
}
location / {
proxy_pass_header Server;
proxy_set_header Host $http_host;
proxy_redirect off;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Scheme $scheme;
proxy_pass http://frontends;
}
}
}
- 编写supervisor配置文件
- 进入supervisor配置文件夹
cd /etc/supervisor/conf.d/
- 创建tornados.conf
[group:tornadoes]
programs=tornado-8000,tornado-8001,tornado-8002,tornado-8003
[program:tornado-8000]
command=python /home/用户名/项目文件夹名/main.py --port=8000
directory=/home/用户名/项目文件夹名
user=root
autorestart=true
redirect_stderr=true
stdout_logfile=/var/log/tornado.log
loglevel=info
[program:tornado-8001]
command=python /home/用户名/项目文件夹名/main.py --port=8001
directory=/home/用户名/项目文件夹名
user=root
autorestart=true
redirect_stderr=true
stdout_logfile=/var/log/tornado.log
loglevel=info
[program:tornado-8002]
command=python /home/用户名/项目文件夹名/main.py --port=8002
directory=/home/用户名/项目文件夹名
user=root
autorestart=true
redirect_stderr=true
stdout_logfile=/var/log/tornado.log
loglevel=info
[program:tornado-8003]
command=python /home/用户名/项目文件夹名/main.py --port=8003
directory=/home/用户名/项目文件夹名
user=root
autorestart=true
redirect_stderr=true
stdout_logfile=/var/log/tornado.log
loglevel=info
- 其中/var/log/tornado.log为日志文件目录
然后先重载nginx的配置文件sudo service nginx reload
重启 nginx :sudo service nginx restart
supervisor开启所有进程:sudo supervisorctrl restart all