Linux之J2EE项目部署与发布(Linux版本)

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
RDS MySQL Serverless 高可用系列,价值2615元额度,1个月
简介: Linux之J2EE项目部署与发布(Linux版本)


前言

      在Linux前期的博客分享中我与老铁们分享了有关在虚拟机上安装Windows系统并且部署项目文件,而且成功在主机上访问成功。上期的博客中教到大家如何去在虚拟机安装Linux操作系统,今天的这期博客中基于上一期博客,今天与大家分享的是如何在Linux系统配置我们的开发环境并且部署项目。

一、JDK及Tomat的部署安装

       将需要使用的安装包及压缩包上传到Linux系统上。

       上图所示代表我们安装包导入成功。有些的服务器连接工具支持拖拽方式导入,有些需要使用命令,根据情况而定。(博主使用的是mobalxterm)

1. JDK的安装

1.1 解压jdk安装压缩包

       在服务连接工具中输入如下指令进行解压

指令:tar -zxvf +压缩包名称(z字母可以省略)

        到我们再次查看该文件目录时,会生成一个解压后的jdk文件夹

1.2 配置jdk的环境变量

       与Windows系统不同的是,Linux系统配置不是在高级系统设置中配置,而是在/etc/profile文件下进行编辑添加配置。

配置步骤:

  1. vim /etc/profile  --->进入该文件中
  2. 按i键进入编辑模式
  3. 将配置环境的代码添加到文件末端(配置变量文件代码如下)
#java environment
export JAVA_HOME=/javaxl/jdk1.8.0_151(自身jdk解压路径)
export JRE_HOME=${JAVA_HOME}/jre
export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib
export PATH=${JAVA_HOME}/bin:$PATH

1.3 验证是否配置成功

输入指令设置环境变量生效,在输入指令查看是否成功配置

指令:source /etc/profile--->设置环境变量生效

          java -version----->查看jdk版本

2. Tomcat的安装

2.1 解压安装包

指令:tar -zxvf +压缩包名称(z字母可以省略)

        同安装jdk一样也会生成对应的文件夹

2.2 验证Tomcat是否安装成功

       Linux的Tomcat文件目录与Windows系统的文件目录一致,我们进入到Tomcat的bin文件下,找到start.sh,通过运行start.sh启动服务器;与Windows,Windows是通过startup.bat启动。启动之后我们在主机进行访问,访问成功代表Tomcat配置成功

指令:./startup.sh ----->启动服务器

         

       我们可以看到无法访问到服务器,是因为防火墙的原因,在Windows系统中主机发主机访问虚拟机的服务器时需要关闭防火墙的服务,因此Linux也是如此,需要我们对防火墙进行设置。

2.3 设置防火墙

有关防火墙设置的指令:

#开放端口
firewall-cmd --zone=public --add-port=3306/tcp --permanent
#跟新防火墙规则
firewall-cmd --reload
#防火墙列表
firewall-cmd --zone=public --list-ports
#防火墙状态
systemctl status firewalld
#启动防火墙
systemctl start firewalld
#关闭防火墙
systemctl stop firewalld.service

#设置开机不自启动

systemctl disable firewalld.service

#设置开机自启动

systemctl enable firewalld.service

        关闭防火墙主机可以访问服务器,但是关闭防火墙后不安全。重新启动服务器,在主机网页上就可以进行访问了。

       关闭防火墙让主机访问服务器有安全风险,因此我们采取较安全的方式去让主机访问服务器,让防火墙开设一个端口号,使主机可以通过端口号访问到服务器。(前提示要开启防火墙)后续配置数据库也需要开放一个端口号让主机进行访问,因此一起设置了,设置好之后需要刷新防火墙状态方可使用。

        然后再在主机上去访问我们的服务器,下图代表成功访问也说明了Tomcat配置成功

二、安装MySql数据库

1. 卸载mariadb,否则安装MySql会出现冲突(先查看后删除再查看)

       因为Linux系统会自带一个数据库,因此防止我们在安装 MySQL数据发生冲突,所以我们要查看原有的是否存在,存在的话要把原有的删除掉再进行安装。

相关的指令:

  1. rpm -qa|grep mariadb  --->查看数据库
  2. rpm -e --nodeps+数据库文件名  ---->删除指定的数据库

2.  安装MySQL数据库

2.1 解压安装包

       没有导入数据库安装包的可以执行以下指令进行下载安装包

下载数据库安装包指令:wget https://downloads.mysql.com/archives/get/p/23/file/mysql-5.7.35-1.el7.x86_64.rpm-bundle.tar

       下载好了或者导入好了数据库安装包之后,接下来是将数据库安装包解压到指定目录。

因此我创建一个文件夹用来存放我的数据库,将MySQL数据库安装包解压到我们刚才创建好的文件夹中。

涉及的指令命令:

  1. tar -xvf +数据库安装包 -C +指定的文件夹

2.2 安装数据库

       安装解压后对应的数据库文件安装包。

相关指令:

  1. rpm -ivh + 要安装的文件

开始安装,-ivh 其中i表示安装,v表示显示安装过程,h表示显示进度

2.3 配置数据库

       安装好指定的数据文件之后,启动我们的Mysql服务,对数据库进行一系列配置。其中当我们要进行对数据库默认密码进行修改时,Linux系统与Windows系统有所不同,Linux更加严格,需要我们设置密码校验策略(0 or LOW),要不密码太LOW不让你过,而且设置密码校验长度,要不密码太短不让你过(多次测试发现密码最小长度为4位)的一系列设置方可修改密码。

进入数据库服务

修改用户密码

设置访问权限

相关指令:

  1. systemctl start mysqld  ---->启动数据库服务
  2. grep "password" /var/log/mysqld.log  ---->查看数据库默认设置的密码
  3. mysql -uroot -p   ---->进行数据库用户登陆
  4. set global validate_password_policy=0 ---->设置密码校验策略(0 or LOW)
  5. set global validate_password_length=4  ----->设置密码校验长度(长度4)
  6. set password = password("要设置的密码")   ------>设置密码
  7. FLUSH PRIVILEGES  ------>刷新数据库服务
  8. use mysql ----->使用数据库
  9. GRANT ALL PRIVILEGES ON *.* TO '用户账号'@'%' IDENTIFIED BY '用户密码' WITH GRANT OPTION   ----->设置指定用户的全部权限
  10. exit ---->退出数据库

3. 主机访问数据库

       完成上诉操作后就可以在主机的数据库中进行访问了。

三、部署前后端分离项目后端接口

步骤:

  1. 开发工具启动后台项目测试
  2. maven install将项目打包
  3. 将打包好的项目放入Linux中tomcat/webapps/文件下
  4. 启动tomcat
  5. 浏览器测试

接下来是具体操作

1. 导入项目包

       找到Tomcat文件夹下的webapps文件夹,将项目包导入进去,导入方式和导入安装包的方式一致。

2. 启动服务器加载项目

        进入到bin目录下先停止服务器,再重新启动加载项目。然后在主机的网页上进行访问项目。

        查看项目的数据库配置文件,在数据库中创建对应的数据库并导入数据。

       最后重新启动服务器后网页再进行访问项目

四、扩展:部署单体项目(利用另外的端口号访问)

方式一:(不是一个服务器用两个端口运行两个项目,修改端口号)

tomcat目录下的conf文件夹中,编辑server.xml的内容,修改端口号即可。

       重新启动服务器加载项目,在主机运用修改后的端口号访问即可。 然后将项目包导入到webapps文件夹下;再新创建一个防火墙端口允许访问,则该端口与修改后的端口号一致,刷新防火墙状态启用新建的端口号;最后重新启动服务器加载项目,在主机用新的端口号访问项目即可。

方式二:(新增一个端口号访问项目)

1. 部署准备

步骤如下:

  1. 首先进入到tomcat目录下
  2. mkdir webapps1  ---》创建一个和webapps 同目录的webapps1
  3. cp -r webapps/* webapps1/ -------》复制webapps的全部内容到webapps1
  4. 复制conf/Catalina文件夹并命名为Catalina1
  5. cd conf ---->然后进入到tomcat目录下的conf文件夹中
  6. vi server.xml  ------>编辑这个文件内容
1.1 创建文件夹

1.2 编辑server.xml

       server.xml已有第一个项目的配置信息,现在需要新增第二个项目的配置,在Server节点下,新增Service节点;第2个Service节点复制第1个Service内容。复制后,做如下端口等配置修改。

<Service name="Catalina1">
    <Connector port="8082" protocol="HTTP/1.1"
               maxThreads="5000"
               minProcessors="100"
               maxProcessors="1000"
               minSpareThreads="100"
               maxSpareThreads="1000"
               enableLookups="false"
               URIEncoding="utf-8"
               acceptCount="1000"
               connectionTimeout="20000"
               disableUploadTimeout="ture"
               redirectPort="8444" />
    <Engine name="Catalina1" defaultHost="localhost">
      <Realm className="org.apache.catalina.realm.LockOutRealm">
        <Realm className="org.apache.catalina.realm.UserDatabaseRealm"
               resourceName="UserDatabase"/>
      </Realm>
      <Host name="localhost"  appBase="webapps1"
            unpackWARs="true" autoDeploy="true">
        <Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"
               prefix="localhost_access_log" suffix=".txt"
               pattern="%h %l %u %t &quot;%r&quot; %s %b" />
      </Host>
    </Engine>
  </Service>
1.3 在webapps1中导入项目包
1.4 运行服务器配置数据库
1.5 创建一个对应端口的防火墙规则

2. 主机访问实现

       这就是通过调整设置在一个Tomcat下运用两个端口号实现两个不同项目的部署,并且成功在主机页面访问。

       本期的博客分享到此结束,三连加关注支持博客一下呗

目录
相关文章
|
1天前
|
Linux vr&ar C语言
Linux怎样更新Centos下Gcc版本支持C17?Centos7快速安装gcc8.3.1 可支持C++17(附gcc相关链接整理)
Linux怎样更新Centos下Gcc版本支持C17?Centos7快速安装gcc8.3.1 可支持C++17(附gcc相关链接整理)
9 2
|
1天前
|
Ubuntu Linux 编译器
当自身需要使用的 gcc版本 和Linux 默认版本 存在大版本差异时怎样处理
当自身需要使用的 gcc版本 和Linux 默认版本 存在大版本差异时怎样处理
8 2
|
2天前
|
Shell Linux 网络安全
Linux怎样在使用ssh 链接时就指定gcc 的版本
Linux怎样在使用ssh 链接时就指定gcc 的版本
16 7
|
4天前
|
Linux
查看linux内核版本
在Linux中查看内核版本可使用`uname -r`、`cat /proc/version`、`lsb_release -a`(若安装LSB)、`/etc/*release`或`/etc/*version`文件、`dmesg | grep Linux`、`cat /sys/class/dmi/id/product_name`、`hostnamectl`、`kernrelease`(如果支持)、`rpm -q kernel`(RPM系统)和`dpkg -l linux-image-*`(Debian系统)。
15 4
|
18天前
|
Ubuntu Java Linux
Ubuntu20.04下载jdk遇到各种奇怪问题大集,Linux如何将默认的OpenJDK切换成自己安装的JDK版本(以JDK1.8为例),无需卸载原有OpenJDK,Some packages co
Ubuntu20.04下载jdk遇到各种奇怪问题大集,Linux如何将默认的OpenJDK切换成自己安装的JDK版本(以JDK1.8为例),无需卸载原有OpenJDK,Some packages co
|
26天前
|
Ubuntu Linux Go
ubuntu linux (20.04) 源码编译cryptopp库 - apt版本过旧
ubuntu linux (20.04) 源码编译cryptopp库 - apt版本过旧
23 1
|
1月前
|
负载均衡 Linux 应用服务中间件
Linux系统中前后端分离项目部署指南
Linux系统中前后端分离项目部署指南
|
1月前
|
关系型数据库 MySQL Linux
Linux CentOs7 安装Mysql(5.7和8.0版本)密码修改 超详细教程
Linux CentOs7 安装Mysql(5.7和8.0版本)密码修改 超详细教程
185 1
|
1月前
|
NoSQL Java Linux
Linux的环境安装以及项目部署
Linux的环境安装以及项目部署
|
1月前
|
Java Linux
【linux线程(三)】生产者消费者模型详解(多版本)
【linux线程(三)】生产者消费者模型详解(多版本)