栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

阶段一第五部分:云服务器部署上线

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

阶段一第五部分:云服务器部署上线

文章目录
  • 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

1-1 本章概述与服务器购买建议
  • 云服务器配置与购买建议
  • 安装JDK
  • 安装tomcat
  • 安装MariaDB
    使用起来和Mysql一样
    性能要比MySQL好一点
  • 打包SpringBoot
  • 部署第二台tomcat发布前端项目
前置必备
  • 云服务器 或 本地虚拟机
  • Linux系统基础
  • 内网互通
1-3 CentOS7安装JDK

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安装成功

1-4 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-6 安装Tomcat - 部署第一台Tomcat 部署方案

安装步骤

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安装成功

1-7 安装Tomcat - 部署第二台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安装成功

1-8 安全组端口开放 1-9 MariaDB - 跟着官方文档下载rpms

MariaDB主要有三种安装方式

  • 源码安装,有点繁琐,不推荐
  • yum在线安装,由于镜像在国外,下载速度十分缓慢,本地安装花了将近2个小时,而云服务完全就是下载不了直接报错
  • rpm离线安装,这个方式比较方便,推荐,不论是mariaDB还是mysql都可以用这样的方式进行安装

注: window系统本地已安装mysql,再安装mariadb时会自动替换本地的mysql

下载rpm包

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-11 MariaDB - 离线安装

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.rpm

1-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安装配置完毕!

注: 建议生产环境上的3306端口改为其他的,比如3307 3308都行,另外只有再远程使用的时候才开放安全组的数据库端口,如果项目和数据库在同一个服务器上,或者在同一个地域可用内网访问的话,关闭端口即可,否则需要开启。

1-13 SpringBoot多环节部署profile 多环境部署
  • 开发环境 – dev
  • 测试环境 – test
  • 生产环境 – prod
profile 提供多环境支持
  • application.yml -> 主配置文件
  • application-{name}.yml -> 环境配置(挂件)
  • 激活多环境 -> spring.profiles.active:{name}
具体配置

1.修改application.yml
2.新增application-dev.yml、application-prod.yml配置文件

3.启动
dev环境:
prod环境:

1-14 梳理不同环境的配置 部署域名方案

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-16 上传发布war

1.使用ftp工具上传war包至/usr/local/tomcat-api/webapps目录
2.启动tomcat,即可自动解压部署.
3.浏览器中输入http://[ip]:[端口号]/[打包项目名]/

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/855533.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号