配置Nginx
Supervisor只负责运行gunicorn,我们还需要配置Nginx。把配置文件 awesome 放到 etcnginx/sites-available/ 目录下:
server {
listen 80; # 监听80端口
root srvawesome/www;
access_log srvawesome/log/access_log;
error_log srvawesome/log/error_log;
# server_name awesome.liaoxuefeng.com; # 配置域名
# 处理静态文件/favicon.ico:
location /favicon.ico {
root srvawesome/www;
}
# 处理静态资源:
location ~ ^\/static\/.*$ {
root srvawesome/www;
}
# 动态请求转发到9000端口:
location / {
proxy_pass http://127.0.0.1:9000;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header Host $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
}
然后在 etcnginx/sites-enabled/ 目录下创建软链接:
$ pwd
etcnginx/sites-enabled
$ sudo ln -s etcnginx/sites-available/awesome .
让Nginx重新加载配置文件,不出意外,我们的 awesome-python3-webapp 应该正常运行:
$ sudo etcinit.d/nginx reload
如果有任何错误,都可以在 srvawesome/log 下查找Nginx和App本身的log。如果Supervisor启动时报错,可以在 varlog/supervisor 下查看Supervisor的log。
如果一切顺利,你可以在浏览器中访问Linux服务器上的 awesome-python3-webapp 了:
如果在开发环境更新了代码,只需要在命令行执行:
$ fab build
$ fab deploy
自动部署完成!刷新浏览器就可以看到服务器代码更新后的效果。