使用nginx,gunicorn快速部署flask到阿里雲伺服器
阿新 • • 發佈:2018-12-16
- 阿里雲esc中安裝python3,以下是安裝python3.6的詳細步驟
sudo apt install build-essential checkinstall sudo apt install libreadline-gplv2-dev libncursesw5-dev libssl-dev libsqlite3-dev tk-dev libgdbm-dev libc6-dev libbz2-dev wget https://www.python.org/ftp/python/3.6.0/Python-3.6.0.tar.xz tar xvf Python-3.6.0.tar.xz cd Python-3.6.0/ ./configure sudo make sudo make install Python3.6 檢視版本資訊,能看到表示安裝成功
2.阿里雲esc建立虛擬環境,python3可以直接建立虛擬環境,不需要安裝virtualenv
python3 -m venv flask_venv #flask_venv是虛擬環境名字
source flask_venv/bin/activate #啟用虛擬環境
- 一步安裝專案所有安裝包
#原專案終端,將所有包寫入requirements.txt
pip freeze > requirements.txt
#將requirements.txt 用WinSCP傳入虛擬環境下,並執行
pip3 install -r requirements.txt
4.建立/var/www資料夾並匯入專案檔案
mkdir -p /var/www/
#使用WinSCP 將專案放入該資料夾下
- 安裝nginx,gunicorn
apt-get install nginx #直接安裝,不需要編譯安裝
pip3 install gunicorn
- 配置nginx ,編譯安裝的nginx配置與此略不同,相對複雜一次,不在此贅述
cd /etc/nginx/sites_available cp default default_copy #備份default vim default #寫入如下 server { listen 80; server_name www.pygod.net; #此為老鐵的域名 location / { proxy_pass http://127.0.0.1:8000; # 這裡是指向 gunicorn host 的服務地址 proxy_set_header Host $host; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; }
- 配置hosts檔案
vim /etc/hosts
#新增一行程式碼
127.0.0.1 www.pygod.net
- cd到專案根目錄下使用gunicorn執行專案,大功告成,是不是非常簡單呢!
gunicorn -D -w 3 -b 127.0.0.1:8000 manage:app
# -D 是後臺執行,不寫-D可檢視執行資訊!不要放到-b 與 127.0...之間
#注意阿里雲安全組中開啟8000埠