前言
最开始使用 github 搭建博客,后来觉得不方便,就自己使用 Django 框架写了一套博客网站,虽然十分简陋但也可以使用。直到发现了 solo
这个基于 Java 的开源博客系统,它提供了绝大部分博客所需的功能,而且后台管理能力特别丰富,安装方式也特别简单,所以选择了它。
安装环境搭建
这里选择了最简单的方式去搭建该博客,使用 Docker 方式运行该博客,官方 GitHub 里也介绍了如何使用 Docker 运行该博客系统。
so,在运行该博客之前,应该要有一个安装了 Docker 的环境。这里以 centos7.2 环境来介绍如何安装 Docker, ubuntu 的安装方法请参考 Ubuntu 安装 docker
# Docker 要求 CentOS 系统的内核版本高于 3.10, 查看内核版本
$ uname -r
3.10.0-693.11.6.el7.x86_64
# 安装 docker
$ yum -y install docker
# 启动 docker 后台服务
$ service docker start
# 设置开机自启动
# systemctl enable docker
运行博客系统
安装后了之后,就可以使用下面命令拉取 solo 博客镜像到本地了
docker pull 88250/solo
上面命令把 solo 镜像拉取到本地,然后就可以起个容器运行博客了。
下面是官方给出的运行命令
docker volume create solo_datas && docker run --privileged --name solo --restart=unless-stopped -p 8080:8080 -v solo_datas:/opt/b3log/backup/ -d 88250/solo
这个命令首先创建了一个 volume,用于持久化存储博客信息,然后通过 docker run 运行博客系统并映射到本机的 8080 端口。
如果需要使用 nginx 来反代该服务的话,请不要直接使用以上命令,如果你配置了通过域名来访问该博客,需要在运行时添加环境变量,还可以指定 https 或者 http,具体如下:
$ docker run --privileged --name solo -e "SERVER_NAME=www.guoweikuang.com" -e "SERVER_PORT=80" -e "SERVER_SCHMEA=https" --restart=unless-stopped -p 8080:8080 -v solo_datas:/opt/b3log/backup/ -d 88250/solo
如果是本地 run 的话,你就可以通过 http://localhost:8080 访问博客了。
如果选择 nginx 来反代该服务,因此下一步就是安装 nginx 并进行配置
nginx 配置
第一步先安装 nginx, 使用下面命令就可以直接安装 nginx
# 将nginx放到yum repro库中
$ rpm -ivh http://nginx.org/packages/centos/7/noarch/RPMS/nginx-release-centos-7-0.el7.ngx.noarch.rpm
# 使用yum安装ngnix
$ yum install nginx
# 开启 nginx 服务
$ sudo service nginx start
# 查看 nginx 状态
$ systemctl status nginx
安装后之后就可以进行一些配置
# cd 到 /etc/nginx/conf.d/ 目录下,新建一个blog.conf 配置文件
server {
listen 80;
server_name www.guoweikuang.com;
location / {
proxy_pass http://127.0.0.1:8080;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
}
如果配置https的话,可能需要下面这种配置方式
server {
listen 443;
server_name www.guoweikuang.com;
client_max_body_size 2m;
access_log on;
access_log /var/log/nginx/blog.log;
access_log /var/log/nginx/blog.error.log;
ssl on;
ssl_certificate /path/1_www.guoweikuang.com_bundle.crt;
ssl_certificate_key /path/2_www.guoweikuang.com.key;
ssl_session_timeout 5m;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:HIGH:!aNULL:!MD5:!RC4:!DHE;
ssl_prefer_server_ciphers on;
location / {
proxy_pass http://127.0.0.1:8080;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
}
server {
listen 80;
server_name www.guoweikuang.com;
rewrite ^(.*) https://$server_name$1 permanent;
}
然后保存,reload nginx 配置即可
# 检查配置文件是否正确
$ sudo nginx -t
# 重载nginx 配置文件
$ sudo service nginx reload
# 或者 重启nginx 服务
$ sudo service nginx restart
然后就可以通过 http://www.guoweikuang.com 来访问博客,如配置有误或者不成功,欢迎评论。
欢迎来到这里!
我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。
注册 关于