旧博客打包部署流程
“AL小站”博客简介
- 这是一个前后端不分离的web项目 , 已失效的链接 AL's Blog
- 前端:semantic-ui组件库,thymeleaf模板引擎
- 后端:springboot、mybatis-plus
0、前置条件
有一台云服务器
云服务器上面安全组配置,要打开一些端口号(http、mysql等等对应的不同端口),如图:
1、打包步骤
1.1 移除springboot内嵌的tomcat
修改pom.xml文件 1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18<!-- 移除原本自带的tomcat -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
<exclusions>
<exclusion>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-tomcat</artifactId>
</exclusion>
</exclusions>
</dependency>
<!-- 添加servle依赖 -->
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>javax.servlet-api</artifactId>
<version>3.1.0</version>
<scope>compile</scope>
</dependency>war
1
2
3
4
5<groupId>com.aidan</groupId>
<artifactId>albog-server</artifactId>
<version>0.0.1-SNAPSHOT</version>
<packaging>war</packaging>
<name>albog-server</name>
1.3 启动类继承SpringBootServletInitializer
修改后的启动类代码 1
2
3
4
5
6
7
8
9
10
11@SpringBootApplication
@MapperScan("com.aidan.alblogserver.mapper")
public class AlblogServerApplication extends SpringBootServletInitializer {
@Override
protected SpringApplicationBuilder configure(SpringApplicationBuilder builder){
return super.configure(builder);
}
public static void main(String[] args) {
SpringApplication.run(AlblogServerApplication.class, args);
}
}
1.4 打包成war
idea里面依次点击clean
-package
,如下图:
"idea中的按钮"
工程文件夹下的target里面生成了对应的war包。
至此,完成了打包过程。
2、服务器环境配置
- 目标服务器环境(Centos7)
- 在
war
传到服务器之前,先准备好环境,包括以下内容: - mysql
- jdk
- tomcat
2.1 安装MySQL
卸载Centos7自带mariadb 1
2
3
4
5# 查找
rpm -qa|grep mariadb
# mariadb-libs-5.5.52-1.el7.x86_64
# 卸载
rpm -e mariadb-libs-5.5.52-1.el7.x86_64 --nodeps1
2
3
4# 创建mysql安装包存放点
mkdir /usr/server/mysql
# 解压
tar xvf mysql-5.7.34-1.el7.x86_64.rpm-bundle.tar1
2
3
4
5
6
7
8
9
10# 切换到安装目录
cd /usr/server/mysql/
yum -y install libaio
yum -y install libncurses*
yum -y install perl perl-devel
# 安装
rpm -ivh mysql-community-common-5.7.34-1.el7.x86_64.rpm
rpm -ivh mysql-community-libs-5.7.34-1.el7.x86_64.rpm
rpm -ivh mysql-community-client-5.7.34-1.el7.x86_64.rpm
rpm -ivh mysql-community-server-5.7.34-1.el7.x86_64.rpm
修改密码 1
2
3
4
5
6
7
8
9
10
11#启动mysql
systemctl start mysqld.service
#查看生成的临时root密码
cat /var/log/mysqld.log | grep password
# 登录mysql
mysql -u root -p
Enter password: #输入在日志中生成的临时密码
# 更新root密码 设置为root
set global validate_password_policy=0;
set global validate_password_length=1;
set password=password('root');1
2
3
4grant all privileges on *.* to 'root' @'%' identified by 'root';
# 刷新
flush privileges;1
2
3
4
5
6
7
8#mysql的启动和关闭 状态查看
systemctl stop mysqld
systemctl status mysqld
systemctl start mysqld
#建议设置为开机自启动服务
systemctl enable mysqld
#查看是否已经设置自启动成功
systemctl list-unit-files | grep mysqld1
2
3firewall-cmd --state #查看防火墙状态
systemctl stop firewalld.service #停止firewall
systemctl disable firewalld.service #禁止firewall开机启动
2.2 配置JDK
下载JDK,登录官方https://www.oracle.com/java/technologies/downloads/#java8 下载所需版本的JDK,版本为JDK 1.8,如图:
解压 1
tar -zvxf jdk-8u131-linux-x64.tar.gz
1
2
3
4vi /etc/profile
# 文件末尾增加
export JAVA_HOME=/usr/server/jdk1.8.0_131
export PATH=${JAVA_HOME}/bin:$PATH1
source /etc/profile
1
java -version
2.3 安装tomcat
官网地址:https://tomcat.apache.org/
将下载的apache-tomcat-8.5.86.tar.gz安装包放在服务器的/usr/home/download
目录,并解压
1 |
|
进入Tomcat的bin目录,启动Tomcat 1
2
3
4
5# 进入Tomcat的bin目录,启动Tomcat
cd apache-tomcat-8.5.86/bin/
# 启动Tomcat
./startup.sh1
2# 暂时先关闭Tomcat
./shutdown.sh1
vi /etc/profile
1
2
3
4export CATALINA_BASE=/home/download/apache-tomcat-8.5.86
export CATALINA_HOME=/home/download/apache-tomcat-8.5.86
export JAVA_HOME=/usr/server/jdk8/jdk1.8.0_192
export PATH=${JAVA_HOME}/bin:$PATH
3、部署过程
注意:当前tomcat处于关闭状态
3.1 删除原本tomcat文件夹下的ROOT目录
进入tomcat的webapps文件夹,删除其下ROOT文件夹 1
2cd apache-tomcat-8.5.86/webapps
rm -rf ROOT
3.2 上传war包到webapps文件夹
将war上传到webapps文件夹,修改war名为ROOT.war
。
启动tomcat: 1
2
3
4# 进入Tomcat的bin目录,启动Tomcat
cd apache-tomcat-8.5.86/bin/
# 启动Tomcat
./startup.sh
4、tomcat的端口设置
由于最终是想通过域名进行访问,而不是ip:端口方式,因此后续会进行域名的解析,但是解析无法到解析端口,用户访问域名时会默认访问80端口
- 方案1:ngnix进行端口转发(略)
- 方案2:设置项目的port为80,修改tomcat默认端口 由于博主很懒,采用了方案2,步骤如下:
4.1 修改项目application.yml
1 |
|
4.2 修改tomcat的配置
1 |
|
将如下几行8080修改为80 1
2
3
4
5
6
7
8
<Connector port="8080" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" />
<!-- A "Connector" using the shared thread pool-->
<Connector executor="tomcatThreadPool"
port="8080" protocol="HTTP/1.1"
redirectPort="8443" />