此篇为Tomcat部署方式,另有Docker部署方式,请参考文章《Docker 方式部署 Solo 博客系统总结》
一、环境和文件准备
- 服务器:购买的阿里云服务器,系统为Linux(Cent OS)。
- JDK:版本1.8 下载
- Tomcat:版本9.0.19 下载
- Solo:war包形式,版本3.6.3 下载
- MySQL 8:通用Linux社区版 下载
下载准备好以上几个文件后,分别将他们放到Cent OS的相应目录中,具体目录自己决定。最好新建自己的文件夹,目录中不要出现中文。
- JDK放在目录
/usr/local/hudk/JDK/jdk-8u111-linux-x64.tar.gz
; - Tomcat放在目录
/usr/local/hudk/apache-tomcat-9.0.22-deployer.tar.gz
; - Solo放在
/usr/local/hudk/solo-v3.6.3.war
。
二、安装JDK和配置环境变量
1、解压
切换到 /usr/local/hudk/JDK
目录下,解压JDK压缩包。执行命令:
$ tar -zxvf jdk-8u111-linux-x64.tar.gz
2、环境变量
新增文件/etc/profile.d/jdk.sh
,并编辑它。执行命令:
#编辑文件
$ vim /etc/profile.d/jdk.sh
如果/etc/profile.d/下没有jdk.sh文件,执行此命令会自动增加jdk.sh文件,并进入vim编辑器,按键盘字母i进入编辑状态。编辑如下内容:
export JAVA_HOME=/usr/local/hudk/JDK/jdk1.8.0_111
export PATH=$JAVA_HOME/bin:$PATH
export JAVA_HOME PATH
分别按键盘Esc > (Shift+:) > w >q >Enter 保存并推出编辑模式。执行以下命令使jdk.sh文件生效。
$ source /etc/profile.d/jdk.sh
JDK 环境变量的多种配置形式请参考 《CentOS 安装 JDK 三种形式详细总结》。
三、安装MySQL
安装过程可参考:《Docker 方式部署 Solo 博客系统总结》中对 MySQL 的安装介绍。安装完成后,新建用户和数据库实例,在后面部署Solo到Tomcat中时,配置文件时会用到。这个假设用户名和密码全是 mj
,数据库实例名为 solo
。
四、安装Tomcat和配置80端口
1、解压缩
切换到 /usr/local/hudk/
目录下,解压apache-tomcat-9.0.22-deployer.tar.gz
包。执行命令:
$ tar -zxvf apache-tomcat-9.0.22-deployer.tar.gz
2、配置 server.xml
进入tomcat
文件目录/usr/local/hudk/apache-tomcat-9.0.22/conf
,找到文件server.xml并编辑它
$ vim ./server.xml
将其中内容:
修改为:
五、部署Solo到Tomcat并启动初始化
1、解压缩
首先将 /usr/local/hudk/apache-tomcat-9.0.22/webapps/ROOT/
目录清空;再将 /usr/local/hudk/solo-v3.6.3.war
文件解压到 /usr/local/hudk/apache-tomcat-9.0.22/webapps/ROOT/
中。
2、修改配置文件
要想正常访问Solo,启动Tomcat前需要配置两个文件,分别是 latke.properties
、local.properties
。
先说 latke.properties
,这个文件主要配置Solo的访问域名端口和模式。其中域名和端口,要保持和你将要在浏览器中访问的内容一致,比如你的serverHost
值是www.mjhdk.cn
,那么以后只能使用www.mjhdk.cn
域名才可以正常访问Solo,如果使用IP地址访问的话,静态文件js 和 css
等访问会出现问题,导致页面无法渲染。
#
# Solo - A small and beautiful blogging system written in Java.
# Copyright (c) 2010-present, b3log.org
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU Affero General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU Affero General Public License for more details.
#
# You should have received a copy of the GNU Affero General Public License
# along with this program. If not, see .
#
#
# Description: B3log Latke configurations.
# Version: 1.6.0.2, Mar 19, 2019
# Author: Liang Ding
#
#### Server ####
# Browser visit protocol
serverScheme=http
serverHost=www.mjhdk.cn
serverPort=80
#### Runtime Mode ####
#runtimeMode=DEVELOPMENT
runtimeMode=PRODUCTION
local.properties
文件中主要涉及数据库的配置。
#
# Solo - A small and beautiful blogging system written in Java.
# Copyright (c) 2010-present, b3log.org
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU Affero General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU Affero General Public License for more details.
#
# You should have received a copy of the GNU Affero General Public License
# along with this program. If not, see .
#
#
# Description: Solo local environment configurations.
# Version: 1.1.3.15, Mar 17, 2019
# Author: Liang Ding
#
#### MySQL runtime ####
runtimeDatabase=MYSQL
jdbc.username=***
jdbc.password=******
jdbc.driver=com.mysql.cj.jdbc.Driver
jdbc.URL=jdbc:mysql://0.0.0.0:3306/solo?useUnicode=yes&characterEncoding=UTF-8&useSSL=false&serverTimezone=UTC
#### H2 runtime ####
#runtimeDatabase=H2
#jdbc.username=root
#jdbc.password=
#jdbc.driver=org.h2.Driver
#jdbc.URL=jdbc:h2:~/solo_h2/db;MODE=MYSQL
# The minConnCnt MUST larger or equal to 3
jdbc.minConnCnt=5
jdbc.maxConnCnt=10
# The specific table name prefix
jdbc.tablePrefix=b3_solo
最后配置完这两个文件,就可以尝试启动Tomcat了。进入/usr/local/hudk/apache-tomcat-9.0.22/bin
目录,执行命令./startup.sh
启动Tomcat。如果启动正常,访问主页时,会进行自动的数据库初始化过程,即帮你建表和加入初始数据。初始化完成后使用自己的GitHub账户可以登录主页,开启博客之旅。