linux之Nignx及负载均衡&动静分离-CSDN博客
阿里云国内75折 回扣 微信号:monov8 |
阿里云国际,腾讯云国际,低至75折。AWS 93折 免费开户实名账号 代冲值 优惠多多 微信号:monov8 飞机:@monov6 |
⭐⭐ linux专栏linux专栏
⭐⭐ 个人主页个人主页
目录
一.Nignx的简介
1.1 什么是Nginx
Nginx发音为"engine x"是一个高性能的开源Web服务器和反向代理服务器。它专为性能优化而设计并且非常适用于处理高并发和高负载的网络环境。
1.2 Nginx的特点
- 高性能Nginx使用事件驱动的异步架构可以处理大量并发连接而且非常高效。
- 轻量级Nginx的代码精简资源消耗低启动速度快。
- 可扩展性Nginx支持模块化的架构可以通过添加模块来扩展其功能。
- 反向代理和负载均衡Nginx可以作为反向代理服务器将请求转发到后端的多个服务器并且支持负载均衡算法。
- 高可靠性Nginx具有自动故障恢复和热部署的特性可以提供高可用性的服务。
1.3 Nginx的应用场景
- Web服务器Nginx可以作为静态文件服务器处理静态资源的请求。
- 反向代理服务器Nginx可以将客户端请求转发到后端的多个服务器实现负载均衡和高可用性。
- 缓存服务器Nginx可以缓存经常请求的静态内容减轻后端服务器的负载。
- SSL/TLS终端代理Nginx可以作为SSL/TLS终端代理将加密和解密操作从后端服务器中分离出来提高性能和安全性。
1.4 Nginx的配置文件
Nginx的主要配置文件是nginx.conf它包含了全局配置和每个虚拟主机的配置。你可以在配置文件中设置监听端口、域名绑定、反向代理规则、缓存设置等。
1.5 Nginx的常用命令和管理
- 启动Nginxsudo systemctl start nginx
- 停止Nginxsudo systemctl stop nginx
- 重启Nginxsudo systemctl restart nginx
- 重新加载配置文件sudo systemctl reload nginx
- 查看Nginx状态sudo systemctl status nginx
1.6.Nginx之负载均衡
Nginx的负载均衡是指将请求分配到多个服务器上以平衡服务器的负载和提高系统的性能和可靠性。当有大量的请求到达时负载均衡可以将这些请求分发到多个后端服务器上以避免单个服务器过载提高处理能力和响应速度。
1.7.Nginx之动静分离
动静分离是指将动态请求和静态请求分开处理的一种架构设计方式可以提升系统的性能、节约资源并提供更灵活的系统扩展和优化方式。
- 动态请求是指需要经过后端处理程序生成内容的请求常见的例子包括动态网页、接口请求等。这些请求需要耗费服务器的计算资源和时间。
- 静态请求是指不需要经过后端处理程序生成内容的请求例如图片、CSS、JavaScript等静态资源文件。这些请求的处理速度较快不需要消耗服务器的计算资源。
在Nginx中实现动静分离的配置方式通常是通过在Nginx的配置文件中设置location指令。可以将静态资源所在的目录配置为一个location并设置相应的缓存策略。动态请求的转发可以通过设置反向代理的方式实现。
二. Nginx搭载负载均衡
1. 下载4个依赖输入以下命令回车即可
yum -y install gcc zlib zlib-devel pcre-devel openssl openssl-devel
2. 解压Nginx安装目录:
tar -xvf nginx-1.13.7.tar.gz
3. 进入安装包目录
cd nginx-1.13.7
4. 编译执行配置: 考虑到后续安装ssl证书 添加两个模块
./configure --with-http_stub_status_module --with-http_ssl_module
5. 安装
make && make install
在这个 nginx/sbin目录下启动nginx输入命令 ./nginx
下载lsof 查看是否启动成功 输入命令yum install -y lsof
下载好之后输入命令lsof -i:80
接下来开放一个 80 端口号
开放端口号
firewall-cmd --zone=public --add-port=80/tcp --permanent
刷新防火墙
firewall-cmd --reload && firewall-cmd --list-port
tomcat负载均衡
准备两个tomcat输入命令
cp -r apache-tomcat-8.5.20/ apache-tomcat-8.5.20_8081/
为了避免端口号冲突需要修改端口号输入命令vi server.xml 进入之后点击 i 键进行编辑编辑好之后点击esc键 输入:wq 保存退出,另外一个tomcat也是将其端口号改为8080
接着改变8081的内容方便等下区分进入以下路径
/root/javayz/software/apache-tomcat-8.5.20_8081/webapps/ROOT/
把里面的内容的清空
将tomcat负载现在来配置其文件
在这个配置下新增以下这个
#服务器的集群
upstream tomcat_list { #服务器集群名字
server 127.0.0.1:8080 weight=1; #服务器1 weight是权重的意思权重越大分配的概率越大。
#server 127.0.0.1::8080 weight=2; #服务器2 weight是权重的意思权重越大分配的概率越大
}
最后点击esc 键 输入命令:wq保存退出再重启Nginx,输入命令./nginx -s reload
因为刚刚的8081的 weight的这个比8080的大所以8081出现的概率大一些
三.前端项目部署
新建一个mypeo的文件夹
进入mypro的目录下将前端架包导入
解压的话需要下载一个插件输入命令yum install -y unzip再输入unzip blog.zip即可解压接着还需要修改nginx.conf文件新增以下保存即可
location / {
root /usr/local/mypro/dist;
#proxy_pass http://tomcat_list;
index index.html index.htm;
}
location ^~/api/ {proxy_pass http://tomcat_list/;
}
这个时候我们就进行访问发现提交不了是因为域名拦截
我们进入电脑的以下目录下:
C:\Windows\System32\drivers\etc\hosts
再次访问
好啦今天的分享就到这啦