在Ubuntu上部署开源博客系统Blog_mini

0.说明

        本文为开源博客系统Blog_mini的官方部署文档,通过本文的阅读,你将可以在一个全新的CentOS系统上完全部署Blog_mini,从而成功架设属于你的个人博客网站。

        这里使用的操作系统为:Ubuntu 15.10,理论上,只要操作系统上安装的Python版本为2.6.x或2.7.x,都可以成功部署Blog_mini。


1.获取Blog_mini源代码

        有以下两种方式可以获取Blog_mini的源代码:

  • 通过git的方式
  • 通过Blog_mini项目主页下载

        我们将介绍这两种方法,实际中,你只需要选择其中一种即可,我们推荐第一种方法。

(1)通过git获取源代码

  • 首先确保你的系统已经安装了git版本控制系统:

1

2

3

xpleaf@leaf:~$ git version

程序“git”尚未安装。 您可以使用以下命令安装:

sudo apt-get install git

  • 如果还没有安装,请通过apt-get方式安装:

1

2

xpleaf@leaf:~$ sudo apt-get install git

[sudo] xpleaf 的密码:

  • 安装完成后,在用户目录中创建一个project的目录:

1

2

3

xpleaf@leaf:~$ mkdir project

xpleaf@leaf:~$ cd project/

xpleaf@leaf:~/project$

  • 从Blog_mini项目地址中克隆源代码:

1

xpleaf@leaf:~/project$ git clone https://github.com/xpleaf/Blog_mini

        如果网络情况良好的话,很快就可以把代码克隆下来。

  • 查看Blog_mini的源代码目录结构:

1

2

3

xpleaf@leaf:~/project/Blog_minils

app        LICENSE    migrations  README.md     requirements.txt

config.py  manage.py  Procfile    requirements


(2)通过Blog_mini项目主页下载源代码

        如果你想通过该方式获得Blog_mini的源码的,那么请最好在有GUI界面的操作系统中进行操作,比如你可以先在Windows或Mac或有GUI界面的Linux操作系统中下载下来,再把它传到我们的CentOS操作系统中。

  • 进入项目主页:

https://github.com/xpleaf/Blog_mini

  • 点击Download ZIP按钮
  • 下载后的文件名应该是:Blog_mini-master.zip

        下载完成后,将其解压缩并传到Ubuntu操作系统中即可,Blog_mini的源码目录结构下方式(1)的是一样的。


2.安装pip

  • 执行下面的命令安装即可:

1

xpleaf@leaf:~/project/Blog_minisudo apt-get install python-pip


3.安装virtualenv

  • 执行下面的命令安装即可:

1

xpleaf@leaf:~/project/Blog_minisudo apt-get install virtualenv

        如果上面的命令说找不到virtualenv的,就使用下面的命令:


1

xpleaf@leaf:~/project/Blog_minisudo apt-get install python-virtualenv


4.创建虚拟环境venv

  • 在Blog_mini目录下执行下面的命令:

1

2

3

4

5

xpleaf@leaf:~/project/Blog_mini$ virtualenv venv

Running virtualenv with interpreter /usr/bin/python2

New python executable in venv/bin/python2

Also creating executable in venv/bin/python

Installing setuptools, pip...done.

  • 可以在Blog_mini下看到生成了一个venv目录:

1

2

3

xpleaf@leaf:~/project/Blog_minils

app        LICENSE    migrations  README.md     requirements.txt

config.py  manage.py  Procfile    requirements  venv


5.激活虚拟环境venv

  • 在Blog_mini目录下:

1

2

xpleaf@leaf:~/project/Blog_minisource venv/bin/activate

(venv)xpleaf@leaf:~/project/Blog_mini$

        注意看提示符的改变。


6.安装Blog_mini需求文件

  • 执行如下命令:

1

(venv)xpleaf@leaf:~/project/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目录下执行下面的命令:

1

2

3

4

(venv)xpleaf@leaf:~/project/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数据库:

1

2

3

(venv)xpleaf@leaf:~/project/Blog_minils

app        config.pyc   LICENSE    migrations  README.md     requirements.txt

config.py  data.sqlite  manage.py  Procfile    requirements  venv

        可以看到多了一个data.sqlite文件,这个文件就是sqlite数据库文件!

  • 运行Blog_mini:

1

2

3

4

5

(venv)xpleaf@leaf:~/project/Blog_mini$ gunicorn manage:app

[2016-03-08 11:49:11 +0000] [7189] [INFO] Starting gunicorn 19.4.5

[2016-03-08 11:49:11 +0000] [7189] [INFO] Listening at: http://127.0.0.1:8000 (7189)

[2016-03-08 11:49:11 +0000] [7189] [INFO] Using worker: sync

[2016-03-08 11:49:11 +0000] [7194] [INFO] Booting worker with pid: 7194

        上面的提示就说明Blog_mini已经成功运行了!不过这样的运行方式只能在本机以8000端口访问,如果你的Ubuntu操作系统本身没有GUI界面的话,你在本机也没有办法访问,所以我们可以用下面的方式运行。

  • 以80端口运行Blog_mini:

1

2

3

4

5

(venv)xpleaf@leaf:~/project/Blog_mini$ gunicorn -b 0.0.0.0:80  manage:app

[2016-03-08 11:50:43 +0000] [7202] [INFO] Starting gunicorn 19.4.5

[2016-03-08 11:50:43 +0000] [7202] [INFO] Listening at: http://0.0.0.0:80 (7202)

[2016-03-08 11:50:43 +0000] [7202] [INFO] Using worker: sync

[2016-03-08 11:50:43 +0000] [7207] [INFO] Booting worker with pid: 7207

        这样的话:

  • 如果你是在有公网IP地址的服务器部署Blog_mini的,只需要在互联网上任何一台主机的浏览器上输入你的公网IP地址,就可以访问Blog_mini了。
  • 如果你只是在局域网上部署Blog_mini的,那么在局域网上的任何一台主机的浏览器上输入你这台主机的IP地址也是可以访问的了。

        不过,如果无法访问的话,那可能是防火墙的问题,你可以先把防火墙关掉:


1

2

xpleaf@leaf:~$ sudo ufw disable

[sudo] xpleaf 的密码:

        因为博主最开始是学网络工程出身的,所以大家如果在网络通信上遇到任何问题,都可以给我回复提问,我将一一解答。 

        到了这一步,你已经是成功地把Blog_mini的服务器部署好了,接下来你就可以运营你的个人博客网站了!Blog_mini功能强大,但使用非常简单,你可以参考博主关于Blog_mini介绍的博文来了解它的功能,当然你也可以自己探索,相信这对你来说都非常容易!

        需要注意的是,Blog_mini支持后台管理(在主页底栏有'后台管理'登陆链接,点击即可进入登陆页面),下面是Blog_mini管理后台的默认账号密码:

  • 账号:blog_mini@163.com
  • 密码:blog_mini

        

        提示:在部署完Blog_mini后,里面是没有任何数据的,如果你需要一定的数据来测试Blog_mini的功能,可以在完成上面的操作后执行下面的命令:       


1

(venv)xpleaf@leaf:~/project/Blog_mini$ python manage.py deploy test_data

         这将会生成100篇博文和700条评论,同时还有博文分类和系统导航,以方便你验证Blog_mini的功能。


8.使用MySQL作为默认数据库来运行Blog_mini

(1)安装与配置MySQL

        这一点继续第6步的操作,我们将使用MySQL数据库,在执行下面的步骤之前,请确保你的系统上已经安装并配置了MySQL数据库。如果你还没有安装,并且不知道怎么安装,可以有两种方法:

  • 通过apt-get方式安装MySQL
  • 通过源码的方式安装MySQL

        第一种方法比较简单,不过博主也专门写了一篇博文来介绍使用yum安装MySQL的过程。可以查看这里的地址:《在Ubuntu上使用apt-get安装MySQL+安全优化》

        第二种方法虽然步骤比较多,但是也很容易实现,博主为此写了一篇完整的博文,包括了完整安装与配置MySQL的详细方法和步骤:《在Ubuntu上源码安装MySQL+安装问题解决+安全优化》

        新手可以直接使用第一种方法,当然觉得自己可以接受挑战的,也完全可以使用第二种方法!

        MySQL的安装与配置完成之后,接着做下面的操作。

(2)安装Python的MySQL函数库

  • 安装python必要的函数库:

1

(venv)xpleaf@leaf:~/project/Blog_minisudo apt-get install python-dev libmysqlclient-dev

  • 安装MySQL-python:

1

2

3

4

(venv)xpleaf@leaf:~/project/Blog_mini$ pip install MySQL-python

……

Successfully installed MySQL-python

Cleaning up...

        注意查看有没有安装成功的信息。

(3)为Blog_mini创建数据库

  • 退出虚拟环境,回到用户主目录中:

1

2

3

(venv)xpleaf@leaf:~/project/Blog_mini$ deactivate 

xpleaf@leaf:~/project/Blog_minicd

xpleaf@leaf:~$

  • 登陆到MySQL数据库中(请先确保MySQL服务已经开启):

1

2

3

4

[root@leaf ~]# mysql -u root -p

Enter password: 

 

mysql>

  • 为Blog_mini创建数据库:

1

2

3

4

5

6

7

8

9

10

11

12

13

mysql> create database blog_mini default character set utf8 collate utf8_general_ci;

Query OK, 1 row affected (0.04 sec)

 

mysql> show databases;

+--------------------+

| Database           |

+--------------------+

| information_schema |

| blog_mini          |

| mysql              |

| performance_schema |

+--------------------+

4 rows in set (0.04 sec)

        这里我们创建了名为`blog_mini`的数据库,同时指定编码字符集分别为utf8utf8_general_ic

(4)创建数据库路径环境变量

        Blog_mini的源码中指定了读取环境变量DATABASE_URL来获取数据库的路径,因此我们要为系统设定一个名为DATABASE_URL的环境变量,并且指定值为MySQL数据库的路径。

  • 设定系统环境变量:

1

xpleaf@leaf:~$ export DATABASE_URL=mysql://root:123456@127.0.0.1/blog_mini

        这里指定了使用的数据库路径为:mysql://root:123456@127.0.0.1/blog_mini,其中123456是密码,其它也很容易知道。

  • 验证系统环境变量:

1

2

xpleaf@leaf:~$ echo $DATABASE_URL

mysql://root:123456@127.0.0.1/blog_mini

        有上面的输出即说明我们的设置没有问题。

(5)初始化Blog_mini系统默认数据

        我们首先要初始化Blog_mini所需要的系统默认数据,以确保后面Blog_mini能够正确运行。

  • 进入project/Blog_mini目录,初始化虚拟环境:

1

2

3

xpleaf@leaf:~$ cd project/Blog_mini/

xpleaf@leaf:~/project/Blog_minisource venv/bin/activate

(venv)xpleaf@leaf:~/project/Blog_mini$

  • 初始化Blog_mini系统默认数据:

1

2

3

4

(venv)xpleaf@leaf:~/project/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:

1

2

3

4

5

(venv)xpleaf@leaf:~/project/Blog_mini$ gunicorn manage:app

[2016-03-08 11:49:11 +0000] [7189] [INFO] Starting gunicorn 19.4.5

[2016-03-08 11:49:11 +0000] [7189] [INFO] Listening at: http://127.0.0.1:8000 (7189)

[2016-03-08 11:49:11 +0000] [7189] [INFO] Using worker: sync

[2016-03-08 11:49:11 +0000] [7194] [INFO] Booting worker with pid: 7194

        上面的提示就说明Blog_mini已经成功运行了!不过这样的运行方式只能在本机以8000端口访问,如果你的Ubuntu操作系统本身没有GUI界面的话,你在本机也没有办法访问,所以我们可以用下面的方式运行。

  • 以80端口运行Blog_mini:

1

2

3

4

5

(venv)xpleaf@leaf:~/project/Blog_mini$ gunicorn -b 0.0.0.0:80  manage:app

[2016-03-08 11:50:43 +0000] [7202] [INFO] Starting gunicorn 19.4.5

[2016-03-08 11:50:43 +0000] [7202] [INFO] Listening at: http://0.0.0.0:80 (7202)

[2016-03-08 11:50:43 +0000] [7202] [INFO] Using worker: sync

[2016-03-08 11:50:43 +0000] [7207] [INFO] Booting worker with pid: 7207

        这样的话:

  • 如果你是在有公网IP地址的服务器部署Blog_mini的,只需要在互联网上任何一台主机的浏览器上输入你的公网IP地址,就可以访问Blog_mini了。
  • 如果你只是在局域网上部署Blog_mini的,那么在局域网上的任何一台主机的浏览器上输入你这台主机的IP地址也是可以访问的了。

        不过,如果无法访问的话,那可能是防火墙的问题,你可以先把防火墙关掉:


1

2

xpleaf@leaf:~$ sudo ufw disable

[sudo] xpleaf 的密码:

        因为博主最开始是学网络工程出身的,所以大家如果在网络通信上遇到任何问题,都可以给我回复提问,我将一一解答。 

        到了这一步,你已经是成功地把Blog_mini的服务器部署好了,接下来你就可以运营你的个人博客网站了!Blog_mini功能强大,但使用非常简单,你可以参考博主关于Blog_mini介绍的博文来了解它的功能,当然你也可以自己探索,相信这对你来说都非常容易!

        需要注意的是,Blog_mini支持后台管理(在主页底栏有'后台管理'登陆链接,点击即可进入登陆页面),下面是Blog_mini管理后台的默认账号密码:

  • 账号:blog_mini@163.com
  • 密码:blog_mini

         

        提示:在部署完Blog_mini后,里面是没有任何数据的,如果你需要一定的数据来测试Blog_mini的功能,可以在完成上面的操作后执行下面的命令:       


1

(venv) [root@leaf Blog_mini]# python manage.py deploy test_data

         这将会生成100篇博文和700条评论,同时还有博文分类和系统导航,以方便你验证Blog_mini的功能。

        在Ubuntu上部署Blog_mini的文档到这里就结束了,如果大家在部署的过程中出现什么问题,请在博文下面给我留言,我将尽最大努力帮助大家!谢谢大家!

时间: 2025-01-21 13:10:36

在Ubuntu上部署开源博客系统Blog_mini的相关文章

在CentOS上部署开源博客系统Blog_mini

0.说明         本文为开源博客系统Blog_mini的官方部署文档,通过本文的阅读,你将可以在一个全新的CentOS系统上完全部署Blog_mini,从而成功架设属于你的个人博客网站.         这里使用的操作系统为:CentOS 6.5,理论上,只要操作系统上安装的Python版本为2.6.x或2.7.x,都可以成功部署Blog_mini. 1.获取Blog_mini源代码         有以下两种方式可以获取Blog_mini的源代码: 通过git的方式 通过Blog_mi

Python Flask开源博客系统Blog_mini

  本博文在51CTO技术博客首发.         开源不易,Python良心之作,真心送给广大朋友,恳请给予支持,不胜感激!                  大家可以从下面的地址中去体验Blog_mini的功能,我把副本部署在了腾讯云上供大家使用: 地址:Blog_mini 账号:blog_mini@163.com 密码:blog_mini 0.Blog_mini送给你们:让每个人都轻松拥有可管理的个人博客         你从未架设过服务器或网站,希望可以接触一下这方面的知识--    

接地气又好用,8 款优秀的国产开源博客系统推荐

对于程序员来说,除了苦修技术,写博客将开发过程和开发经验记录下来,也是非常有意义的事情.既能帮助自己梳理思绪,也能让其他人避免重复踩坑,还能抛砖引玉,得到更多同行的指点和建议. 开源的博客系统非常多,其中不乏优秀之作,但最符合本地化需求的,当属国产.接下来,推荐几款优秀的且保持更新的国产开源博客系统. 1.Solo Solo 是一款一个命令就能搭建好的 Java 开源博客系统,包括 Markdown / TinyMCE / KindEditor.自定义导航(页面.链接).草稿夹.评论/回复邮件提

开源博客-秋色园QBlog多用户博客系统安装视频教程

说明: 从发布到现在,发现好多好多用户在安装和使用秋色园QBlog上遇到很多问题,特别是在"通用映射"这一块上. 虽然有多篇文章介绍如何安装使用,但是仍有不少用户不知道文章,或者对着文章操作时仍遗漏了某些操作,导致最终安装失败. 于是,今天抽了些时间,给大伙制作这个安装部署视频教程,希望对大伙有所帮助.   内容简介: 1:如何下载秋色园QBlog多用户开源博客系统   2:如何安装部署秋色园QBlog站点     下面请观看:[800*600] PS:如何开始播放:对着视频[flas

Python采用Django开发自己的博客系统_python

好久之前就想做一下自己的博客系统了,但是在网上查了查好像是需要会一些Node.js的相关知识,而且还要安装辣么多的库什么的,就不想碰了.但是我遇到了Django这么一款神器,没想到我的博客系统就这么建立起来了.虽然是最基础的类型.但是也算是成功了,这篇博客比较适合对Django有了一定了解的童鞋,如果是新手的话,建议先看一下django的基础知识点再来做实验,这样效率更高! 好了,话不多说,开始吧. 搭建框架 •创建项目及应用 搭建框架的意思,就是安装Django以及做好相关的配置.因为我是在P

在Ubuntu系统上安装Ghost博客平台的教程_node.js

今天我们将会在Ubuntu Server 14.04 LTS (Trusty)上安装一个博客平台Ghost. Ghost是一款设计优美的发布平台,很容易使用且对任何人都免费.它是免费的开源软件(FOSS),它的源码在Github上.截至2015年1月(LCTT 译注:原文为2014,应为2015),它的界面很简单还有分析面v板.编辑使用的是很便利的分屏显示. 因此有了这篇步骤明确的在Ubuntu Server上安装Ghost的教程:1. 升级Ubuntu 第一步是运行Ubuntu软件升级并安装一

gitblog-Apache上怎么配置Gitblog博客系统?

问题描述 Apache上怎么配置Gitblog博客系统? 在apache上运行Gitblog,有的页面是404? 据说Gitblog的URL是伪静态,怎么配置apache伪静态运行Gitblog? Gitblog官网在SAE上配置了伪静态可以. 求助怎么配置apache? 解决方案 http://blog.csdn.net/qianguozheng/article/details/47253049 解决方案二: http://www.cnblogs.com/mvpajun/archive/201

开源博客QBlog开发者视频教程:开篇-开发基础配置与系统运行(一)

前言: 经过初步的调查与反馈:秋色园QBlog高性能博客源码你下载了吗? 后续调查与反馈 发现很多新学者对开源博客秋色园QBlog的源码理解与掌握,存在着一定的困难. 因此,录制了这个视频,来帮助广大的网友更好的理解学习.   录制内容: 本次录制的内容为:QBlog开发基础配置与运行调试.   PS:本人首次录制有声视频,有点虚有点慌有点不习惯,望大伙多捧个人场,给点力,谢谢.   另外,秋色园上也同步开播: 640*535大小:http://www.cyqdata.com/qblog/art

云服务器 ECS 建站教程:部署Ghost博客(CentOS 7)

部署Ghost博客(CentOS 7) Ghost是一个免费的开源博客平台,使用JavaScript编写,基于Node.js,旨在简化个人博客和在线出版物的在线发布过程. 此外,将来随着业务的扩展,您可以利用阿里云强大的产品平台,平滑地横向和纵向扩展服务容量,例如: 扩展单个 ECS 实例的 CPU 和内存规格,增强服务器的处理能力. 增加多台 ECS 实例,并利用负载均衡,在多个实例中进行负载的均衡分配. 利用弹性伸缩(Auto Scaling),根据业务量自动增加或减少 ECS 实例的数量.