type
status
date
slug
tags
summary
category
password
icon
从零开始搭建Bolo个人博客系统
自己个人博客系统从搭建运行至今,整个搭建过程可以说是踩坑无数。因此将整个搭建过程以及踩过的坑写到此处,希望可以给搭建个人博客系统的朋友提供一些帮助。整个过程教程包括安装 Bolo、Nginx 进行反向代理以及 SSL证书的申请与使用。云服务器的选购、域名的购买与备案、域名服务器解析就不多赘述了,百度可查。
Bolo的安装
一:获取最新的镜像
二:安装 MySQL
三:安装Bolo
运行如下命令:
-detach:
这个选项告诉 Docker 在启动后将程序与控制台分离,使其进入后台
运行。
-name bolo:
bolo
是容器的名字,也可以改成自己喜欢的名字如MyBolo
,这个无所谓
RUNTIME_DB="MYSQL":
指明我们此处使用的数据库为MYSQL
JDBC_USERNAME="root":
指明MYSQL
数据连接时使用的用户名,默认都是root
JDBC_PASSWORD="123456":
指明MySQL
数据库连接时用户密码,使用时注意将123456
替换成自己在上一步所设置的密码
env JDBC_DRIVER="com.mysql.cj.jdbc.Driver":
数据库连接驱动包
-server_host=www.hostname.com:
个人域名,如果没有可设置为自己的服务器IP
- -
env JDBC_URL
=..... :数据库的IP
地址。如果是在本地安装的直接写127.0.0.1
,如果通过docker
安装将其改成自己的服务器的IP
地址
-listen_port=8080
:指明 solo 监听的端口此处使用的是8080
,如果不想配置nginx
此处可以换成80
命令执行完成之后没有报错的话,通过
docker ps
查看当前当前容器列表中是否有名字叫 bolo
的容器,如果有证明启动成功了,此时可以通过 个人域名/ip+:8080
来进行访问,类似 http://192.168.30.2:8080
,如果不想配置 nginx
可以将 8080
换成 80
,可以直接通过域名/IP
来直接进行访问。不出意外会出现如下界面(如果出现不能访问的情况考虑是否是防火墙配置有问题,查看是否开发 8080 或者 80 端口)由于后边我们需要配置
nginx
进行反向代理以及配置 ssl
证书来实现 https
方式访问,因此在看到 solo
启动正常之后,此处创建的 solo
镜像需要删除,等配置完 nginx
之后重新在创建一个。
删除 solo 容器直接执行下边命令四:安装 nginx
(可选)
安装之前为了后续配置
nginx
方便,我们需要在本地创建几个文件,用来挂载 nginx
的配置文件上边的文件目录名称可以任意,此处我使用
dockerDate
dockerData/nginx
用于存放docker
下nginx
自定义文件
dockerData/nginx/conf
存放nginx
配置文件
dockerData/nginx/log
存放nginx
日志文件
dockerData/nginx/www
:存放nginx
访问的资源文件
dockerData/nginx/ssl
存放ssl
证书
启动
nginx
如果没有备案,80 端口可能是禁止访问的,因此可以可以将上边的
80:80
换成 8081:80
。命令执行完成之后,没有报错的话可以通过 docker ps
来看 nginx
是否正常运行,在运行的情况下访问的域名加上端口号查看是否正常安装,如果使用的 80 端口默认可以省略。出现如下界面表示安装成功。导出配置文件:
重新创建一个
nginx
容器,挂载刚才本地导出的配置文件,便于后续更改 nginx
的配置信息v /dockerData/nginx/conf/nginx.conf:/etc/nginx/nginx.conf
: 挂载配置文件nginx.conf
v /dockerData/nginx/conf/conf.d:/etc/nginx/conf.d
: 挂载配置文件default.conf
v /dockerData/nginx/www:/usr/share/nginx/html
: 挂载项目文件
v /dockerData/nginx/logs:/var/log/nginx
: 挂载配置文件
五:配置 ssl
证书(可选)
从
http
升级到 https
只需要在 nginx
中配置一个证书即可,一般性的 ssl
证书是可以免费申请的配置
nginx
配置文件大家可以参考我的配置文件进行配置,配置自己的
default.conf
文件注意:上边的配置文件只是参考,要根据自己的服务器做出相应更改。
由于我们现在用的
nginx
容器并未监听 443
端口,所以需要删除现在的容器,重新启动一个新的 nginx
容器-server_scheme=http
换成-server_scheme=https
即可
-server_port
:最终访问端口,使用浏览器默认的80
或者443
的话值留空即可
重启
nginx
,docker restart nginx
,然后用浏览器访问 https://域名
- 作者:Bunny的电饭煲
- 链接:https://www.sals.fun/article/4c88309e-dd46-4513-8d35-5d991f6207e1
- 声明:本文采用 CC BY-NC-SA 4.0 许可协议,转载请注明出处。