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应用程序[重复]