【tornado建站】tornado+surpervisor+nginx环境安装及配置

在上期文章中代码就已经完成了,接下来需要租一个服务器,并部署我们的网页了。

先说说目前常用的一些服务器或主机。

首先,虚拟主机我们是用不了的,虚拟主机往往是通个一个面板(cPanel)来部署控制,可玩性不强,往往不能通过shell来控制后台,即使有也没有root权限。而我们需要更自由的linux环境来操作。

目前只有选择VPS服务器或者云服务器,具体租用过程就不详细分享了。

租服务器时会让选择系统,我用的是CentOS 7(我平时工作时环境都是CentOS 6.9,用起来比较习惯,选择自己熟悉的linux系统就好),服务器租到了后,windows需要下载一个Xshell,linux直接打开终端ssh就可以了,然后输入账号密码(Xshell 的连接端口为22),就进入后台了。

接下来安装Anaconda:

wget https://Anaconda的下载链接
sh 你刚刚下载的Anaconda,一路回车

装好Anaconda后先python一下tornado脚本,然后根据报错提示安装缺少的模块或lib文件。

python website.py --port=8080

如果提示XXlib.so.1 这类就需要安装对应的lib文件:

yum install XX  # 具体是哪个可以百度一下

如果提示的是python里的模块,则pip安装,比如我遇到的两个:

pip install markdown
pip install xlrd

然后安装supervisor:

yum install supervisor

安装好后,运行

echo_supervisord_conf > /etc/supervisord.conf

然后再末尾添加

[group:web_server]
programs=tornado_web

[program:tornado_web]
numprocs=4
numprocs_start=1
command=/home/anaconda3/bin/python /home/website/website.py --port=80%(process_num)02d
process_name=%(program_name)s%(process_num)d
directory=/home/website
autorestart=true
redirect_stderr=true
stdout_logfile=/home/website/log/tornado.log
stdout_logfile_maxbytes=500MB
stdout_logfile_backups=50
stderr_logfile=/home/website/log/tornado.log
loglevel=info

这里意思是使用四个线程运行website.py,分别运行在8001、8002、8003、8004端口

然后启动supervisor:

supervisord -c /etc/supervisord.conf

启动后ps -xv一下,查看是否有四个不同端口的进程在运行

ps -xv

不出意外可以看到

/home/anaconda3/bin/python /home/website/website.py --port=8001
/home/anaconda3/bin/python /home/website/website.py --port=8002
/home/anaconda3/bin/python /home/website/website.py --port=8003
/home/anaconda3/bin/python /home/website/website.py --port=8004

以下是surpervisor的常用操作:

supervisorctl -c /etc/supervisord.conf start all
# 启动所有进程
supervisorctl -c /etc/supervisord.conf status
# 查看状态
supervisorctl -c /etc/supervisord.conf stop all
# 结束所有进程
supervisorctl -c /etc/supervisord.conf update
# 配置更新

接下来要安装nginx:

yum install nginx

nginx配置文件一般在以下路径

/etc/nginx/nginx.conf

在改文件中对应位置添加如下代码:

upstream tornadoes {
    server 127.0.0.1:8001;
    server 127.0.0.1:8002;
    server 127.0.0.1:8003;
    server 127.0.0.1:8004;
}
server {
    listen       80;
    server_name  localhost;
    location / {
    	proxy_set_header Host $http_host;
    	proxy_set_header X-Real-IP $remote_addr;
    	proxy_set_header X-Forwarded-For  $remote_addr;
    	proxy_set_header X-Scheme $scheme;
    	proxy_read_timeout 300s;
     	proxy_pass http://tornadoes;
      }
    gzip on;
    gzip_min_length 1k;
    gzip_buffers 4 16k;
    #gzip_http_version 1.0;
    gzip_comp_level 6;
    gzip_types text/plain application/x-javascript text/css application/xml text/javascript application/x-httpd-php image/jpeg image/gif image/png image/tiff;
    gzip_vary off;
    gzip_disable "MSIE [1-6]\.";
  }

这里把nginx压缩网页的也一起写进来了,server里gzip开头的都是压缩网页的代码,后面还会添加ssl部分。

以下是nginx常用的一些命令:

service nginx restart
# 重启nginx
service nginx reload
# 重新加载
service nginx start
# 启动
service nginx stop
# 结束

成功启动nginx后在本地的浏览器输入远程的IP地址,看能否出现网页,如果看到有网页就可以愉快的申请域名,然后解析到你的IP地址上了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值