前言
在Linux前期的博客分享中我与老铁们分享了有关在虚拟机上安装Windows系统并且部署项目文件,而且成功在主机上访问成功。上期的博客中教到大家如何去在虚拟机安装Linux操作系统,今天的这期博客中基于上一期博客,今天与大家分享的是如何在Linux系统配置我们的开发环境并且部署项目。
一、JDK及Tomat的部署安装
将需要使用的安装包及压缩包上传到Linux系统上。
上图所示代表我们安装包导入成功。有些的服务器连接工具支持拖拽方式导入,有些需要使用命令,根据情况而定。(博主使用的是mobalxterm)
1. JDK的安装
1.1 解压jdk安装压缩包
在服务连接工具中输入如下指令进行解压
指令:tar -zxvf +压缩包名称(z字母可以省略)
到我们再次查看该文件目录时,会生成一个解压后的jdk文件夹
1.2 配置jdk的环境变量
与Windows系统不同的是,Linux系统配置不是在高级系统设置中配置,而是在/etc/profile文件下进行编辑添加配置。
配置步骤:
- vim /etc/profile --->进入该文件中
- 按i键进入编辑模式
- 将配置环境的代码添加到文件末端(配置变量文件代码如下)
#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数据发生冲突,所以我们要查看原有的是否存在,存在的话要把原有的删除掉再进行安装。
相关的指令:
- rpm -qa|grep mariadb --->查看数据库
- 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数据库安装包解压到我们刚才创建好的文件夹中。
涉及的指令命令:
- tar -xvf +数据库安装包 -C +指定的文件夹
2.2 安装数据库
安装解压后对应的数据库文件安装包。
相关指令:
- rpm -ivh + 要安装的文件
开始安装,-ivh 其中i表示安装,v表示显示安装过程,h表示显示进度
2.3 配置数据库
安装好指定的数据文件之后,启动我们的Mysql服务,对数据库进行一系列配置。其中当我们要进行对数据库默认密码进行修改时,Linux系统与Windows系统有所不同,Linux更加严格,需要我们设置密码校验策略(0 or LOW),要不密码太LOW不让你过,而且设置密码校验长度,要不密码太短不让你过(多次测试发现密码最小长度为4位)的一系列设置方可修改密码。
进入数据库服务
修改用户密码
设置访问权限
相关指令:
- systemctl start mysqld ---->启动数据库服务
- grep "password" /var/log/mysqld.log ---->查看数据库默认设置的密码
- mysql -uroot -p ---->进行数据库用户登陆
- set global validate_password_policy=0 ---->设置密码校验策略(0 or LOW)
- set global validate_password_length=4 ----->设置密码校验长度(长度4)
- set password = password("要设置的密码") ------>设置密码
- FLUSH PRIVILEGES ------>刷新数据库服务
- use mysql ----->使用数据库
- GRANT ALL PRIVILEGES ON *.* TO '用户账号'@'%' IDENTIFIED BY '用户密码' WITH GRANT OPTION ----->设置指定用户的全部权限
- exit ---->退出数据库
3. 主机访问数据库
完成上诉操作后就可以在主机的数据库中进行访问了。
三、部署前后端分离项目后端接口
步骤:
- 开发工具启动后台项目测试
- maven install将项目打包
- 将打包好的项目放入Linux中tomcat/webapps/文件下
- 启动tomcat
- 浏览器测试
接下来是具体操作
1. 导入项目包
找到Tomcat文件夹下的webapps文件夹,将项目包导入进去,导入方式和导入安装包的方式一致。
2. 启动服务器加载项目
进入到bin目录下先停止服务器,再重新启动加载项目。然后在主机的网页上进行访问项目。
查看项目的数据库配置文件,在数据库中创建对应的数据库并导入数据。
最后重新启动服务器后网页再进行访问项目
四、扩展:部署单体项目(利用另外的端口号访问)
方式一:(不是一个服务器用两个端口运行两个项目,修改端口号)
tomcat目录下的conf文件夹中,编辑server.xml的内容,修改端口号即可。
重新启动服务器加载项目,在主机运用修改后的端口号访问即可。 然后将项目包导入到webapps文件夹下;再新创建一个防火墙端口允许访问,则该端口与修改后的端口号一致,刷新防火墙状态启用新建的端口号;最后重新启动服务器加载项目,在主机用新的端口号访问项目即可。
方式二:(新增一个端口号访问项目)
1. 部署准备
步骤如下:
- 首先进入到tomcat目录下
- mkdir webapps1 ---》创建一个和webapps 同目录的webapps1
- cp -r webapps/* webapps1/ -------》复制webapps的全部内容到webapps1
- 复制conf/Catalina文件夹并命名为Catalina1
- cd conf ---->然后进入到tomcat目录下的conf文件夹中
- 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 "%r" %s %b" /> </Host> </Engine> </Service>
1.3 在webapps1中导入项目包
1.4 运行服务器配置数据库
1.5 创建一个对应端口的防火墙规则
2. 主机访问实现
这就是通过调整设置在一个Tomcat下运用两个端口号实现两个不同项目的部署,并且成功在主机页面访问。
本期的博客分享到此结束,三连加关注支持博客一下呗