此篇为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.propertieslocal.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 博客系统总结的更多相关文章

  1. Docker 方式部署 Solo 博客系统总结

      此篇为Docker部署方式,另有Tomcat部署方式,请参考文章<Tomcat 方式部署 Solo 博客系统总结>   最近搭建了一个博客系统,作为自己的主页,方便记录一些平时所见所闻 ...

  2. war包方式部署solo博客

    solo,一款小而美的博客系统,GitHub:https://github.com/b3log/solo 环境和文件准备 服务器:用的阿里云服务器,系统是 CentOS 7.3 64 位. JDK:1 ...

  3. Solo 博客系统 1.7.0 发布 - 新版 MD 编辑器

    本次发布主要是更新了 Markdown 编辑器,加入了全屏.Emoji 自动完成.粘贴时自动转换为 MD 格式的特性.(1.7.0 版本变更记录请看这里) 目前的 Markdown 编辑器有多好用呢? ...

  4. 使用docker部署WordPress博客系统(win10企业版)

    docker介绍: docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的Linux机器上,也可以实现虚拟化,容器是完全使用沙箱机制,相 ...

  5. 使用阿里云 ECS 快速部署 WordPress 博客系统

    今天在 阿里云 ECS上 部署了一套 Lamp 系统,建了一个WordPress的网站,把操作过程记录下来,文中所列脚本可以直接应用. 废话不多说直接开动,ECS云服务购买可以点击 阿里云ECS 云主 ...

  6. 基于开源博客系统(mblog)搭建网站

    基于开源博客系统(mblog)搭建网站 上一章讲了基于jpress部署的博客系统,这一章了解一下 mblog这个开源的基于springboot的博客系统,相比与jpress 的热度fork数量要少一些 ...

  7. linux下部署tomcat 上线jpress博客系统

    tomcat Tomcat服务器是一个免费的开放源代码的Web应用服务器,属于轻量级应用服务器. tomcat有三个端口 开始部署 安装tomcat 第一步:下载tomcat 安装包 tomcat官网 ...

  8. 从零开始搭建solo个人博客系统

    目录 1.博客系统的搭建流程 2.服务器选购 2.1阿里云学生主机 2.2普通云主机 3.域名购买与备案(可选) 3.1域名购买 3.2域名服务器备案 3.3域名服务器解析 4.solo安装 4.1 ...

  9. 如何快速部署国人开源的 Java 博客系统 Tale

    除了闷头专研技术之外,程序员还需要不断地写作进行技术积累,写博客是其中最重要的方式之一.商业博客平台不少,但是更符合程序员背景的方案,是自己开发一个博客平台或者使用开源的博客平台. 开源的博客平台多如 ...

随机推荐

  1. android_sdcard读写(三)

    这次来个稍微复杂点的. package cn.com.sxp;import android.app.Activity;import android.app.ProgressDialog;import ...

  2. Sublime Text 3 实现C语言代码的编译和运行

    Sublime Text 3 是一款优秀的代码编辑软件.界面简洁,轻巧快速,很受大家的欢迎. 最近开始用他来编辑数据结构的C语言代码,这就需要在新建编译系统.具体方法如下: 首先: 接下来是关键的一步 ...

  3. 网络编程模型及TCP、UDP编程设计

    1.Linux网络模型 Linux网络编程--->>>socket套接字的编程 2.TCP网络模型                                          ...

  4. Scala数据结构

    Scala数据结构 主要的集合特质 Scala同时支持可变集合和不可变集合,优先采用不可变集合.集合主要分为三大类:序列(List),集(set),映射(map).所有的集合都扩展自Iterable特 ...

  5. 【Java中级】(二)集合框架

    2.1.ArraList 1.自增长 容器的容量"capacity"会随着对象的增加,自动增长 只需要不断往容器里增加英雄即可,不用担心会出现数组的边界问题. 2.常用方法 关键字 ...

  6. 如何实现Kali linux系统下的U盘启动(小白指导)

    一.准备工作: 声明:这个“操作”并不会影响你原装的系统,真正的即插即用的哦. (1)4GB的U盘<读写速度比较快的> (2)Kali linux镜像文件 (3)软件Universal-U ...

  7. web设计_4_可扩展的行

    不要指定横向页面组件的高度,要让它们能够在纵向自由扩展. 常见的包含文章正文或大段文字的区域,应该适应任何篇幅和大小的文字. 但是例如文章标题.登陆信息栏等也要考虑文字内容数量及高度的变化. 例如:下 ...

  8. 10-Helm

    Helm Chart仓库 helm 架构 https://helm.sh/docs/architecture/ 主要概念 chart 创建Kubernetes应用程序实例所必需的一组信息 config ...

  9. TIJ读书笔记-第21章-并发

    一本Think in java,从去年6月份开始读,读了快一年了,也快读完了,然而回头想想,却好像什么也不记得了,好记性不如烂笔头,那就从现在开始记录一下吧.由于现在在读的是并发,那就先从这章开始吧. ...

  10. C# 委托(delegate)、泛型委托和Lambda表达式

    目录 # 什么是委托 # 委托声明.实例化和调用 1.声明 2.委托的实例化 3.委托实例的调用 4.委托完整的简单示例 #泛型委托 1.Func委托 2.Action委托 3.Predicate委托 ...