在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中的if、else、elif语句用法简明讲解
Mar 11 Python
python安装cx_Oracle模块常见问题与解决方法
Feb 21 Python
python实现unicode转中文及转换默认编码的方法
Apr 29 Python
Python实现获取邮箱内容并解析的方法示例
Jun 16 Python
Django CBV与FBV原理及实例详解
Aug 12 Python
pytorch 共享参数的示例
Aug 17 Python
深入学习python多线程与GIL
Aug 26 Python
Python中url标签使用知识点总结
Jan 16 Python
PyCharm取消波浪线、下划线和中划线的实现
Mar 03 Python
解决pycharm下pyuic工具使用的问题
Apr 08 Python
Python字符串对齐、删除字符串不需要的内容以及格式化打印字符
Jan 23 Python
selenium3.0+python之环境搭建的方法步骤
Feb 01 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
DC四月将推出百页特刊漫画 纪念小丑诞生80周年
2020/04/09 欧美动漫
在windows iis5下安装php4.0+mysql之我见
2006/10/09 PHP
PHP url 加密解密函数代码
2011/08/26 PHP
PHP跳转页面的几种实现方法详解
2013/06/08 PHP
一漂亮的PHP图片验证码实例
2014/03/21 PHP
PHP中array_map与array_column之间的关系分析
2014/08/19 PHP
php获取当前月与上个月月初及月末时间戳的方法
2016/12/05 PHP
PHP7移除的扩展和SAPI
2021/03/09 PHP
自己写的兼容ie和ff的在线文本编辑器类似ewebeditor
2012/12/12 Javascript
JS上传图片前的限制包括(jpg jpg gif及大小高宽)等
2012/12/19 Javascript
JS删除字符串中重复字符方法
2014/03/09 Javascript
javascript中的Function.prototye.bind
2015/06/25 Javascript
javascript实现的字符串与十六进制表示字符串相互转换方法
2015/07/17 Javascript
js基于setTimeout与setInterval实现多线程
2016/06/17 Javascript
javascript的document中的动态添加标签实现方法
2016/10/24 Javascript
Vue.js开发环境快速搭建教程
2017/03/17 Javascript
详解JavaScript对象的深浅复制
2017/03/30 Javascript
详解AngularJS脏检查机制及$timeout的妙用
2017/06/19 Javascript
利用JavaScript如何查询某个值是否数组内
2017/07/30 Javascript
微信小程序实现的涂鸦功能示例【附源码下载】
2018/01/12 Javascript
JS与CSS3实现图片响应鼠标移动放大效果示例
2018/05/04 Javascript
Vue.js子组件向父组件通信的方法实例代码详解
2018/12/10 Javascript
js实现for循环跳过undefined值示例
2019/07/02 Javascript
JavaScript实现横版菜单栏
2020/03/17 Javascript
Python多进程机制实例详解
2015/07/02 Python
Python进阶学习之特殊方法实例详析
2017/12/01 Python
利用python将pdf输出为txt的实例讲解
2018/04/23 Python
python 字符串常用函数详解
2019/09/11 Python
使用Python制作一个数据预处理小工具(多种操作一键完成)
2021/02/07 Python
html5 初试 indexedDB(推荐)
2016/07/21 HTML / CSS
阿联酋网上花店:Ferns N Petals
2018/02/14 全球购物
什么是WEB控件?使用WEB控件有哪些优势?
2012/01/21 面试题
大学生咖啡店创业计划书
2014/01/21 职场文书
《自选商场》教学反思
2014/02/14 职场文书
小学生我的梦想演讲稿
2014/08/21 职场文书
2016大学迎新欢迎词
2015/09/29 职场文书