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

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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://[email protected]/var/www/myflask/.git



本地仓库准备工作:
1.打开你的github,点击commit to master,也就是提交到本地仓
2.在github这个app最上面的仓库,选择open in terminal
3.然后输入git remote add resume ssh://[email protected]/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地址就可以访问

 




以上是关于flask+nginx+gunicorn+github+ubuntu部署到百度云的主要内容,如果未能解决你的问题,请参考以下文章

nginx+gunicorn+flask部属web时,使用nginx如何指定多个静态文件路径

使用 flask_socketio + flask + gunicorn + nginx 获得 502 bad gateway 和 400 bad request

AWS上带有nginx和gunicorn的Flask应用程序[重复]

部署flask+gunicorn+nginx 项目

Flask+ gunicorn+ upstart+ nginx

Flask + Gunicorn + Nginx 部署