1.上周入手了阿里云,所以把前段時間寫的flask程序部署到阿里云上,之前是部署到heroku上的,下面介紹下如何部署到阿里云上。
2.阿里云部署后的鏈接為:http://123.57.132.125, 歡迎大家使用。
3.把flask工程中的文件通過scp命令拷貝到阿里云下,我的工程下的app包、migrations包、config.py、manager.py和requirements.txt通過命令例如
scp -r xxx(需要拷貝的文件) root@xxxxxx(阿里云ip):/(你希望安裝的目錄)
。4.來到拷貝到的阿里云目錄下,建立虛擬壞境
virtualenv venv
,激活虛擬壞境. venv/bin/activate
。安裝工程所有需要模塊pip install -r requirements.txt
。5.在阿里云的/etc/init目錄下新建一個配置文件例如
sudo nano /etc/init/blog.conf
,該文件可以在虛擬機(jī)打開時自動執(zhí)行flask web程序,在該文件內(nèi)寫入:
description "My Blog service"
start on runlevel [2345]
stop on runlevel [!2345]
respawn
setuid root
setgid www-data
env PATH=/root/flask/venv/bin # 壞境的路徑
chdir /root/flask/ # 工作目錄
exec gunicorn -w 4 -b 127.0.0.1:8000 manager:app # 啟動web服務(wù)器
6.啟動blog.conf,輸入命令
sudo service blog start
,查看是否啟動成功。7.配置nginx反向代理服務(wù)器,如果阿里云沒有安裝nginx,用
apt-get install nginx
命令安裝下,修改/etc/nginx/site-available/default文件,修改如下:
# /ect/nginx/sites-available/default
server {
listen 80;
server_name 10.211.55.10;
location / {
proxy_pass http://127.0.0.1:8000;
proxy_set_header Host $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
}
8.重新啟動nginx,輸入命令
sudo service nginx restart
。9.安裝postgresql,
apt-get install postresql
,創(chuàng)建數(shù)據(jù)庫輸入命令createdb blogdb
。10.以上步驟都成功的話就可以部署你的flask程序了。