基於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地址就能夠訪問