在Linux系统安装Java运行环境(Linux进阶 )

后端程序部署

本小节的任务是将学习管理系统部署到服务器上,在部署之前先来一个快照

软件的安装包文件上传到/usr/local/src/,软件安装位置在/usr/local/

安装包类型

1. 二进制发布包安装
	软件已经针对具体平台编译打包发布,只要解压,修改配置即可

2. 源码编译安装
	软件以源码工程的形式发布,需要自己编译打包

3. rpm安装
	软件已经按照redhat的包管理规范进行打包,使用rpm命令进行安装,不能自行解决库依赖问题
        安装:rpm  -ivh  rpm文件
        升级:rpm  -Uvh  rpm文件
        卸载:rpm  -e --nodeps 软件名
        查看所有安装的软件:rpm -qa | grep 具体名
        
4. yum安装
	一种在线软件安装方式,本质上还是rpm安装,自动下载安装包并安装,安装过程中自动解决库依赖问题5464
		yum install 软件名      (yum install ksh)
		yum localinstall 本地rpm包

安装JDK

官方提供的是二进制安装包

#1 解压
	tar -zxvf /usr/local/src/jdk-11.0.18_linux-x64_bin.tar.gz -C /usr/local/
#2 配置环境变量
	vim /etc/profile
	
	export JAVA_HOME=/usr/local/jdk-11.0.18
	export PATH=$PATH:$JAVA_HOME/bin
#3 更新配置文件
	source /etc/profile
#4 测试
	java -version

安装MySQL

官方提供的是rpm包

# 上传所有的rpm包到/usr/local/src/mysql/下

# 安装软件
	yum localinstall /usr/local/src/mysql/* -y
	
# 启动mysql服务器 
	systemctl start mysqld
	
# 查看密码
	cat /var/log/mysqld.log
	
# 使用日志提供的密码登录mysql
	mysql -uroot -p
	
# 设置一个新的账号密码
	alter user 'root'@'localhost' identified by '1qaz@WSX'; -- 重置密码(此密码要求很复杂)
	create user 'heima'@'%' identified by '1qaz@WSX'; -- 创建一个可以再任意位置登录的heima用户
	grant all privileges on *.* to 'heima'@'%'; -- 授权
	flush privileges; -- 刷新
	exit; -- 退出mysql

# 防火墙放行端口
	firewall-cmd --zone=public --add-port=3306/tcp --permanent
	firewall-cmd --reload

在这里插入图片描述

数据库迁移

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

项目部署

打包

① 修改数据库连接
在这里插入图片描述
在这里插入图片描述

<!--在pom.xml的project节点中添加下面配置,然后执行maven clean package-->
<build>
    <finalName>tlias</finalName>
    <plugins>
        <plugin>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-maven-plugin</artifactId>
            <version>2.7.5</version>
            <executions>
                <execution>
                    <goals>
                        <goal>repackage</goal>
                    </goals>
                </execution>
            </executions>
        </plugin>
    </plugins>
</build>

在这里插入图片描述
在这里插入图片描述

运行程序

java -jar /usr/local/tlias.jar --server.port=9090

上面方式会占据控制台运行,下面是后台运行

nohup java -jar /usr/local/tlias.jar --server.port=9090 > /usr/local/9090.log &

放行端口

使用下面命令,放行防火墙9090端口

firewall-cmd --zone=public --add-port=9090/tcp --permanent
firewall-cmd --reload

访问测试

使用postman测试
在这里插入图片描述

前端程序部署

我们前端程序需要部署到nginx软件中,下面我们先来了解下nginx

Nginx

Nginx是一款轻量级的Web服务器,由俄罗斯的程序设计师伊戈尔·西索夫所开发。

Nginx性能非常优秀,官方测试 nginx 能够支撑5万并发链接,并且cpu、内存等资源消耗却非常低,运行非常稳定。

Nginx的作用有很多,我们经常使用的是用它来做静态资源服务器、负载均衡服务器和反向代理服务器

软件安装

#1 安装基础包  
	yum install gcc-c++ pcre pcre-devel zlib zlib-devel openssl openssl-devel -y 
#2 解压文件
	tar -zxvf /usr/local/src/nginx-1.22.1.tar.gz  -C  /usr/local/src
#3 配置
	cd /usr/local/src/nginx-1.22.1/
	./configure --prefix=/usr/local/nginx
#4 编译
	make
#5 安装
	make install
#6 启动
	/usr/local/nginx/sbin/nginx
#7 防火墙放行端口
	firewall-cmd --zone=public  --add-port=80/tcp  --permanent
	firewall-cmd --reload

实战–静态资源

静态资源服务器,就是nginx中可以部署静态资源代码,比如html、css、js等等

① 上传前端代码
在这里插入图片描述
② 修改配置
在这里插入图片描述

        location ^~ /api/ {
			rewrite ^/api/(.*)$ /$1 break;
			proxy_pass http://localhost:9090;
        }

③ 重新加载nginx配置

/usr/local/nginx/sbin/nginx -s reload

④ 访问测试

在这里插入图片描述

实战–反向代理

反向代理,就是对服务端进行代理,浏览器将请求发送到nginx,nginx会将合适的请求转发给后端的tomcat
前后端在不同的服务器上

       location ^~ /api/ {
			rewrite ^/api/(.*)$ /$1 break;
			# 反向代理
			proxy_pass http://192.168.136.3:9090;
        }

实战–负载均衡

负载均衡(Load Balance, LB)意思就是将一份负载分摊到多个操作单元上进行执行

在这里插入图片描述

# 1. 再次启动一个后端程序,端口号设置为9091
	nohup java -jar /usr/local/tlias.jar --server.port=9091  > /usr/local/9091.log &
	
# 2. 修改nginx的配置文件
	# 声明负载均衡
	upstream tomcatserver{
       server localhost:9090;
       server localhost:9091;
    }
    
    server {
	   # 声明反向代理 	       
        location ^~ /api/ {
			rewrite ^/api/(.*)$ /$1 break;
			proxy_pass http://tomcatserver;
        }
	}
    
# 3. 重新加载nginx配置
	/usr/local/nginx/sbin/nginx -s reload
	
# 4. 新开两个窗口, 分别观察两个日志的输出
tail -f /usr/local/9090.log
tail -f /usr/local/9091.log

在这里插入图片描述
Nginx中提供了下面几种负载均衡策略:

名称说明特点
默认方式轮询
weight权重根据权重分发请求,权重大的分配到请求的概率大
fair最快时间优先把请求分发给处理请求时间短的服务器
least_conn最少连接哪个服务器当前处理的连接少, 请求优先转发到这台服务器
ip_hash依据ip分配根据客户端请求的IP地址计算hash值, 根据hash值来分发请求,
同一个IP发起的请求, 会发转发到同一个服务器上
url_hash依据url分配根据客户端请求url地址计算hash值,根据hash值来分发请求,
同一个url请求, 会发转发到同一个服务器上
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

PY_XAT_SFZL

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值