Nginx学习和使用及反向代理负载均衡等详细介绍
1. 什么是nginx?
Nginx(engine x)是一个高性能的HTTp及反向代理Wed服务器,使用c语言编写的一款web服务软件
Nginx是一款轻量级的Web服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器,在BSD-like协议下的发行
nginx的特点。
nginx特点是占内存少,并发能力强,事实上nginx的并发能力在同类的网页服务器中表现较好,中国大陆使用nginx网址的用户有:百度、京东、新浪、网易、腾讯、淘宝等等。
2. 为什么使用nginx?
Nginx 可以作为静态页面的 web 服务器,同时还支持 CGI 协议的动态语言,比如 perl、php 等。但是不支持 java。Java 程序只能通过与 tomcat 配合完成。Nginx 专为性能优化而开发, 性能是其最重要的考量,实现上非常注重效率 ,能经受高负载的考验,有报告表明能支持高 达 50,000 个并发连接数。 https://lnmp.org/nginx.html
3. 如何使用nginx?
3.1安装nginx的依赖
1. yum install -y gcc-c++ 2. yum install -y pcre pcre-devel 3. yum install -y zlib zlib-devel 4. yum install -y openssl openssl-devel
3.2上传nginx安装包并解压
tar -zxvf 安装包名
3.3创建一个
mkdir /usr/nginx
3.4进入nginx的解压目录并且安装到指定目录
./configure --prefix=/usr/nginx
3.5编译nginx并安装
make install
3.6安装后进入目录 启动nginx服务
3.7nginx的停止与重新启动
3.8访问nginx服务,查看是否启动,浏览器输入你的nginx所在的主机ip
4. 反向代理?
4.1正向代理:代理的客户端,对于互联网服务器来说,不知道真实的客户地址
4.2反向代理:代理的服务器,对于客户来说不知道访问的是哪台服务器。
4.3使用反向代理
4.4找到配置文件F: ginx ginx-1.18.0conf
在nginx.conf进行配置
(1)修改nginx默认端口为88(数字没有强制)
4.5 重新加载nginx的配置文件后访问nginx的地址
5. 负载均衡?
1准备: 1. nginx---192.168.223.140 2. 两台web应用服务器 【192.168.223.140 192.168.223.157】
2.部署
(1)在140和157部署并启动web应用服务器。
(2)修改nginx的配置内容。
3.测试
4.权重
6. nginx的动静分离
1.原理
动静分离: 把服务器端的静态资源和动态资源分开处理。
【动态资源:--->内容会随着服务器返回的结果而变化。-->jsp模板引擎】
【静态资源:--->css.js.image.html】
上面的请求可以发现: 我们每次发送请求动态资源时,服务端会把动态资源返回给客户,可以获取动态资源后,该动态资源可能依赖一些静态资源,客户拿到动态资源后,还有向服务发送请求静态资源。这是相当于服务处理了静态服务。这样明显服务压力太大。 而且服务如果是集群,那么服务器对静态资源的维护比较麻烦。 我们可以使用nginx实现服务器的动静分离。
1.如何配置动静分离:
(1)把静态资源放入nginx的安装目录
(2)修改配置文件
(3) 启动nginx和tomcat
(4)访问nginx地址