0.说明python
本文为开源博客系统Blog_mini的官方部署文档,经过本文的阅读,你将能够在一个全新的CentOS系统上彻底部署Blog_mini,从而成功架设属于你的我的博客网站。mysql
这里使用的操做系统为:CentOS 6.5,理论上,只要操做系统上安装的Python版本为2.6.x或2.7.x,均可以成功部署Blog_mini。
git
更新说明:2017-02-06测试,在腾讯云上使用CentOS 7.3来进行安装也是很是完美的,依然能够正常使用。github
1.获取Blog_mini源代码
sql
有如下两种方式能够获取Blog_mini的源代码:
数据库
经过git的方式浏览器
经过Blog_mini项目主页下载安全
咱们将介绍这两种方法,实际中,你只须要选择其中一种便可,咱们推荐第一种方法。
bash
(1)经过git获取源代码服务器
首先确保你的系统已经安装了git版本控制系统:
[root@leaf ~]# git --version git version 1.7.1
若是尚未安装,请经过yum方式安装:
[root@leaf ~]# yum install git
安装完成后,在用户目录中建立一个project的目录:
[root@leaf ~]# mkdir project [root@leaf ~]# cd project [root@leaf project]#
从Blog_mini项目地址中克隆源代码:
[root@leaf project]# git clone https://github.com/xpleaf/Blog_mini
若是网络状况良好的话,很快就能够把代码克隆下来。
查看Blog_mini的源代码目录结构:
[root@leaf project]# cd Blog_mini/ [root@leaf Blog_mini]# ls app LICENSE migrations requirements config.py manage.py Procfile requirements.txt config.pyc manage.pyc README.md
(2)经过Blog_mini项目主页下载源代码
若是你想经过该方式得到Blog_mini的源码的,那么请最好在有GUI界面的操做系统中进行操做,好比你能够先在Windows或Mac或有GUI界面的Linux操做系统中下载下来,再把它传到咱们的CentOS操做系统中。
进入项目主页:
https://github.com/xpleaf/Blog_mini
点击Download ZIP按钮
下载后的文件名应该是:Blog_mini-master.zip
下载完成后,将其解压缩并传到CentOS操做系统中便可,Blog_mini的源码目录结构下方式(1)的是同样的。
2.安装virtualenv
执行下面的命令安装便可:
[root@leaf Blog_mini]# easy_install -i http://pypi.douban.com/simple virtualenv
CentOS上默认已是安装了easy_install,若是尚未安装,请先安装easy_install.
3.建立虚拟环境venv
在Blog_mini目录下执行下面的命令:
[root@leaf Blog_mini]# virtualenv venv New python executable in /root/project/Blog_mini/venv/bin/python Installing setuptools, pip, wheel...done.
能够在Blog_mini下看到生成了一个venv目录:
[root@leaf Blog_mini]# ls app LICENSE migrations requirements config.py manage.py Procfile requirements.txt config.pyc manage.pyc README.md venv
4.安装pip
执行以下命令:
[root@leaf Blog_mini]# easy_install -i http://pypi.douban.com/simple pip
虽然在进行第3步操做的时候也会安装pip,可是有可能会不成功,因此这里仍是要确保安装无误。
5.激活虚拟环境venv
在Blog_mini目录下:
[root@leaf Blog_mini]# source venv/bin/activate (venv) [root@leaf Blog_mini]#
注意看提示符的改变。
6.安装Blog_mini需求文件
执行以下命令:
(venv) [root@leaf Blog_mini]# pip install -r requirements/common.txt
由于这里要安装Blog_mini所需的一些扩展包,因此须要必定时间,固然若是网络良好的话,很快就能够安装完成。
来看这一步,除了数据库的配置之外,Blog_mini的所有需求环境已经搭建好了,接下来要完成下面的两个任何之一:
使用sqlite做为默认数据库来运行Blog_mini
使用MySQL做为默认数据库来运行Blog_mini
数据库的使用只须要使用其中一种便可。
若是你是新手,或者你只是想快速搭建好基于Blog_mini的博客网站,你能够选择第一种,由于这不须要你作任何的配置。
若是你对MySQL的安装与使用自己有比较多的了解,同时你也想得到更好的性能,能够选择第二种。
固然,下面我也会给出详细的使用方法。
7.使用sqlite做为默认数据库来运行Blog_mini
Python自己就自带了sqlite数据库,所以若是你要使用sqlite来做为默认数据库,你不须要作任何配置。
接下来要作的就是运行Blog_mini了。
生成Blog_mini所须要的系统默认数据,请在Blog_mini目录下执行下面的命令:
(venv) [root@leaf Blog_mini]# python manage.py deploy product INFO [alembic.runtime.migration] Context impl SQLiteImpl. INFO [alembic.runtime.migration] Will assume non-transactional DDL. INFO [alembic.runtime.migration] Running upgrade -> 051691f120e6, fit to MySQL
若是出现上面的提示就说明成功了!对于最后面出现的'fit to MySQL'你们不用以为疑惑,这只是当时的一个备注,用来注明后面你要使用MySQL也是能够的,没有太大的意义。
查看生成的sqlite数据库:
(venv) [root@leaf Blog_mini]# ls app data.sqlite manage.pyc README.md venv config.py LICENSE migrations requirements config.pyc manage.py Procfile requirements.txt
能够看到多了一个data.sqlite文件,这个文件就是sqlite数据库文件!
运行Blog_mini:
(venv) [root@leaf Blog_mini]# gunicorn manage:app [2016-03-07 01:57:32 +0000] [7273] [INFO] Starting gunicorn 19.4.5 [2016-03-07 01:57:32 +0000] [7273] [INFO] Listening at: http://127.0.0.1:8000 (7273) [2016-03-07 01:57:32 +0000] [7273] [INFO] Using worker: sync [2016-03-07 01:57:32 +0000] [7278] [INFO] Booting worker with pid: 7278
上面的提示就说明Blog_mini已经成功运行了!不过这样的运行方式只能在本机以8000端口访问,若是你的CentOS操做系统自己没有GUI界面的话,你在本机也没有办法访问,因此咱们能够用下面的方式运行。
以80端口运行Blog_mini:
(venv) [root@leaf Blog_mini]# gunicorn -b 0.0.0.0:80 manage:app [2016-03-07 02:01:46 +0000] [7317] [INFO] Starting gunicorn 19.4.5 [2016-03-07 02:01:46 +0000] [7317] [INFO] Listening at: http://0.0.0.0:80 (7317) [2016-03-07 02:01:46 +0000] [7317] [INFO] Using worker: sync [2016-03-07 02:01:46 +0000] [7322] [INFO] Booting worker with pid: 7322
这样的话:
若是你是在有公网IP地址的服务器部署Blog_mini的,只须要在互联网上任何一台主机的浏览器上输入你的公网IP地址,就能够访问Blog_mini了。
若是你只是在局域网上部署Blog_mini的,那么在局域网上的任何一台主机的浏览器上输入你这台主机的IP地址也是能够访问的了。
不过,若是没法访问的话,那多是防火墙的问题,你能够先把防火墙关掉:
(venv) [root@leaf Blog_mini]# /etc/init.d/iptables stop iptables: Setting chains to policy ACCEPT: filter [ OK ] iptables: Flushing firewall rules: [ OK ] iptables: Unloading modules: [ OK ]
由于博主最开始是学网络工程出身的,因此你们若是在网络通讯上遇到任何问题,均可以给我回复提问,我将一一解答。
到了这一步,你已是成功地把Blog_mini的服务器部署好了,接下来你就能够运营你的我的博客网站了!Blog_mini功能强大,但使用很是简单,你能够参考博主关于Blog_mini介绍的博文来了解它的功能,固然你也能够本身探索,相信这对你来讲都很是容易!
须要注意的是,Blog_mini支持后台管理(在主页底栏有'后台管理'登录连接,点击便可进入登录页面),下面是Blog_mini管理后台的默认帐号密码:
帐号:blog_mini@163.com
密码:blog_mini
提示:在部署完Blog_mini后,里面是没有任何数据的,若是你须要必定的数据来测试Blog_mini的功能,能够在完成上面的操做后执行下面的命令:
(venv) [root@leaf Blog_mini]# python manage.py deploy test_data
这将会生成100篇博文和700条评论,同时还有博文分类和系统导航,以方便你验证Blog_mini的功能。
8.使用MySQL做为默认数据库来运行Blog_mini
(1)安装与配置MySQL
这一点继续第6步的操做,咱们将使用MySQL数据库,在执行下面的步骤以前,请确保你的系统上已经安装并配置了MySQL数据库。若是你尚未安装,而且不知道怎么安装,能够有两种方法:
经过yum方式安装MySQL
经过源码的方式安装MySQL
第一种方法比较简单,不过博主也专门写了一篇博文来介绍使用yum安装MySQL的过程。能够查看这里的地址:《在CentOS上使用yum安装MySQL+安全优化》
第二种方法虽然步骤比较多,可是也很容易实现,博主为此写了一篇完整的博文,包括了完整安装与配置MySQL的详细方法和步骤:《在CentOS上源码安装MySQL+安装问题解决+安全优化》
新手能够直接使用第一种方法,固然以为本身能够接受挑战的,也彻底可使用第二种方法!
MySQL的安装与配置完成以后,接着作下面的操做。
(2)安装Python的MySQL函数库
安装MySQL-python依赖函数库:
(venv) [root@leaf Blog_mini]# yum install python-devel mysql-devel zlib-devel openssl-devel
安装MySQL-python:
(venv) [root@leaf Blog_mini]# pip install MySQL-python …… Successfully built MySQL-python Installing collected packages: MySQL-python Successfully installed MySQL-python-1.2.5
注意查看有没有安装成功的信息。
(3)为Blog_mini建立数据库
退出虚拟环境,回到用户主目录中:
(venv) [root@leaf Blog_mini]# deactivate [root@leaf Blog_mini]# cd [root@leaf ~]#
登录到MySQL数据库中(请先确保MySQL服务已经开启):
[root@leaf ~]# mysql -u root -p Enter password: mysql>
为Blog_mini建立数据库:
mysql> create database blog_mini default character set utf8 collate utf8_general_ci; Query OK, 1 row affected (0.00 sec) mysql> show databases; +--------------------+ | Database | +--------------------+ | information_schema | | blog_mini | | mysql | +--------------------+ 3 rows in set (0.00 sec)
这里咱们建立了名为`blog_mini`的数据库,同时指定编码和字符集分别为utf8和utf8_general_ic。
(4)建立数据库路径环境变量
Blog_mini的源码中指定了读取环境变量DATABASE_URL来获取数据库的路径,所以咱们要为系统设定一个名为DATABASE_URL的环境变量,而且指定值为MySQL数据库的路径。
设定系统环境变量:
[root@leaf ~]# export DATABASE_URL=mysql://root:123456@127.0.0.1/blog_mini
这里指定了使用的数据库路径为:mysql://root:123456@127.0.0.1/blog_mini,其中123456是密码,其它也很容易知道。
验证系统环境变量:
[root@leaf ~]# echo $DATABASE_URL mysql://root:123456@127.0.0.1/blog_mini
有上面的输出即说明咱们的设置没有问题。
(5)初始化Blog_mini系统默认数据
咱们首先要初始化Blog_mini所须要的系统默认数据,以确保后面Blog_mini可以正确运行。
进入project/Blog_mini目录,初始化虚拟环境:
[root@leaf ~]# cd project/Blog_mini/ [root@leaf Blog_mini]# source venv/bin/activate (venv) [root@leaf Blog_mini]#
初始化Blog_mini系统默认数据:
(venv) [root@leaf Blog_mini]# python manage.py deploy product INFO [alembic.runtime.migration] Context impl MySQLImpl. INFO [alembic.runtime.migration] Will assume non-transactional DDL. INFO [alembic.runtime.migration] Running upgrade -> 051691f120e6, fit to MySQL
(6)运行Blog_mini
运行Blog_mini:
(venv) [root@leaf Blog_mini]# gunicorn manage:app [2016-03-07 01:57:32 +0000] [7273] [INFO] Starting gunicorn 19.4.5 [2016-03-07 01:57:32 +0000] [7273] [INFO] Listening at: http://127.0.0.1:8000 (7273) [2016-03-07 01:57:32 +0000] [7273] [INFO] Using worker: sync [2016-03-07 01:57:32 +0000] [7278] [INFO] Booting worker with pid: 7278
上面的提示就说明Blog_mini已经成功运行了!不过这样的运行方式只能在本机以8000端口访问,若是你的CentOS操做系统自己没有GUI界面的话,你在本机也没有办法访问,因此咱们能够用下面的方式运行。
以80端口运行Blog_mini:
(venv) [root@leaf Blog_mini]# gunicorn -b 0.0.0.0:80 manage:app [2016-03-07 02:01:46 +0000] [7317] [INFO] Starting gunicorn 19.4.5 [2016-03-07 02:01:46 +0000] [7317] [INFO] Listening at: http://0.0.0.0:80 (7317) [2016-03-07 02:01:46 +0000] [7317] [INFO] Using worker: sync [2016-03-07 02:01:46 +0000] [7322] [INFO] Booting worker with pid: 7322
这样的话:
若是你是在有公网IP地址的服务器部署Blog_mini的,只须要在互联网上任何一台主机的浏览器上输入你的公网IP地址,就能够访问Blog_mini了。
若是你只是在局域网上部署Blog_mini的,那么在局域网上的任何一台主机的浏览器上输入你这台主机的IP地址也是能够访问的了。
不过,若是没法访问的话,那多是防火墙的问题,你能够先把防火墙关掉:
(venv) [root@leaf Blog_mini]# /etc/init.d/iptables stop iptables: Setting chains to policy ACCEPT: filter [ OK ] iptables: Flushing firewall rules: [ OK ] iptables: Unloading modules: [ OK ]
由于博主最开始是学网络工程出身的,因此你们若是在网络通讯上遇到任何问题,均可以给我回复提问,我将一一解答。
到了这一步,你已是成功地把Blog_mini的服务器部署好了,接下来你就能够运营你的我的博客网站了!Blog_mini功能强大,但使用很是简单,你能够参考博主关于Blog_mini介绍的博文来了解它的功能,固然你也能够本身探索,相信这对你来讲都很是容易!
须要注意的是,Blog_mini支持后台管理(在主页底栏有'后台管理'登录连接,点击便可进入登录页面),下面是Blog_mini管理后台的默认帐号密码:
帐号:blog_mini@163.com
密码:blog_mini
提示:在部署完Blog_mini后,里面是没有任何数据的,若是你须要必定的数据来测试Blog_mini的功能,能够在完成上面的操做后执行下面的命令:
(venv) [root@leaf Blog_mini]# python manage.py deploy test_data
这将会生成100篇博文和700条评论,同时还有博文分类和系统导航,以方便你验证Blog_mini的功能。
在CentOS上部署Blog_mini的文档到这里就结束了,若是你们在部署的过程当中出现什么问题,请在博文下面给我留言,我将尽最大努力帮助你们!谢谢你们!