轉自:http://blog.csdn.net/qq_32198277/article/details/52432890python
你們在學習Python的時候經常都是輸入nginx
1 python 文件名.py
這樣啓動小腳本flask
但實際應用中每每沒有那麼簡單,由於一般都要多線程處理併發,處理頭部,這時就須要nginx和Gunicorn了瀏覽器
1 pip install gunicorn
1 from werkzeug.contrib.fixers import ProxyFix 2 app.wsgi_app = ProxyFix(app.wsgi_app)
如多線程
1 from flask import Flask 2 3 app = Flask(__name__) 4 5 6 @app.route('/') 7 def hello_world(): 8 return 'Hello World!' 9 10 if __name__ == '__main__': 11 from werkzeug.contrib.fixers import ProxyFix 12 app.wsgi_app = ProxyFix(app.wsgi_app) 13 app.run()
最簡單的啓動方式是併發
1 gunicorn 入口文件名:app
默認是監聽127.0.0.1:8000app
若是是要處理高併發則要開多個進程和修改監聽端口的畫高併發
1 gunicorn -w 4 -b 127.0.0.1:8000 入口文件名:app
這樣就能夠啓動4個進程同時處理HTTP請求,提升系統的使用效率及性能。
還能夠把端口8000改成其餘性能
這時你能夠在本機的瀏覽器上訪問127.0.0.1:8000,瀏覽器上就會出現Hello World!學習
注意:若是是想經過外網訪問的話就要把ip改成內網的ip
首先先備份配置
輸入命令
1 sudo cp /etc/nginx/sites-available/default default.bak
輸入命令
1 sudo nano /etc/nginx/sites-available/default
把配置改成
1 server { 2 listen 80; 3 server_name example.org; # 這是HOST機器的外部域名,用地址也行 4 5 location / { 6 proxy_pass http://127.0.0.1:8000; # 這裏是指向 gunicorn host 的服務地址 7 proxy_set_header Host $host; 8 proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; 9 } 10 11 }
這樣啓動以後80端口就能夠轉發到8000端口了
輸入命令
1 sudo nginx -t
若出現
1 nginx: the configuration file /etc/nginx/nginx.conf syntax is ok 2 nginx: configuration file /etc/nginx/nginx.conf test is successful
重啓nginx
輸入命令
1 sudo service nginx restart
關閉nginx
1 sudo service nginx stop
在已經運行了Gunicorn的前提下,在瀏覽器訪問127.0.0.1就會出現Hello World!了