基於ubuntu 16.04系統,使用 Gunicorn + Nginx 進行佈署html
ssh 用戶名@ip地址
如下操做都在遠程服務器上進行操做 (ubuntu 16.04)python
sudo apt-get update
apt-get install mysql-server apt-get install libmysqlclient-dev
sudo apt-get install redis-server
pip install virtualenv pip install virtualenvwrapper
export WORKON_HOME=$HOME/.virtualenvs export PROJECT_HOME=$HOME/workspace source /usr/local/bin/virtualenvwrapper.sh
source ~/.bashrc
Python 項目中能夠包含一個 requirements.txt 文件,用於記錄全部依賴包及其精確的版本號,以便在新環境中進行部署操做。mysql
pip freeze > requirements.txt
pip install -r requirements.txt
sudo apt-get build-dep python-mysqldb
$ sudo apt-get install nginx
/etc/init.d/nginx start #啓動 /etc/init.d/nginx stop #中止
啓動失敗大機率是由於配置文件錯誤
# 若是是多臺服務器的話,則在此配置,並修改 location 節點下面的 proxy_pass upstream flask { server 127.0.0.1:5000; server 127.0.0.1:5001; } server { # 監聽80端口 listen 80 default_server; listen [::]:80 default_server; root /var/www/html; index index.html index.htm index.nginx-debian.html; server_name _; location / { # 請求轉發到gunicorn服務器 proxy_pass http://127.0.0.1:5000; # 請求轉發到多個gunicorn服務器 # proxy_pass http://flask; # 設置請求頭,並將頭信息傳遞給服務器端 proxy_set_header Host $host; # 設置請求頭,傳遞原始請求ip給 gunicorn 服務器 proxy_set_header X-Real-IP $remote_addr; } }
pip install gunicorn
gunicorn -h
# -w: 表示進程(worker) -b:表示綁定ip地址和端口號(bind) gunicorn -w 2 -b 127.0.0.1:5000 運行文件名稱(注意只是名稱 沒有.py的後綴):Flask程序實例名
啓動失敗大機率是由於解釋器或者環境問題
參考閱讀: Gunicorn相關配置:https://blog.csdn.net/y472360651/article/details/78538188nginx
scp -r 本地文件路徑 root@39.106.21.198:遠程保存路徑
數據庫模板文件遷移