flask+nginx+gunicorn+github+ubuntu部署到百度云
基于Ubuntu / 16.04 LTS amd64 (64bit) 的部署
shh root 登录
1. 安装python,pip,virtualenv
一般来说ubuntu里面已经自带了python。python的包管理工具有2个(easy_install,pip),前者是以前的,后者是用的比较多。
apt-get install pip
apt-get install virtualenv
2. 建立一个文件目录,用来放从git上传过来的项目.
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.安装nginx
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运行
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地址就可以访问

浙公网安备 33010602011771号