環境使用的aliyunos,是基於centos版本的linux
先看了下python版本,默認安裝了2.7和3.6
先安裝flask
pip3 install flask
安裝完成後,先寫個test.py
from flask import Flask
app = Flask(__name__)
@app.route('/')
def hello_world():
return 'Hello World!'
if __name__ == '__main__':
app.run()
具體代碼就不多解釋了,懂python都能看懂,看不懂看下flask的文檔也能看懂,然後運行看看效果
python3 test.py
注意使用python3,然後打開瀏覽器訪問http://127.0.0.1:5000 能看到hello world就表示成功了
由於flask運行不是很穩定,而且我們是需要服務器在後臺運行webapi的,就需要nginx和uwsgi
先安裝下uwsgi,注意帶上參數要加上python36插件
yum install -y uwsgi-plugin-python36
安裝完畢後,寫個conf.ini文件,如下
[uwsgi]
socket = 127.0.0.1:3031
chdir = /root/server/
plugins = python36
wsgi-file = /root/server/test.py
callable = app
processes = 4
ithreads = 2
daemonize = /root/server/log/server.log
stats = 127.0.0.1:9191
具體參數不多解釋了,應該能都看懂,看不懂可以參考uwsgi文檔
然後運行 uwsgi conf.ini,可以看看server.log文件,有沒有什麼報錯
再安裝下nginx
yum install nginx
修改下配置文件,默認一般在/etc/nginx/nginx.conf,加入uwsgi的配置內容
location / {
include uwsgi_params;
uwsgi_pass 127.0.0.1:3031; # 轉發端口,需要和uwsgi配置當中的監聽端口一致
# uwsgi_param UWSGI_PYTHON /home/自己創建的目錄/venv; # Python解釋器所在的路徑(這裏爲虛擬環境)
uwsgi_param UWSGI_CHDIR /root/server; # 項目根目錄
uwsgi_param UWSGI_SCRIPT manage:app; #(比如你測試用test.py文件,文件中app = Flask(__name__),那麼這裏就填 test:app
}
我沒用虛擬環境,所以把虛擬環境的配置註釋掉了
保存後啓動nginx,訪問 http://127.0.0.1 ,能夠看到hello world說明成功了
說下踩過的坑
- 注意python版本
- 注意uwsgi一定要帶對應python版本的插件