uWSGI+Nginx run flask twip

原文:http://ichon.me/post/999.html

twip.tar.gz:http://ichon.me/uploads/2013/02/twip.tar.gz

examples:https://github.com/yegle/flask_twip/tree/master/examples

安装uWSGI

使用pip:

pip install uwsgi

安装Flask-Twip

Flask-Twip是作为Flask的一个插件来安装的,安装依然只需要使用pip:

pip install Flask-Twip

配置Flask-Twip

由于 @yegle 湿兄并没有在examples中提供uWSGI运行的示例,所以只好自己动手,按照uWSGI运行的方式改写了示例程序,并且将其打包 twip.tar.gz

只需将其解压到网站的目录,比如/home/www

tar zxvf twip.tar.gz -C /home/www

然后修改配置文件settings.py,填写好在dev.twitter.com申请到的TWITTER_CONSUMER_KEY和TWITTER_CONSUMER_SECRET,至于SECRET_KEY嘛,就随便填好了~
运行uWSGI

我写了个uWSGI运行Flask程序的脚本server(在twip.tar.gz中),只需要给其增加可执行权限:

chmod +x server

执行./server start就可以启动uWSGI,同理,执行./server restart和./server stop可以重启和停止uWSGI。

查看log文件/tmp/uwsgi-twip.log,如果没有任何错误,就说明uWSGI已经成功运行。
配置Nginx

光有uWSGI是不能够运行Flask-Twip的,我们还需要Nginx作为Web Server,只需要修改Nginx的配置文件,增加一个server,如下所示:

server
{
    listen 80;
    server_name www.example.com;
    location /
        {
            include     uwsgi_params;
            uwsgi_pass  unix:/tmp/uwsgi-twip.sock;
        }
    location ^~ /twip/static/
        {
            alias /home/www/twip/static/;
        }
}

重启Nginx,如果一切顺利的话,就可以在 http://www.example.com/twip/ 看到熟悉的Twip界面了~

ps:之前的 server 文件有误,修改 -C 666 为 –chmod-socket=666