共计 13089 个字符,预计需要花费 33 分钟才能阅读完成。
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 版本控制系统:
linuxidc@leaf:~$ git version
程序“git”尚未安装。您可以使用以下命令安装:
sudo apt-get install git
如果还没有安装,请通过 apt-get 方式安装:
linuxidc@leaf:~$ sudo apt-get install git
[sudo] linuxidc 的密码:
安装完成后,在用户目录中创建一个 project 的目录:
linuxidc@leaf:~$ mkdir project
linuxidc@leaf:~$ cd project/
linuxidc@leaf:~/project$
从 Blog_mini 项目地址中克隆源代码:
linuxidc@leaf:~/project$ git clone https://github.com/linuxidc/Blog_mini
如果网络情况良好的话,很快就可以把代码克隆下来。
查看 Blog_mini 的源代码目录结构:
linuxidc@leaf:~/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/linuxidc/Blog_mini
点击 Download ZIP 按钮
下载后的文件名应该是:Blog_mini-master.zip
下载完成后,将其解压缩并传到 Ubuntu 操作系统中即可,Blog_mini 的源码目录结构下方式(1)的是一样的。
2. 安装 pip
执行下面的命令安装即可:
linuxidc@leaf:~/project/Blog_mini$ sudo apt-get install python-pip
3. 安装 virtualenv
执行下面的命令安装即可:
linuxidc@leaf:~/project/Blog_mini$ sudo apt-get install virtualenv
如果上面的命令说找不到 virtualenv 的,就使用下面的命令:
linuxidc@leaf:~/project/Blog_mini$ sudo apt-get install python-virtualenv
4. 创建虚拟环境 venv
在 Blog_mini 目录下执行下面的命令:
linuxidc@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 目录:
linuxidc@leaf:~/project/Blog_mini$ ls
app LICENSE migrations README.md requirements.txt
config.py manage.py Procfile requirements venv
5. 激活虚拟环境 venv
在 Blog_mini 目录下:
linuxidc@leaf:~/project/Blog_mini$ source venv/bin/activate
(venv)linuxidc@leaf:~/project/Blog_mini$
注意看提示符的改变。
6. 安装 Blog_mini 需求文件
执行如下命令:
(venv)linuxidc@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 目录下执行下面的命令:
(venv)linuxidc@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 数据库:
(venv)linuxidc@leaf:~/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)linuxidc@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:
(venv)linuxidc@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 地址也是可以访问的了。
不过,如果无法访问的话,那可能是防火墙的问题,你可以先把防火墙关掉:
linuxidc@leaf:~$ sudo ufw disable
[sudo] linuxidc 的密码:
因为博主最开始是学网络工程出身的,所以大家如果在网络通信上遇到任何问题,都可以给我回复提问,我将一一解答。
到了这一步,你已经是成功地把 Blog_mini 的服务器部署好了,接下来你就可以运营你的个人博客网站了!Blog_mini 功能强大,但使用非常简单,你可以参考博主关于 Blog_mini 介绍的博文来了解它的功能,当然你也可以自己探索,相信这对你来说都非常容易!
需要注意的是,Blog_mini 支持后台管理(在主页底栏有 ’ 后台管理 ’ 登陆链接,点击即可进入登陆页面),下面是 Blog_mini 管理后台的默认账号密码:
账号:blog_mini@163.com
密码:blog_mini
提示:在部署完 Blog_mini 后,里面是没有任何数据的,如果你需要一定的数据来测试 Blog_mini 的功能,可以在完成上面的操作后执行下面的命令:
(venv)linuxidc@leaf:~/project/Blog_mini$ python manage.py deploy test_data
这将会生成 100 篇博文和 700 条评论,同时还有博文分类和系统导航,以方便你验证 Blog_mini 的功能。
更多详情见请继续阅读下一页的精彩内容:http://www.linuxidc.com/Linux/2016-03/129042p2.htm
8. 使用 MySQL 作为默认数据库来运行 Blog_mini
(1)安装与配置 MySQL
这一点继续第 6 步的操作,我们将使用 MySQL 数据库,在执行下面的步骤之前,请确保你的系统上已经安装并配置了 MySQL 数据库。如果你还没有安装,并且不知道怎么安装,可以有两种方法:
通过 apt-get 方式安装 MySQL
通过源码的方式安装 MySQL
第一种方法比较简单,不过博主也专门写了一篇博文来介绍使用 yum 安装 MySQL 的过程。可以查看这里的地址:《在 Ubuntu 上使用 apt-get 安装 MySQL+ 安全优化》http://www.linuxidc.com/Linux/2016-03/129044.htm
第二种方法虽然步骤比较多,但是也很容易实现,博主为此写了一篇完整的博文,包括了完整安装与配置 MySQL 的详细方法和步骤:《在 Ubuntu 上源码安装 MySQL+ 安装问题解决 + 安全优化》http://www.linuxidc.com/Linux/2016-03/129043.htm
新手可以直接使用第一种方法,当然觉得自己可以接受挑战的,也完全可以使用第二种方法!
MySQL 的安装与配置完成之后,接着做下面的操作。
(2)安装 Python 的 MySQL 函数库
安装 python 必要的函数库:
(venv)linuxidc@leaf:~/project/Blog_mini$ sudo apt-get install python-dev libmysqlclient-dev
安装 MySQL-python:
(venv)linuxidc@leaf:~/project/Blog_mini$ pip install MySQL-python
……
Successfully installed MySQL-python
Cleaning up…
注意查看有没有安装成功的信息。
(3)为 Blog_mini 创建数据库
退出虚拟环境,回到用户主目录中:
(venv)linuxidc@leaf:~/project/Blog_mini$ deactivate
linuxidc@leaf:~/project/Blog_mini$ cd
linuxidc@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.04 sec)
mysql> show databases;
+——————–+
| Database |
+——————–+
| information_schema |
| blog_mini |
| mysql |
| performance_schema |
+——————–+
4 rows in set (0.04 sec)
这里我们创建了名为 `blog_mini` 的数据库,同时指定编码和字符集分别为 utf8 和 utf8_general_ic。
(4)创建数据库路径环境变量
Blog_mini 的源码中指定了读取环境变量 DATABASE_URL 来获取数据库的路径,因此我们要为系统设定一个名为 DATABASE_URL 的环境变量,并且指定值为 MySQL 数据库的路径。
设定系统环境变量:
linuxidc@leaf:~$ export DATABASE_URL=mysql://root:123456@127.0.0.1/blog_mini
这里指定了使用的数据库路径为:mysql://root:123456@127.0.0.1/blog_mini,其中 123456 是密码,其它也很容易知道。
验证系统环境变量:
linuxidc@leaf:~$ echo $DATABASE_URL
mysql://root:123456@127.0.0.1/blog_mini
有上面的输出即说明我们的设置没有问题。
(5)初始化 Blog_mini 系统默认数据
我们首先要初始化 Blog_mini 所需要的系统默认数据,以确保后面 Blog_mini 能够正确运行。
进入 project/Blog_mini 目录,初始化虚拟环境:
linuxidc@leaf:~$ cd project/Blog_mini/
linuxidc@leaf:~/project/Blog_mini$ source venv/bin/activate
(venv)linuxidc@leaf:~/project/Blog_mini$
初始化 Blog_mini 系统默认数据:
(venv)linuxidc@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:
(venv)linuxidc@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:
(venv)linuxidc@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 地址也是可以访问的了。
不过,如果无法访问的话,那可能是防火墙的问题,你可以先把防火墙关掉:
linuxidc@leaf:~$ sudo ufw disable
[sudo] linuxidc 的密码:
因为博主最开始是学网络工程出身的,所以大家如果在网络通信上遇到任何问题,都可以给我回复提问,我将一一解答。
到了这一步,你已经是成功地把 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 的功能。
在 Ubuntu 上部署 Blog_mini 的文档到这里就结束了,如果大家在部署的过程中出现什么问题,请在博文下面给我留言,我将尽最大努力帮助大家!谢谢大家!
本文永久更新链接地址:http://www.linuxidc.com/Linux/2016-03/129042.htm
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 版本控制系统:
linuxidc@leaf:~$ git version
程序“git”尚未安装。您可以使用以下命令安装:
sudo apt-get install git
如果还没有安装,请通过 apt-get 方式安装:
linuxidc@leaf:~$ sudo apt-get install git
[sudo] linuxidc 的密码:
安装完成后,在用户目录中创建一个 project 的目录:
linuxidc@leaf:~$ mkdir project
linuxidc@leaf:~$ cd project/
linuxidc@leaf:~/project$
从 Blog_mini 项目地址中克隆源代码:
linuxidc@leaf:~/project$ git clone https://github.com/linuxidc/Blog_mini
如果网络情况良好的话,很快就可以把代码克隆下来。
查看 Blog_mini 的源代码目录结构:
linuxidc@leaf:~/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/linuxidc/Blog_mini
点击 Download ZIP 按钮
下载后的文件名应该是:Blog_mini-master.zip
下载完成后,将其解压缩并传到 Ubuntu 操作系统中即可,Blog_mini 的源码目录结构下方式(1)的是一样的。
2. 安装 pip
执行下面的命令安装即可:
linuxidc@leaf:~/project/Blog_mini$ sudo apt-get install python-pip
3. 安装 virtualenv
执行下面的命令安装即可:
linuxidc@leaf:~/project/Blog_mini$ sudo apt-get install virtualenv
如果上面的命令说找不到 virtualenv 的,就使用下面的命令:
linuxidc@leaf:~/project/Blog_mini$ sudo apt-get install python-virtualenv
4. 创建虚拟环境 venv
在 Blog_mini 目录下执行下面的命令:
linuxidc@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 目录:
linuxidc@leaf:~/project/Blog_mini$ ls
app LICENSE migrations README.md requirements.txt
config.py manage.py Procfile requirements venv
5. 激活虚拟环境 venv
在 Blog_mini 目录下:
linuxidc@leaf:~/project/Blog_mini$ source venv/bin/activate
(venv)linuxidc@leaf:~/project/Blog_mini$
注意看提示符的改变。
6. 安装 Blog_mini 需求文件
执行如下命令:
(venv)linuxidc@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 目录下执行下面的命令:
(venv)linuxidc@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 数据库:
(venv)linuxidc@leaf:~/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)linuxidc@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:
(venv)linuxidc@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 地址也是可以访问的了。
不过,如果无法访问的话,那可能是防火墙的问题,你可以先把防火墙关掉:
linuxidc@leaf:~$ sudo ufw disable
[sudo] linuxidc 的密码:
因为博主最开始是学网络工程出身的,所以大家如果在网络通信上遇到任何问题,都可以给我回复提问,我将一一解答。
到了这一步,你已经是成功地把 Blog_mini 的服务器部署好了,接下来你就可以运营你的个人博客网站了!Blog_mini 功能强大,但使用非常简单,你可以参考博主关于 Blog_mini 介绍的博文来了解它的功能,当然你也可以自己探索,相信这对你来说都非常容易!
需要注意的是,Blog_mini 支持后台管理(在主页底栏有 ’ 后台管理 ’ 登陆链接,点击即可进入登陆页面),下面是 Blog_mini 管理后台的默认账号密码:
账号:blog_mini@163.com
密码:blog_mini
提示:在部署完 Blog_mini 后,里面是没有任何数据的,如果你需要一定的数据来测试 Blog_mini 的功能,可以在完成上面的操作后执行下面的命令:
(venv)linuxidc@leaf:~/project/Blog_mini$ python manage.py deploy test_data
这将会生成 100 篇博文和 700 条评论,同时还有博文分类和系统导航,以方便你验证 Blog_mini 的功能。
更多详情见请继续阅读下一页的精彩内容:http://www.linuxidc.com/Linux/2016-03/129042p2.htm