此篇为Tomcat部署方式,另有Docker部署方式,请参考文章《Docker 方式部署 Solo 博客系统总结》
Solo是专门为程序员提供的开源博客系统,他可以在自己的服务器中部署和维护,有大量精美的皮肤可以选择,且无广告,可以根据自己的需要进行二次开发。可参考 这个博客 预览。下面是自己以 Tomcat 方式部署Solo的一些总结。
下载准备好以上几个文件后,分别将他们放到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。切换到 /usr/local/hudk/JDK目录下,解压JDK压缩包。执行命令:
$ tar -zxvf jdk-8u111-linux-x64.tar.gz新增文件/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.shJDK 环境变量的多种配置形式请参考 《CentOS 安装 JDK 三种形式详细总结》。
具体安装过程参考:《centos7安装mysql8.0版本教程》。安装完成后,新建用户和数据库实例,在后面部署Solo到Tomcat中时,配置文件时会用到。这个假设用户名和密码全是 mj ,数据库实例名为 solo。
切换到 /usr/local/hudk/目录下,解压apache-tomcat-9.0.22-deployer.tar.gz包。执行命令:
$ tar -zxvf apache-tomcat-9.0.22-deployer.tar.gz进入tomcat文件目录/usr/local/hudk/apache-tomcat-9.0.22/conf,找到文件server.xml并编辑它
$ vim ./server.xml将其中内容:
<Connector port="8080" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" />修改为:
<Connector port="80" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" />首先将 /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/ 中。
要想正常访问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 <https://www.gnu.org/licenses/>. # # # 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=PRODUCTIONlocal.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 <https://www.gnu.org/licenses/>. # # # 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账户可以登录主页,开启博客之旅。