配置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 了:

    配置Nginx - 图1

    如果在开发环境更新了代码,只需要在命令行执行:

    $ fab build

    $ fab deploy

    自动部署完成!刷新浏览器就可以看到服务器代码更新后的效果。