目录
3.2 上传nginx安装包并解压nginx下载链接https://nginx.org/en/download.html
3.4 进入到nginx的解压目录并制定安装到usr/nginx
1.Nginx介绍
Nginx (engine x)是一个高性能的 HTTP 和反向代理服务,使用C语言编写的一款web服务软件。其特点是占有内存少,并发能力强,事实上nginx的并发能力在同类型的网页服务器中表现较好。中国大陆使用nginx网站用户有:百度、京东、新浪、网易、腾讯、淘宝等。
Nginx 专为性能优化而开发,性能是其最重要的考量指标,实现上非常注重效率,能经受住高负载的考验,有报告表明能支持高达60000个并发连接数。
2.为什么使用Nginx?
Nginx有几个最重要的使用场景:
-
静态资源服务,通过本地文件系统服务;
-
反向代理服务;
-
延伸出包括缓存、负载均衡等;
3.如何使用Nginx?
在linux系统下安装
3.1 安装nginx的依赖
yum install -y gcc-c++
yum install -y pcre pcre-devel
yum install -y zlib zlib-devel
yum install -y openssl openssl-devel
3.2 上传nginx安装包并解压
nginx下载链接
https://nginx.org/en/download.html
3.3 创建一个nginx的安装目录
在根目录下usr包里创建一个nginx包
mkdir /usr/nginx
3.4 进入到nginx的解压目录并制定安装到usr/nginx
./configure --prefix=/usr/nginx
3.5 安装
进入解压好的nginx文件后输入该指令进行编译并安装
make install
3.6 启动nginx
3.6.1 进入nginx安装目录的sbin目录
/usr/nginx/sbin
3.6.2 进入后输入以下命令启动
./nginx
3.6.3 查看进程是否存在nginx
ps -ef | grep nginx
3.7 进入浏览器访问nginx
在浏览器输入ip地址,出现该页面即为成功
3.8 Nginx的目录结构介绍
conf | 配置文件 |
html | 静态资源 |
logs | 日志文件 |
sbin | 启动脚本 |
sbin目录下的脚本指令:
- ./nginx 启动
- ./nginx -s stop 关闭
- ./nginx -s reload 重新加载配置文件
4. 反向代理
先介绍一下正向代理
正向代理:
- 用户发送请求到自己的代理服务器
- 自己的代理服务器发送请求到服务器
- 服务器将数据返回到自己的代理服务器
- 自己的代理服务器再将数据返回给用户
正向代理的作用:正向代理隐藏了用户,用户的请求被代理服务器接收代替,到了服务器,服务器并不知道用户是谁。
反向代理:
- 用户发送请求到服务器(访问的其实是反向代理服务器,但用户不知道)
- 反向代理服务器发送请求到真正的服务器
- 真正的服务器将数据返回给反向代理服务器
- 反向代理服务器再将数据返回给用户
4.1 nginx如何实现反向代理
- 准备两台虚拟机 在linux将项目在虚拟机①部署上去
- 修改虚拟机②的nginx配置 【 nginx/conf/nginx.conf 】找到server配置里的proxy_pass http://项目虚拟机的ip
- 重新加载nginx配置 【在nginx/sbin目录下输入 ./nginx -s reload】
- 进入网站输入虚拟机②的ip测试
正向代理与反向代理最简单的区别:
正向代理隐藏的是用户,反向代理隐藏的是服务器
5. 负载均衡
负载均衡建立在现有网络结构之上,它提供了一种廉价有效透明的方法扩展网络设备和服务器的带宽、增加吞吐量、加强网络数据处理能力、提高网络的灵活性和可用性。
负载均衡(Load Balance)其意思就是分摊到多个操作单元上进行执行,例如Web服务器、FTP服务器、企业关键应用服务器和其它关键任务服务器等,从而共同完成工作任务。
5.1 负载均衡的作用
分摊到多个操作单元上进行执行,和它的英文名称很匹配。就是我们需要一个调度者,保证所有后端服务器都将性能充分发挥,从而保持服务器集群的整体性能最优,这就是负载均衡。
5.2 负载均衡的5种策略
轮询策略 | 每个请求按时间顺序逐一分配到不同的后端服务器,如果后端服务器down掉,能自动剔除。 |
权重策略 | 指定轮询几率,weight和访问比率成正比,用于后端服务器性能不均的情况。 |
ip_hash策略 | 每个请求按访问ip的hash结果分配,这样每个访客固定访问一个后端服务器,可以解决session的问题。 |
fair策略 | 按后端服务器的响应时间来分配请求,响应时间短的优先分配。 |
url_hash策略 | 按访问url的hash结果来分配请求,使每个url定向到同一个后端服务器,后端服务器为缓存时比较有效。 |