在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版本控制系统:
[email protected]:~$ git version
程序“git”尚未安装。 您可以使用以下命令安装:
sudo apt-get install git
  • 如果还没有安装,请通过apt-get方式安装:
[email protected]:~$ sudo apt-get install git
[sudo] xpleaf 的密码:
  • 安装完成后,在用户目录中创建一个project的目录:
[email protected]:~$ mkdir project
[email protected]f:~$ cd project/
[email protected]:~/project$
  • 从Blog_mini项目地址中克隆源代码:
[email protected]:~/project$ git clone https://github.com/xpleaf/Blog_mini

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

  • 查看Blog_mini的源代码目录结构:
[email protected]:~/project/Blog_mini$ ls
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

  • 执行下面的命令安装即可:
[email protected]:~/project/Blog_mini$ sudo apt-get install python-pip


3.安装virtualenv

  • 执行下面的命令安装即可:
[email protected]:~/project/Blog_mini$ sudo apt-get install virtualenv


4.创建虚拟环境venv

  • 在Blog_mini目录下执行下面的命令:
[email protected]:~/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目录:
[email protected]:~/project/Blog_mini$ ls
app        LICENSE    migrations  README.md     requirements.txt
config.py  manage.py  Procfile    requirements  venv


5.激活虚拟环境venv

  • 在Blog_mini目录下:
[email protected]:~/project/Blog_mini$ source venv/bin/activate
(venv)[email protected]:~/project/Blog_mini$

注意看提示符的改变。



6.安装Blog_mini需求文件

  • 执行如下命令:
(venv)[email protected]:~/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目录下执行下面的命令:
(venv)[email protected]:~/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数据库:
(venv)[email protected]:~/project/Blog_mini$ ls
app        config.pyc   LICENSE    migrations  README.md     requirements.txt
config.py  data.sqlite  manage.py  Procfile    requirements  venv

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

  • 运行Blog_mini:
(venv)[email protected]:~/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:
(venv)[email protected]:~/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地址也是可以访问的了。

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

[email protected]:~$ sudo ufw disable
[sudo] xpleaf 的密码:

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

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

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

  • 账号:[email protected]
  • 密码:blog_mini

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

(venv)[email protected]:~/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必要的函数库:
(venv)[email protected]:~/project/Blog_mini$ sudo apt-get install python-dev libmysqlclient-dev
  • 安装MySQL-python:
(venv)[email protected]:~/project/Blog_mini$ pip install MySQL-python
……
Successfully installed MySQL-python
Cleaning up...

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

(3)为Blog_mini创建数据库

  • 退出虚拟环境,回到用户主目录中:
(venv)[email protected]:~/project/Blog_mini$ deactivate 
[email protected]:~/project/Blog_mini$ cd
[email protected]:~$
  • 登陆到MySQL数据库中(请先确保MySQL服务已经开启):
[[email protected] ~]# 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.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数据库的路径。

  • 设定系统环境变量:
[email protected]:~$ export DATABASE_URL=mysql://root:[email protected]/blog_mini

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

  • 验证系统环境变量:
[email protected]:~$ echo $DATABASE_URL
mysql://root:[email protected]/blog_mini

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

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

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

  • 进入project/Blog_mini目录,初始化虚拟环境:
[email protected]:~$ cd project/Blog_mini/
[email protected]:~/project/Blog_mini$ source venv/bin/activate
(venv)[email protected]:~/project/Blog_mini$
  • 初始化Blog_mini系统默认数据:
(venv)[email protected]:~/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:
(venv)[email protected]:~/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:
(venv)[email protected]:~/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地址也是可以访问的了。

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

[email protected]:~$ sudo ufw disable
[sudo] xpleaf 的密码:

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

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

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

  • 账号:[email protected]
  • 密码:blog_mini

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

(venv) [[email protected] Blog_mini]# python manage.py deploy test_data

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

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

时间: 2024-10-12 15:17:32

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

开源分享:用Python开发的开源博客系统Blog_mini

本博文在51CTO技术博客首发. 开源不易,Python良心之作,真心送给广大朋友,恳请给予支持,不胜感激! 0.Blog_mini送给你们:让每个人都轻松拥有可管理的个人博客 你从未架设过服务器或网站,希望可以接触一下这方面的知识-- 你从未使用过Linux操作系统,希望可以接触一下这方面的知识-- 你是初中生/高中生/大学生,希望能在学业之余锻炼一下自己的IT技能-- 你是Python新手,希望能有一个用Python开发的个人博客-- 你学习Python许久,希望有一个开源的项目可以用来学习

如何在CentOS7上部署Ghost博客系统

目录 准备工作 新建用户 安装Nginx服务 将端口添加到防火墙里或者关闭防火墙 安装MySql5.7 安装官方的Ghost工具ghost-cli 网站目录准备,此目录必须为空目录 安装Ghost 启动ghost Nginx的反向代理配置 CentOS版本 CentOS-7-x86_64-DVD-1810 Ghost版本 2.23.4 本文以下所有操作和命令均是根据官网setup说明进行,官网仅针对Ubuntu有安装说明,没有在CentOS里的安装说明,网上能Google或Baidu到的所有文章

在 IPFS 上部署静态博客

本文主要记录在 IPFS 上部署博客的过程,用以熟悉 IPFS 的基本操作.https://ipfs.0ranga.com 就是博主博客在 IPFS 上部署的版本. IPFS 安装 IPFS 首先得在计算机上安装 IPFS,博主 PC 的操作系统的 Arch,可以直接使用包管理器进行安装.如果之后需要为博客添加域名则需要在云服务器上部署 IPFS,博主选择的是 DightOcean 的 CentOS 7.所以提供了以上两种操作系统的安装方式,其他系统如何安装请自行探索. 123456789101

在CentOS 6.7部署wordpress博客系统Discuz论坛系统

在CentOS 6.7部署wordpress博客系统Discuz论坛系统 服务器操作系统:CentOS6.7 博客部署服务器:Httpd-2.2 后台语言:PHP 数据库:MySql 前端框架:WordPress 1.首先安装需要的软件 yum -y install mysql-server httpd phpphp-mysql 2.启动mysql以及httpd服务 service mysqld start service httpd start 3.创建虚拟主机 4.测试 PHP 和Httpd

基于开源博客系统(jpress)搭建网站

基于开源博客系统(jpress)搭建网站 JPress 使用 Java8 开发,基于流行的JFinal和Jboot框架. 目前JPress已经内置的文章和页面其实是两个模块,可以移除和新增其他模块,因此,可以通过新增模块的方式,使用JPress来做博客.论坛.问答社区,商城等几乎可以用来做任何类型的网站. JPress充分利用中国互联网生态.原生支持和微信公众号.小程序对接.基于LGPL开源协议. 官网:http://www.jpress.io/ https://gitee.com/fuhai/

码云上部署hexo博客框架

title: 码云上部署hexo博客框架 Hexo框架在码云上实现个人博客 本文受 https://www.jianshu.com/p/84ae2ba1c133 启发编写 本地调试 安装完Node.js https://nodejs.org/en/ 安装git bash工具 https://gitforwindows.org/ 在目录下建立博客文件夹,同时cd进目录 右键 git bash here 输入命令 npm install -g hexo-cli 查看是否安装成功,输入命令 hexo

Coding上部署Ghost博客

Ghost构建于Node.js平台之上,支持0.10.*版本的Node.js. 在你的本地计算机上运行Ghost其实很简单,前提是你已经安装了Node.js. 什么是Node.js? 略过 在Windows上安装Node 访问 http://nodejs.org 点击install,将会下载一个'.msi'文件. 点击该文件启动一个安装程序,这将会安装Node和npm. 通过安装程序一步一步完成安装,直到屏幕上显示你已经成功安装Node.js. 通过cmd输入如下命令显示版本号表示安装成功 下载

搭建Ghost 基于Node.js的开源博客系统

 安装MySQL # 安装MySql $ apt-get update # 更新组件 $ apt-get install mysql-server mysql-client -y # 快速安装-y代表默认选择y省去了回车,这时只需要设置mysql的root密码 # 设置mysql的编码 $ sudo vi /etc/mysql/mysql.cnf # 搜索到[mysqld] 插入collation-server = utf8_unicode_ci init-connect = 'SET NA

wordpress 开源博客系统部署

 1.开发工具 服务器 apache    下载地址:http://www.apache.org   http://httpd.apache.org/download.cgi 数据库 mysql      下载地址:http://www.mysql.com 编译工具 php5    下载地址:http://www.php.net 2.配置 Apache 将httpd-2.4.10-win64-VC11.zip解压的到 D:\server\Apache24 打开D:\server\Apache