此篇为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. 奇袭(单调栈+分治+桶排)(20190716 NOIP模拟测试4)

    C. 奇袭 题目类型:传统 评测方式:文本比较 内存限制:256 MiB 时间限制:1000 ms 标准输入输出   题目描述 由于各种原因,桐人现在被困在Under World(以下简称UW)中,而 ...

  2. Bzoj 1079 着色方案 题解

    1079: [SCOI2008]着色方案 Time Limit: 10 Sec  Memory Limit: 162 MBSubmit: 2237  Solved: 1361[Submit][Stat ...

  3. WinForm控件之【ListView】

    基本介绍 项列表控件,拥有五种不同视图的样式供展示项集合. 常设置属性 Columns:‘详细信息’视图中用来显示的列: Groups:ListView列表中的组,将列表各项分组区域展示: Horiz ...

  4. 关于ftp响应码的分析【转载】

    转载地址: http://www.jb51.net/article/26649.htm 1开头-成功 2开头-成功 3开头-权限问题 4开头-文件问题 5开头-服务器问题 150 FILE: %s 1 ...

  5. C#3.0新增功能10 表达式树 01 简介

    连载目录    [已更新最新开发文章,点击查看详细] 如果你使用过 LINQ,则会有丰富库(其中 Func 类型是 API 集的一部分)的经验. (如果尚不熟悉 LINQ,建议阅读 LINQ 教程,以 ...

  6. [leetcode ]429. N-ary Tree Level Order Traversale (easy)

    原题 思路: bfs,每一层遍历一次加到一个vector,同时把该点的子元素加到queue中. class Solution { public: vector<vector<int> ...

  7. Tomcat(Linux)

    百度云:链接:http://pan.baidu.com/s/1o7MNTJc    密码:cfof 官方下载网址:http://archive.apache.org/dist/tomcat/tomca ...

  8. STL 优先队列 用法

    今天做题用到了优先队列 对它的用法还不是很熟悉 现在整理一下. 需要的库 #include<queue> using namespace std; 不过我都用bits/stdc++.h.. ...

  9. .Net Core2.2 WebApi上传文件

    基于.net core2.2的webapi程序,接收客户端上传的文件.按照以下写法,file的值永远是null [HttpPost] public void Post([FromForm] IForm ...

  10. 确保Web安全的HTTPS

    HTTP在安全方面主要有以下不足: 1. 通信使用明文不加密,内容可能会被窃听:(TCP/IP就是可能被窃听的网络) 2. 不验证通信方的身份,因此有可能遭遇伪装: (无法判断请求或响应是否正确,是否 ...