参考这篇文章:
[[email protected]_oa webserver]# uwsgi --http :9090 --wsgi-file home.py --daemonize /var/log/uwsgi.log --master --harakiri 60 --socket-timeout 10 -w home:app
参考http://docs.jinkan.org/docs/flask/deploying/uwsgi.html
如果出现错误:
uwsgi: option ‘--http‘ is ambiguous
换成这种写法
uwsgi --http-socket :9090 --wsgi-file home.py --daemonize /var/log/uwsgi.log --master --harakiri 60 --socket-timeout 10 -w home:app
囧,接着又出现错误:
uwsgi: unrecognized option ‘--wsgi-file‘
sudo uwsgi --http-socket :9090 --plugin python --wsgi-file home.py --daemonize /var/log/uwsgi.log --master --harakiri 60 --socket-timeout 10 -w home:app
sudo /usr/local/bin/uwsgi --http-socket :9090 --plugin python --wsgi-file /home/wwwroot/webserver/home.py --daemonize /var/log/uwsgi.log --master --harakiri 60 --socket-timeout 10 -w home:app
给出的解释是:
uwsgi 时都会碰到uwsgi: unrecognized option ‘--uwsgi-file‘如 --module , --wsgi-file , --callable 等,最 始我也碰到这样的问题, uwsgi --help 得到一大堆帮助信息(吐槽下, uWSGI 用户接口方面太不友好了,输出这么一大堆信息会吓着初学者,而且也 很难从中找到需要的帮助信息,要是你用管道加 less ,那我就无话可说了), 找了下发现的确没有这些选项,第一反应是版本对不上,后来发现相同版本也 会遇到这个问题,然后才找到问题的根源,需要在上面那些未识别选项前加上 --plugin python 来告诉 uWSGI 我在使用 python 插件,后面那些选项你 用python 插件去解析。
遇到的问题:
发现用的uwsgi是python 2.6.6版本的,于是sudo yum remove uwsgi,然后使用sudo pip install uwsgi,此时的话就不需要加--plugin python的参数,写为
sudo /usr/local/bin/uwsgi --http-socket :9090 --wsgi-file /home/wwwroot/webserver/home.py --daemonize /var/log/uwsgi.log --master --harakiri 60 --socket-timeout 10 -w home:app
即可。