使用Nginx在windows和linux上搭建集群
Nginx
Nginx (engine x) 是一个高性能的HTTP和反向代理服务器,也是一个IMAP/POP3/SMTP服务器
特点:反向代理 负载均衡 动静分离…
反向代理(Reverse Proxy)方式是指以代理服务器来接受internet上的连接请求,然后将请求转发给内部网络上的服务器,并将从服务器上得到的结果返回给internet上请求连接的客户端,此时代理服务器对外就表现为一个服务器。
正向代理:需要我们用户手动设置第阿里服务器的ip地址和端口号
负载均衡,英文名称为Load Balance,是指建立在现有网络结构之上,并提供了一种廉价有效透明的方法扩展网络设备和服务器的带宽、增加吞吐量、加强网络数据处理能力、提高网络的灵活性和可用性。其原理就是数据流量分摊到多个服务器上执行,减轻每台服务器的压力,多台服务器共同完成工作任务,从而提高了数据的吞吐量。
动静分离:静态资源放在Nginx,动态资源放到我们后面的服务器上
用nginx在window上搭建一个集群
用nginx在window上搭建一个集群
- 在F盘下新建两个目录 tomcat1 tomcat2
- 修改tomcat1和tomcat2的端口,nginx的端口是80
- 解压ngix
a) 修改nginx的nginx.conf文件
b) 在location节点下添加反向代理
proxy_pass +代理服务器 例如: proxy_pass http://server_yujia
这只是代理一台服务器
4.代理集群
需要在http节点下添加一个
upstream servlet_yujia{
server 127.0.0.1:8080; tomcat服务器1
server 127.0.0.1:8090; tomcat 服务器2
}
修改location下的反向代理
Proxy_pass http://servlet_yujia
- session共享问题
解决方式一:
Web服务器解决(广播机制)
注意:tomcat下性能低
修改两个地;(只能在windows中使用)
- 修改tomcat的server.xml支持共享
2.修改项目的配置文件
-
解决方式二
可以将session的id放入redis中
解决方式三
保证一个ip地址永远的访问一台web服务器,就不存在session共享问题了,在linux中使用
在nginx的配置文件中
upsteam中添加 ip_hash;
在linux上搭建集群:
- 先将nginx上传到linux上
- 在/usr/local下创建目录nginx,并将文件解压到此文件夹
- 先编译nginx
安装依赖包
yum install gcc-c++
yum install -y pcre pcre-devel
yum install -y zlib zlib-devel
yum install -y openssl openssl-devel
执行编译:
先进入nginx的目录(解压好的)
执行 ./configure
4 安装nginx
执行
make
make install
两个命令
5启动nginx
cd到nginx目录下
配置文件conf
启动nginx
cd到sbin目录下
执行:
./nginx
查看nginx是否启动 ps –ef | grep nginx
6.将端口号80添加到防火墙中
/sbin/iptables –I INPUT –p tcp – dport 80 –j ACCEPT
将设置添加到防火墙的规则中
/etc/rc.d/init.d/iptables save
7 修改conf文件,配置和windows一样
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 从HTTP原因短语缺失研究HTTP/2和HTTP/3的设计差异
· 三行代码完成国际化适配,妙~啊~