服務器配置
內存:1G
CPU:1核
系統:ubuntu
工具
Mac系統,連接云服務器使用的工具 finalshell
下載nginx
使用 sudo apt-get install nginx
命令安裝,安裝完成在瀏覽器輸入公網Ip地址是否安裝成功和公網IP是否能夠訪問。
下載supervisor
使用 sudo apt-get install nginx
命令安裝
下載virtualenv
使用 sudo pip install virtualenv
命令安裝
配置開發環境
創建虛擬環境
切換到項目到目錄,創建項目的虛擬環境,使用命令 virtualenv venv
ps:venv 為虛擬環境的名字,可隨意命名
激活虛擬環境:使用命令source venv/bin/activate
安裝依賴包(逐一安裝)
pip install flask
pip install gunicorn
也可以創建描述文件統一安裝: vim requirements.txt
文件內容為:
使用命令統一安裝:pip install -r requirements.txt
創建測試項目test.py
:
from flask import Flask
app = Flask(__name__)
@app.route('/')
def index():
return 'hello world'
if __name__ == '__main__':
app.run()
使用gunicorn運行項目:gunicorn -b 0.0.0.0:8000 test:app
新建一個SSH遠程窗口 使用命令 curl http:localhost:8000
測試項目是否運行成功
配置nginx
切換到nginx目錄下,注意到兩個目錄
sites-enabled
生效 的nginx的配置
sites-available
可用的nginx 的配置,該文件目錄下的文件要生效必須在 sites-enabled
創建軟連接
在切換到sites-available
目錄下創建nginx配置vim test
在sites-enabled
創建軟鏈接:使用命令ln -s test ../sites-enabled
配置supervisor
在supervisor的conf.d目錄,創建配置文件
重啟nginx
sudo service nginx restart
啟動supervisor
supervisord -c supervisor.conf
配置restful https 訪問
安裝 pip install pyOpenSSL
創建CA證書
首先要有CA證書,由于這篇是示例教程,所以使用自簽證書即可。生成自簽證書可以參考這里:《在局域網里創建個人CA證書》。
程序開啟SSL
上面代碼是使用本機的證書,如果自定義證書路徑,可以改成下面的代碼。
修改supervisor 的text配置文件
為:
[program:test]
command = /home/workspaces/wheat/test/venv/bin/gunicorn -b localhost:8099 test:app --keyfile server/server-key.pem --certfile server/server-cert.pem
directory = /home/workspaces/wheat/test
修改 nginx 配置開啟SSL驗證
為:
ps : ### 表示所在的目錄
server{
listen 8081;
server_name 0.0.0.0;
ssl on;
ssl_certificate /###/server-cert.pem;
ssl_certificate_key /###/server-key.pem;
location /{
proxy_pass http://localhost:8099;
proxy_redirect off;
}
}