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

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
RDS MySQL Serverless 高可用系列,价值2615元额度,1个月
简介:

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_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


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

1
xpleaf@leaf:~ /project/Blog_mini sudo  apt-get  install  python-pip




3.安装virtualenv


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

1
xpleaf@leaf:~ /project/Blog_mini sudo  apt-get  install  virtualenv

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

1
xpleaf@leaf:~ /project/Blog_mini sudo  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_mini ls
app        LICENSE    migrations  README.md     requirements.txt
config.py  manage.py  Procfile    requirements  venv




5.激活虚拟环境venv


  • 在Blog_mini目录下:

1
2
xpleaf@leaf:~ /project/Blog_mini source  venv /bin/activate
(venv)xpleaf@leaf:~ /project/Blog_mini $

        注意看提示符的改变。




6.安装Blog_mini需求文件


  • 执行如下命令:

1
(venv)xpleaf@leaf:~ /project/Blog_mini $ pip  install  -i http: //pypi .douban.com /simple/  -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_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:

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_mini sudo  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_mini cd
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_mini source  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的文档到这里就结束了,如果大家在部署的过程中出现什么问题,请在博文下面给我留言,我将尽最大努力帮助大家!谢谢大家!




本文转自 xpleaf 51CTO博客,原文链接:http://blog.51cto.com/xpleaf/1748707,如需转载请自行联系原作者

相关文章
|
23小时前
|
Ubuntu 网络安全 数据安全/隐私保护
使用WinSCP工具,将windows文件传输到虚拟机Ubuntu系统
使用WinSCP工具,将windows文件传输到虚拟机Ubuntu系统
23 4
|
2天前
|
Ubuntu Linux Docker
window10下安装ubuntu系统以及docker使用
window10下安装ubuntu系统以及docker使用
|
4天前
|
Ubuntu 网络协议 搜索推荐
Ubuntu系统上定制文件系统
基于全志T507H处理器设计研发的OKT507-C开发板为例进行介绍。 Forlinx Desktop(Ubuntu)系统基于Ubuntu官方为嵌入式设备制作的操作系统-Lubuntu,该操作系统具备apt-get、ldd等常用的命令,若需要安装软件则直接apt-get在线安装即可,不需进行交叉编译移植等繁琐操作。但是每次重新烧写镜像之后,之前安装的软件就得重新安装,比较繁琐,如果需要批量操作则每块开发板都需要去apt-get安装,这样会大幅增加工作量,很不便于批量化生产。 能不能把软件一起打包到镜像呢?这样每次烧写完就不用再去apt-get在线安装了。答案当然是肯定的,这就涉及到文件系统
8 0
|
4天前
|
Ubuntu 编译器 C++
Ubuntu系统下编译OpenCV4.8源码
本文档介绍了在Ubuntu系统下编译和安装OpenCV4.8的简单步骤:首先,通过wget命令下载源码包,然后解压;接着,安装必要的编译器和第三方库支持;最后,在源码目录创建build文件夹,执行cmake和make安装。整个过程包括下载、安装依赖和编译安装三个主要步骤。
21 6
|
4天前
|
存储 Ubuntu 网络协议
从Ubuntu-base构建ubuntu rootfs系统(以x86_64和arm为例)
本文介绍了基于Ubuntu-base构建自定义Linux系统的过程,适合嵌入式设备。Ubuntu-base是最小文件系统,包含软件包管理器,可以从Ubuntu源轻松安装软件。文章详细阐述了构建步骤,包括准备宿主系统(确保使用与目标系统相同架构的Ubuntu系统)、创建和挂载分区、配置Ubuntu源、设置DNS、添加用户配置、进入chroot环境以及安装软件(如内核、X-window系统等)。对于arm架构,还提供了通过qemu在X86_64系统上构建arm rootfs的方法。整个过程强调了定制和灵活性,适合对Linux系统有深入了解的开发者。
34 0
|
4天前
|
Ubuntu 网络协议 搜索推荐
如何在Ubuntu系统上定制文件系统
该文介绍了如何在基于全志T507H处理器的OKT507-C开发板上定制Ubuntu文件系统。首先,通过解压文件系统到指定目录。接着,安装QEMU模拟器并修改配置,包括复制QEMU静态文件和DNS配置到文件系统,以及更新下载源。然后,挂载文件系统并使用shell脚本进行挂载和卸载,接着在挂载的文件系统中通过apt-get安装所需软件,如minicom。最后,打包文件系统为tar.gz格式,替换旧的文件系统压缩包,重新编译生成新的镜像烧录到开发板。通过这种方法,可以方便地批量定制和预装软件到开发板,提高生产效率。
19 0
|
4天前
|
Ubuntu Apache 数据库
如何在Ubuntu系统部署Z-blog博客结合cpolar实现无公网IP访问本地网站
如何在Ubuntu系统部署Z-blog博客结合cpolar实现无公网IP访问本地网站
25 2
|
4天前
|
运维 监控 Ubuntu
Python实现ubuntu系统进程内存监控
Python实现ubuntu系统进程内存监控
17 1
|
4天前
|
Ubuntu 网络协议 搜索推荐
如何在Ubuntu系统上定制文件系统
本文介绍了如何基于全志T507H处理器的OKT507-C开发板上定制Forlinx Desktop(Ubuntu)文件系统。首先,通过解压文件系统并进入OKT507-linux-ubuntu目录。接着,安装QEMU,包括更新下载源和安装相关包。然后,修改配置,如复制DNS配置和修改下载源。挂载文件系统,通过编写ch-mount.sh脚本实现挂载和卸载。安装所需软件,例如使用apt-get安装minicom。最后,打包文件系统,用tar命令压缩并替换旧的文件系统压缩包,重新编译生成新镜像,烧录到开发板。测试方法是通过minicom验证软件是否成功安装。这种定制方式简化了批量生产中的软件安装步骤。
30 3
|
4天前
|
Ubuntu Shell 网络安全
【专栏】在Ubuntu 22.04上安装KubeSphere的指南:确保系统至少有4GB内存和2核CPU,安装Docker和docker-compose
【4月更文挑战第28天】在Ubuntu 22.04上安装KubeSphere的指南:确保系统至少有4GB内存和2核CPU,安装Docker和docker-compose。下载安装脚本`curl -sSL https://kubesphere.io/install.sh | bash`,根据提示选择安装选项,等待完成。安装后,通过访问控制台验证安装效果。解决可能出现的错误、网络问题和性能问题,利用KubeSphere提升容器管理效率。本文为顺利安装和使用提供参考。