什么是 nginx?
nginx 是一款高性能的 http 服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器。
由俄罗斯的程序设计师 Igor Sysoev 所开发,官方测试 nginx 能够支支撑 5 万并发链接,并
且 cpu、内存等资源消耗却非常低,运行非常稳定,所以现在很多知名的公司都在使用 nginx。
nginx 应用场景
1、http 服务器。Nginx 是一个 http 服务可以独立提供 http 服务。可以做网页静态服务器。
2、虚拟主机。可以实现在一台服务器虚拟出多个网站。例如个人网站使用的虚拟主机。
3、反向代理,负载均衡。当网站的访问量达到一定程度后,单台服务器不能满足用户的请
求时,需要用多台服务器集群可以使用 nginx 做反向代理。并且多台服务器可以平均分担负
载,不会因为某台服务器负载高宕机而某台服务器闲置的情况。
如何运行Nginx
解压nginx安装包后启动nginx.exe
在网页中输入localhost后出现如下页面代表启动nginx成功
nginx 优缺点
占内存小,可以实现高并发连接、处理响应快。
可以实现 http 服务器、虚拟主机、反向代理、负载均衡。
nginx 配置简单
可以不暴露真实服务器 IP 地址
nginx 实现反向代理
反向代理(Reverse Proxy)方式是指以代理服务器来接受 internet 上的连接请求,然后将
请求转发给内部网络上的服务器,并将从服务器上得到的结果返回给 internet 上请求连接
的客户端,此时代理服务器对外就表现为一个反向代理服务器。
启动一个tomcat
编辑nginx.con
在页面中访问www.szh.com进入到tomcat里配的项目的index.jsp页面
nginx 实现负载均衡
什么是负载均衡
负载均衡 建立在现有网络结构之上,它提供了一种廉价有效透明的方法扩展网络设备和服
务器的带宽、增加吞吐量、加强网络数据处理能力、提高网络的灵活性和可用性。
负载均衡,英文名称为 Load Balance,其意思就是分摊到多个操作单元上进行执行,
例如 Web 服务器、FTP 服务器、企业关键应用服务器和其它关键任务服务器等,从而共同完
成工作任务。
1.修改nginx.con文件
2.编写一个servlet暴露出一个地址
@WebServlet("/NginxServlet") public class NginxServlet extends HttpServlet { @Override protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { System.out.println("当前访问端口为:"+req.getServerPort()); } @Override protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { doPost(req, resp); } }
3.启动两个tomcat形成集群
4.访问页面
5 控制台会随机进入其中一个tomcat输出
6 权重比例配置
修改nginx.con文件
启动页面后控制台效果 我设置的比例是2:1