最近把服務器系統換成了centos7,和以前用的ubuntu16.04不一樣,在centos7上部署tornado和ubuntu16.04有較大的區別,總結一下備忘。
step1 安裝supervisor
centos7的軟件倉庫裏面沒有supervisor,所以需要先要安裝第三方源epel,當然也可以使用源碼安裝,但是使用yum安裝對於linux不是很熟悉的人還是很友好的。
安裝epel
sudo yum install epel-release
epel源安裝完成後就能安裝supervisor了
sudo yum install supervisor
step2 配置supervisor
然後在/etc/supervisord.d
目錄中新建一個配置文件,tornado.ini
,內容如下
[group:tornadoes]
programs=tornado1, tornado2
[program:tornado1]
command=python /path/to/tornado/main.py --port=8001
autostart=true
autorestart=true
stdout_logfile=/var/log/tornado1.log
[program:tornado2]
command=python /path/to/tornado/main.py --port=8002
autostart=true
autorestart=true
stdout_file=/var/log/tornado2.log
這樣就配置完成了,啓動兩個tornado示例,分別監聽不同的端口,現在分別訪問兩個端口,都能看到相同的頁面
step3配置nginx
按照官方文檔進行配置,tornado部署文檔,但是在centos7中,添加好配置文件後,重啓nginx會發生一個錯誤,訪問頁面的話會有一個502錯誤,原因就是selinux的限制,網上有兩種方法:一種方法是關閉selinux,這種方法是不可取的,第二種方法是設置selinux,命令如下
setsebool -P httpd_can_network_connect 1
重啓nginx,頁面可以訪問了,Done