在DigitalOcean的服务器上部署flaskblog应用


Posted in Python onDecember 19, 2015

在DigitalOcean上部署了flaskblog,项目虽小,部署中也学到了很多东西。
操作系统选择的是Ubuntu14.04,原因就是平时自己主要使用这个版本,顺手而已,所以你自己可以根据需要选择合适的linux版本。
部署方案:

Virtualenv+Gunicorn+Nginx+Supervisor

从这里下载项目的代码flaskblog, 工程中带有简单的配置文件参考。
可以先访问flaskblog看一下。
注意

本文中使用Ubuntu14.04 64位主机, 创建一个名为xin的用户,进行部署。
本文重点部署,所有linux的相关操作不做详细介绍。
部署目录是(/home/xin/www/flaskblog),所以请注意配置文件中的目录。
环境

系统:Ubuntu 14.04 64
Web Server: Nginx
虚拟环境: Virtualenv
WSGI Server: Gunicorn
数据库: MySQL
Monitor: Supervisor
使用supervisor主要是监控gunicorn的运行,保证服务器的可以持续运行。

安装

安装软件

$ sudo apt-get install python-pip 
$ sudo apt-get install python-dev    
$ sudo pip install virtualenv    
$ sudo apt-get install mysql-server  
$ sudo apt-get install libmysqlclient-dev 
$ sudo apt-get install nginx  
$ sudo apt-get install supervisor

 
下载工程并开启虚拟环境

使用git下载代码到(/home/xin/www/flaskblog)

$ git clone https://github.com/defshine/flaskblog.git 
$ cd flaskblog

 
启动虚拟环境,安装工程依赖

$ virtualenv venv  
$ source venv/bin/activate  
(venv)$ pip install -r requirements.txt

如何退出虚拟环境

(venv)$ deactivate

数据库

在MySQL数据库中创建数据库(flaskblog),修改 config.py中的数据库的配置
初始化数据库并创建管理员用户

(venv)$ python manage.py create_db 
(venv)$ python manage.py create_user -u admin -p 123456

开启监控

根据自己的情况,编辑工程下的supervisor配置文件(flaskblog.conf),然后复制到系统目录中

$ sudo cp flaskblog.conf /etc/supervisor/conf.d/

重新载入配置文件,并启动flaskblog

$ sudo supervisorctl reload 
$ sudo supervisorctl start flaskblog

查看运行状态

$ sudo supervisorctl status

Nginx

修改nginx的配置文件(flaskblog),然后复制到系统目录中去,并创建软链接。重启nignx。

$ sudo cp flaskblog /etc/nginx/site-available/ 
$ cd /etc/nginx/site-enabled 
$ sudo ln -s /etc/nginx/site-avalaible/flaskblog . 
$ sudo service nginx reload 
$ sudo service nginx restart

查看nginx状态

$ sudo service nginx status

然后,就可以通过ip地址访问了。当然,配置好域名,访问起来更好。
flaskblog这个小项目,刚刚有个小雏形,后续还可以开发一些小特性。

Python 相关文章推荐
python使用cookielib库示例分享
Mar 03 Python
Python md5与sha1加密算法用法分析
Jul 14 Python
Python基于回溯法子集树模板实现8皇后问题
Sep 01 Python
Python3 模块、包调用&路径详解
Oct 25 Python
十分钟利用Python制作属于你自己的个性logo
May 07 Python
Python使用add_subplot与subplot画子图操作示例
Jun 01 Python
Python面向对象程序设计类的多态用法详解
Apr 12 Python
python selenium 执行完毕关闭chromedriver进程示例
Nov 15 Python
python实现画循环圆
Nov 23 Python
django实现模型字段动态choice的操作
Apr 01 Python
jupyter notebook 多行输出实例
Apr 09 Python
python cv2.resize函数high和width注意事项说明
Jul 05 Python
用ReactJS和Python的Flask框架编写留言板的代码示例
Dec 19 #Python
使用Python编写简单的端口扫描器的实例分享
Dec 18 #Python
十个Python程序员易犯的错误
Dec 15 #Python
Python学习笔记整理3之输入输出、python eval函数
Dec 14 #Python
Python中内置数据类型list,tuple,dict,set的区别和用法
Dec 14 #Python
分享Python字符串关键点
Dec 13 #Python
Python实时获取cmd的输出
Dec 13 #Python
You might like
php str_replace的替换漏洞
2008/03/15 PHP
php实现首页链接查询 友情链接检查的代码
2010/01/05 PHP
解析php根据ip查询所在地区(非常有用,赶集网就用到)
2013/07/01 PHP
PHP模拟asp.net的StringBuilder类实现方法
2015/08/08 PHP
php微信公众号开发(2)百度BAE搭建和数据库使用
2016/12/15 PHP
IE 缓存策略的BUG的解决方法
2007/07/21 Javascript
JQuery 1.3.2以上版本中出现pareseerror错误的解决方法
2011/01/11 Javascript
JavaScript中的console.assert()函数介绍
2014/12/29 Javascript
修复jQuery tablesorter无法正确排序的bug(加千分位数字后)
2016/03/30 Javascript
Jquery实现select multiple左右添加和删除功能的简单实例
2016/05/26 Javascript
JavaScript中的this引用(推荐)
2016/08/05 Javascript
详解angularjs中的隔离作用域理解以及绑定策略
2017/05/31 Javascript
BootStrap下的弹出框加载select2框架失败的解决方法
2017/08/31 Javascript
基于jquery trigger函数无法触发a标签的两种解决方法
2018/01/06 jQuery
Node.js+ELK日志规范的实现
2019/05/23 Javascript
如何使用webpack打包一个库library的方法步骤
2019/12/18 Javascript
vue使用map代替Aarry数组循环遍历的方法
2020/04/30 Javascript
原生JS实现拖拽功能
2020/12/16 Javascript
Python入门篇之函数
2014/10/20 Python
Python3中简单的文件操作及两个简单小实例分享
2017/06/18 Python
tensorflow实现图像的裁剪和填充方法
2018/07/27 Python
python使用pymongo与MongoDB基本交互操作示例
2020/04/09 Python
python基于socket函数实现端口扫描
2020/05/28 Python
Django REST Framework 分页(Pagination)详解
2020/11/30 Python
使用HTML5加载音频和视频的实现代码
2020/11/30 HTML / CSS
Spartoo比利时:欧洲时尚购物网站
2017/12/06 全球购物
Mountain Warehouse波兰官方网站:英国户外品牌
2019/08/29 全球购物
Sunglass Hut巴西网上商店:男女太阳镜
2020/10/04 全球购物
中文专业毕业生自荐信
2013/10/28 职场文书
优秀学生自我鉴定范例
2013/12/18 职场文书
《奇妙的国际互联网》 教学反思
2014/02/25 职场文书
初中班主任评语
2014/04/24 职场文书
单位接收函范文
2015/01/30 职场文书
2015新员工工作总结范文
2015/10/15 职场文书
2019暑假阅读倡议书
2019/06/24 职场文书
2019年圣诞节祝福语集锦
2019/12/25 职场文书