flask+nginx+gunicorn+github+ubuntu部署到百度雲

基於Ubuntu / 16.04 LTS amd64 (64bit) 的部署python

shh root 登陸nginx

 

1. 安裝python,pip,virtualenvgit

通常來講ubuntu裏面已經自帶了python。python的包管理工具備2個(easy_install,pip),前者是之前的,後者是用的比較多。github

 

apt-get install pip
apt-get install virtualenv

 

2. 創建一個文件目錄,用來放從git上傳過來的項目.flask

1.安裝git
apt-get install git

2.新建一個用戶用來部署代碼使用,無特權
useradd -m mavis 
passwd xxx

3.新建一個部署目錄
mkdir /var/www/myflask

4.將該部署目錄的屬主和屬組都改爲用戶mavis
cd /var/www/
chown mavis:mavis myflask

5.切換用戶
su mavis
(想切換回root,直接su回車+輸入密碼)

6.爲myflask進行初始化
cd myflask
git init
(若是不成功,試試 git init --bare)

7.讓倉庫接受代碼提交
git config receive.denyCurrentBranch ignore

這個倉庫的地址爲
    ssh://mavis@ipaddress/var/www/myflask/.git



本地倉庫準備工做:
1.打開你的github,點擊commit to master,也就是提交到本地倉
2.在github這個app最上面的倉庫,選擇open in terminal
3.而後輸入git remote add resume ssh://mavis@ipaddress/var/www/myflask/.git
4.提交到服務器 git push resume master

resume這個你本身隨便起的名字,只是用來區分不一樣的服務器



回到服務器
1.更新服務端
cd /var/www/myflask
git update-server-info
git checkout -f

2.看看文件是否更新進來

3.設置服務器端更新鉤子
cd .git/hooks
touch post-receive
vim post-receive
  如下內容寫入
   #!/bin/sh
   unset GIT_DIR
   cd ..
   git checkout -f

    
  
    

  

3.安裝nginxubuntu

1.首先安裝nginx
apt-get install nginx
2.而後去配置service文件
先備份養成好習慣再打開  
cp /etc/nginx/sites-available/default /etc/nginx/sites-available/default.bak
vim /etc/nginx/sites-available/default 

server {
    listen 80;
    server_name mavisnclara.com; # 這是HOST機器的外部域名,用地址也行

    location / {
        proxy_pass http://127.0.0.1:8080; # 這裏是指向 gunicorn host 的服務地址
        proxy_set_header Host $host;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    }

  }

保存後退出

3.修改後確定要重啓
service nginx restart

 

4.啓動virtualenv和安裝gunicorn運行vim

 

cd /var/www/myflask

#新創建一個虛擬環境
virtualenv venv

#啓動虛擬環境
source venv/bin/activate

#若是須要退出:
deactivate

#在虛擬環境中安裝gunicorn
apt-get install gunicorn

#在虛擬環境中安裝flask
apt-get install flask

#開始啓動程序
gunicorn -b 127.0.0.1:8080 MavisChen:app在瀏覽器中輸入你的ip地址就能夠訪問
相關文章
相關標籤/搜索