- 1-1 本章概述与服务器购买建议
- 前置必备
- 1-3 CentOS7安装JDK
- 1-4 JDK安装 - 安装前自检
- 1-6 安装Tomcat - 部署第一台Tomcat
- 部署方案
- 安装步骤
- 1-7 安装Tomcat - 部署第二台Tomcat与域名配置方案
- 部署域名方案
- 部署方案
- 安装步骤
- 1-8 安全组端口开放
- 1-9 MariaDB - 跟着官方文档下载rpms
- 下载rpm包
- 1-11 MariaDB - 离线安装
- 1-12 MariaDB - 配置
- 安全配置
- 远程连接配置
- 1-13 SpringBoot多环节部署profile
- 多环境部署
- profile 提供多环境支持
- 具体配置
- 1-14 梳理不同环境的配置
- 部署域名方案
- 1-15 SpringBoot打包war
- 1-16 上传发布war
- 云服务器配置与购买建议
- 安装JDK
- 安装tomcat
- 安装MariaDB
使用起来和Mysql一样
性能要比MySQL好一点 - 打包SpringBoot
- 部署第二台tomcat发布前端项目
- 云服务器 或 本地虚拟机
- Linux系统基础
- 内网互通
1.新建jdk安装目录
mkdir /usr/java
2.使用FTP工具(fileZilla)上传jdk到某目录,如下:
cd /home/software
3.解压jdk压缩包
tar -zxvf jdk-8u191-linux-x64.tar.gz
解压后的文件夹如下图:
4.把解压后的jdk文件夹移动到/usr/java下,这个目录专门用于存放jdk
mv jdk1.8.0_191/ /usr/java/
5.配置环境变量
- 修改profile文件
vim /etc/profile
- 配置jdk环境变量
export JAVA_HOME=/usr/java/jdk1.8.0_191 export CLASSPATH=.:%JAVA_HOME%/lib/dt.jar:%JAVA_HOME%/lib/tools.jar export PATH=$PATH:$JAVA_HOME/bin
注:环境变量配置在profile文件的最末尾即可
6.刷新profile,使其生效
source /etc/profile
再次检查jdk
至此,JDK安装成功
购买云服务器后,厂商会提供一个公网IP和内网IP,需要使用SSH工具(SecureCrt、Xshell、Putty)连接到云服务器,随后就能在命令行中操作linux系统。
若在本地虚拟机中操作linux,只需要配置静态IP即可,比如:192.168.168.11
服务器安装JDK之前,先确保有没有默认安装JDK,执行以下命令进行检查:java -version
如果是自己在虚拟机上安装的centos7.x或者centos6.x,则会默认安装好OpenJDK,如下截图
需要卸载,卸载步骤如下:
1.检查系统安装的OpenJDK:
rpm -qa|grep openjdk -i
2.删除以上四项openjdk的安装包并且检查后显示删除完毕
rpm -e --nodeps 需要删除的软件
如果是在阿里云或者腾讯云上的centos系统,一般不会自带jdk,但是以上步骤还是建议检查下,如若发现自带jdk,建议删除后重新安装。
1…使用FTP工具(fileZilla)上传tomcat到某目录,如下:
cd /home/software
2.解压tomcat压缩包
tar -zxvf apache-tomcat-9.0.24.tar.gz
解压后的文件夹如下图:
3.重命名tomcat
mv apache-tomcat-9.0.24 tomcat-frontend
4.把重命名后的tomcat文件夹移动到/usr/local下
mv tomcat-frontend/ /usr/local/
5.进入/tomcat-frontend/bin目录下,启动tomcat
# 进入bin目录 cd usr/local/tomcat-frontend/bin # 启动tomcat ./startup.sh
6.验证tomcat是否安装成功(默认端口号8080)
至此,tomcat安装成功
- api.z.mukewang.com --后端服务,restful接口
- shop.z.mukewang.com --天天吃货门户
- center.z.mukewang.com --天天吃货用户中心
tomcat-1 部署前端项目(后期用nginx代替,nginx可以作为发布前端发布容器)
tomcat-2 部署后端项目
MariaDB 部署数据库
1.解压tomcat压缩包,重命名tomcat,移动tomcat文件夹至/usr/local目录下
# 解压 tar -zxvf apache-tomcat-9.0.24.tar.gz # 重命名 mv apache-tomcat-9.0.24 tomcat-api # 重命名 mv tomcat-api/ /usr/local/
注:/usr/local目录下有2个tomcat,tomcat-frontend是成功启动的,tomcat-api目前还没未启动,但是现在不可以启动tomcat-api,因为tomcat-api的默认端口号也是8080,启动会报端口号重复错误,所以需修改tomcat-api的端口号
2.进入tomcat-api/conf/目录,修改tomcat配置文件
# 进入配置文件目录 cd /usr/local/tomcat-api/conf/ # 修改server.xml: 修改3个端口(访问端口、关闭端口、重定向端口) vim server.xml
3.进入tomcat-api/bin/目录,启动tomcat
# 进入bin目录 cd /usr/local/tomcat-api/bin/ # 启动tomcat ./startup.sh
4.验证tomcat是否安装成功(配置的端口号8088)
至此,tomcat安装成功
MariaDB主要有三种安装方式
- 源码安装,有点繁琐,不推荐
- yum在线安装,由于镜像在国外,下载速度十分缓慢,本地安装花了将近2个小时,而云服务完全就是下载不了直接报错
- rpm离线安装,这个方式比较方便,推荐,不论是mariaDB还是mysql都可以用这样的方式进行安装
下载rpm包注: window系统本地已安装mysql,再安装mariadb时会自动替换本地的mysql
1.前往MariaDB官网选择所需环境的 安装包下载地址
2.下载如下7个rpm包,如下所示
依赖:
- jemalloc-3.6.0-1.el7.x86_64.rpm
- jemalloc-devel-3.6.0-1.el7.x86_64.rpm
- galera-4-26.4.4-1.rhel7.el7.centos.x86_64.rpm
核心包:
- MariaDB-client-10.4.24-1.el7.centos.x86_64.rpm
- MariaDB-compat-10.4.24-1.el7.centos.x86_64.rpm
- MariaDB-common-10.4.24-1.el7.centos.x86_64.rpm
- MariaDB-server-10.4.24-1.el7.centos.x86_64.rpm
参考:
MariaDB官网https://mariadb.org
MariaDB官方安装文档
rpm包下载地址-阿里云镜像
腾讯云服务器 离线安装最新稳定版MariaDB 10.2.6
1.使用FTP工具上传安装包至/home/software目录下
2.按顺序安装依赖环境包
yum install rsync nmap lsof perl-DBI nc rpm -ivh jemalloc-3.6.0-1.el7.x86_64.rpm rpm -ivh jemalloc-devel-3.6.0-1.el7.x86_64.rpm
3.卸载冲突的mariadb-libs
# 先搜索 rpm -qa | grep mariadb-libs # 后删除 rpm -ev --nodeps mariadb-libs-5.5.35-3.el7.x86_64
原因:安装MaridDB核心包时报错
4.安装galera环境
rpm -ivh galera-4-26.4.4-1.rhel7.el7.centos.x86_64.rpm
原因:安装MaridDB核心包时报错
5.安装boost-devel依赖环境(此步骤在安装 galera报错时需要)
yum install boost-devel.x86_64
6.安装RPM-GPG-KEY - 导入MariaDB的key
rpm --import http://yum.mariadb.org/RPM-GPG-KEY-MariaDB
7.安装libaio(此步骤在安装10.4.8时需要)
wget http://mirror.centos.org/centos/6/os/x86_64/Packages/libaio-0.3.107-10.el6.x86_64.rpm rpm -ivh libaio-0.3.107-10.el6.x86_64.rpm
8.安装MaridDB的4个核心包
rpm -ivh MariaDB-common-10.4.24-1.el7.centos.x86_64.rpm MariaDB-compat-10.4.24-1.el7.centos.x86_64.rpm MariaDB-client-10.4.24-1.el7.centos.x86_64.rpm MariaDB-server-10.4.24-1.el7.centos.x86_64.rpm1-12 MariaDB - 配置 安全配置
安装完毕MariaDB后还没完,还需要配置数据库,在命令行中执行如下代码用以启动mysql服务(MariaDB就是mysql的分支,所以服务名是一样的,如果本地有mysql可以无缝切换或安装)
service mysql start # MariaDB代替了mysql数据库 service mariadb start
启动成功后运行如下命令进行安全配置:
mysql_secure_installation
1.输入当前密码,初次安装后是没有密码的,直接回车
2.询问是否使用unix_socket进行身份验证:n
3.为root设置密码:y
4.输入root的新密码:root
5.确认输入root的新密码:root
6.是否移除匿名用户,这个随意,建议删除:y
7.拒绝用户远程登录,这个建议开启:n
8.删除test库,可以保留:n
9.重新加载权限表:y
当你看到Thanks for using MariaDB!这句话,表明配置成功!
远程连接配置客户端不能远程连接,原因是我们没有赋予权限,执行以下命令:
# 输入密码登录MariaDB控制台 mysql -u root -p # 赋予root用户远程连接权限 grant all privileges on *.* to 'root'@'%' identified by 'root密码'; # 刷新 flush privileges;
配置权限后,可以使用远程客户端连接数据库服务了!
至此,MariaDB安装配置完毕!
1-13 SpringBoot多环节部署profile 多环境部署注: 建议生产环境上的3306端口改为其他的,比如3307 3308都行,另外只有再远程使用的时候才开放安全组的数据库端口,如果项目和数据库在同一个服务器上,或者在同一个地域可用内网访问的话,关闭端口即可,否则需要开启。
- 开发环境 – dev
- 测试环境 – test
- 生产环境 – prod
- application.yml -> 主配置文件
- application-{name}.yml -> 环境配置(挂件)
- 激活多环境 -> spring.profiles.active:{name}
1.修改application.yml
2.新增application-dev.yml、application-prod.yml配置文件
3.启动
dev环境:
prod环境:
profiles 多环境配置梳理:
1. 数据源配置
1.1 url 根据自身情况去修改为 localhost 或者 内网IP(集群或者分布式系统,一定要使用内网IP)
1.2 密码 root 改为 你自己的密码
2. mybatis 日志打印
dev 可以打印
test 可以打印
prod 无需打印
3. 图片保存目录 和 图片服务请求路径配置
/workspaces/images/foodie/faces
http://api.z.mukewang.com:8088/foodie-dev-api/foodie/faces
4. 从支付中心回调天天吃货后端服务的回调地址
http://api.z.mukewang.com:8088/foodie-dev-api/orders/notifyMerchantOrderPaid
打包方式:
1. jar
服务化的概念,后续接触springcloud,所有的服务打包都是以jar的形式存在
2. war
应用程序的概念,也可以向外提供服务和接口
1-15 SpringBoot打包war
1.修改打包形式
在foodie-dev-api模块的pom.xml设置
war
2.移除嵌入式tomcat插件
在foodie-dev模块的pom.xml找到spring-boot-starter-web依赖节点,修改如下:
org.springframework.boot spring-boot-starter-web spring-boot-starter-tomcat org.springframework.boot
3.添加servlet-api的依赖
在foodie-dev模块的pom.xml添加依赖,下面两种方式都可以,任选其一:
javax.servlet javax.servlet-api 3.1.0 provided
org.apache.tomcat tomcat-servlet-api 8.0.36 provided
4.修改启动类,并重写初始化方法
我们平常用main方法启动的方式,都有一个App的启动类,代码如下:
@SpringBootApplication
public class Application {
public static void main(String[] args) {
SpringApplication.run(Application.class, args);
}
}
我们需要类似于web.xml的配置方式来启动spring上下文了,在Application类的同级添加一个SpringBootStartApplication类,其代码如下:
// 打包war [4] 增加war的启动类
// 启动类 继承 SpringBootServletInitializer 并重写 configure 方法
public class SpringBootStartApplication extends SpringBootServletInitializer {
@Override
protected SpringApplicationBuilder configure(SpringApplicationBuilder builder) {
// 注意这里要指向原先用main方法执行的Application启动类
return builder.sources(Application.class);
}
}
5.打包部署
在项目根目录下(即包含pom.xml的目录),在命令行里输入:
mvn clean package -Dmaven.test.skip=true即可, 等待打包完成,出现[INFO] BUILD SUCCESS即为打包成功。
然后把target目录下的war包放到tomcat的webapps目录下,启动tomcat,即可自动解压部署。
最后在浏览器中输入http://[ip]:[端口号]/[打包项目名]/
参考:
SpringBoot打war包
1.使用ftp工具上传war包至/usr/local/tomcat-api/webapps目录
2.启动tomcat,即可自动解压部署.
3.浏览器中输入http://[ip]:[端口号]/[打包项目名]/



