Tomcat 方式部署 Solo 博客系统总结
此篇为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
将其中内容:
<Connector port="8080" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" />
修改为:
<Connector port="80" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" />
五、部署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 <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=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 <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账户可以登录主页,开启博客之旅。
Tomcat 方式部署 Solo 博客系统总结的更多相关文章
- Docker 方式部署 Solo 博客系统总结
此篇为Docker部署方式,另有Tomcat部署方式,请参考文章<Tomcat 方式部署 Solo 博客系统总结> 最近搭建了一个博客系统,作为自己的主页,方便记录一些平时所见所闻 ...
- war包方式部署solo博客
solo,一款小而美的博客系统,GitHub:https://github.com/b3log/solo 环境和文件准备 服务器:用的阿里云服务器,系统是 CentOS 7.3 64 位. JDK:1 ...
- Solo 博客系统 1.7.0 发布 - 新版 MD 编辑器
本次发布主要是更新了 Markdown 编辑器,加入了全屏.Emoji 自动完成.粘贴时自动转换为 MD 格式的特性.(1.7.0 版本变更记录请看这里) 目前的 Markdown 编辑器有多好用呢? ...
- 使用docker部署WordPress博客系统(win10企业版)
docker介绍: docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的Linux机器上,也可以实现虚拟化,容器是完全使用沙箱机制,相 ...
- 使用阿里云 ECS 快速部署 WordPress 博客系统
今天在 阿里云 ECS上 部署了一套 Lamp 系统,建了一个WordPress的网站,把操作过程记录下来,文中所列脚本可以直接应用. 废话不多说直接开动,ECS云服务购买可以点击 阿里云ECS 云主 ...
- 基于开源博客系统(mblog)搭建网站
基于开源博客系统(mblog)搭建网站 上一章讲了基于jpress部署的博客系统,这一章了解一下 mblog这个开源的基于springboot的博客系统,相比与jpress 的热度fork数量要少一些 ...
- linux下部署tomcat 上线jpress博客系统
tomcat Tomcat服务器是一个免费的开放源代码的Web应用服务器,属于轻量级应用服务器. tomcat有三个端口 开始部署 安装tomcat 第一步:下载tomcat 安装包 tomcat官网 ...
- 从零开始搭建solo个人博客系统
目录 1.博客系统的搭建流程 2.服务器选购 2.1阿里云学生主机 2.2普通云主机 3.域名购买与备案(可选) 3.1域名购买 3.2域名服务器备案 3.3域名服务器解析 4.solo安装 4.1 ...
- 如何快速部署国人开源的 Java 博客系统 Tale
除了闷头专研技术之外,程序员还需要不断地写作进行技术积累,写博客是其中最重要的方式之一.商业博客平台不少,但是更符合程序员背景的方案,是自己开发一个博客平台或者使用开源的博客平台. 开源的博客平台多如 ...
随机推荐
- Ray聊天记录
由于工作变动,Ray的文档.示例没有及时更新,深表歉意.在Ray升级后,性能较几个月前有了非常大的提升,也更具易用性.这是QQ交流群里大家的聊天记录,跟大家分享一下(由于时间仓促群里大家的聊天记录没有 ...
- 5.Ray-Handler之ToReadHandler编写
如图右上角所示,Ray中有两类Handler(SubHandler和PartSubHandler),在使用中,SubHandler派生Actor的CoreHandler,PartSubHandler派 ...
- MyBatis foreach标签的用法
From<MyBatis从入门到精通> 一.foreach实现in集合 1.映射文件中添加的代码: <!-- 4.4 foreach用法 SQL语句有时会使用IN关键字,例如id i ...
- Python 为什么要继承 object 类?
自己搬运自己在知乎上的回答,感觉破乎吃枣药丸,哪天挂了这里就是个备份. 链接:https://www.zhihu.com/question/19754936/answer/229327803 2017 ...
- 【CYH-02】NOIp考砸后虐题赛:函数:题解
这道题貌似只有@AKEE 大佬A掉,恭喜! 还有因为c++中支持两个参数数量不同的相同名称的函数调用,所以当时就没改成两个函数,这里表示抱歉. 这道题可直接用指针+hash一下,然后就模拟即可. 代码 ...
- python元组-字典-集合及其内置方法(下)
列表补充 补充方法 清空列表 clear # clear 清空列表 l = [1, 2, 3, 4, 4] print(l.clear()) # clear没有返回值(None) print(l) # ...
- tar 命令详解(持续更新)
可以用man tar查看tar命令使用的权威解释 Main operation mode: -c: 建立压缩档案 -r:向压缩归档文件末尾追加文件 -t:查看内容 -u:更新原压缩包中的文件 -x:解 ...
- .net持续集成sonarqube篇之项目管理与用户管理
系列目录 删除项目 在学习阶段,我们可能需要经常删除已构建的项目,在sonarqube中想要删除一个项目有两个入口,都在Administration导航栏内. 在项目内部的管理界面删除 如果项目处于打 ...
- IO-Java实现文件的复制
public class FileCopy { public static void main(String[] args) throws IOException { // 1.创建一个字节输入流对象 ...
- 私有网络(VPC)概述
1 什么是私有网络(VPC) 私有网络是一块可用户自定义的网络空间,您可以在私有网络内部署云主机.负载均衡.数据库.Nosql快存储等云服务资源.您可自由划分网段.制定路由策略.私有网络可以配置公网网 ...