一Nginx作用
Nginx ("engine x") 是一个高性能的 HTTP 和反向代理服务器,特点是占有内存少,并发能 力强。
正向代理
正向代理最大的特点是客户端非常明确要访问的服务器地址;服务器只清楚请求来自哪个代理服务器,而不清楚来自哪个具体的客户端;正向代理模式屏蔽或者隐藏了真实客户端信息。
正向代理的用途:
(1)访问原来无法访问的资源,如Google
(2)可以做缓存,加速访问资源
(3)对客户端访问授权,上网进行认证
(4)代理可以记录用户访问记录(上网行为管理),对外隐藏用户信息
反向代理
反向代理,其实客户端对代理是无感知的,因为客户端不需要任何配置就可以访问,我们只 需要将请求发送到反向代理服务器,由反向代理服务器去选择目标服务器获取数据后,在返 回给客户端,此时反向代理服务器和目标服务器对外就是一个服务器,暴露的是代理服务器 地址,隐藏了真实服务器 IP 地址。
反向代理的作用:
(1)保证内网的安全,通常将反向代理作为公网访问地址,Web服务器是内网
(2)负载均衡,通过反向代理服务器来优化网站的负载
二者区别
负载均衡
单个服务器解 决不了,我们增加服务器的数量,然后将请求分发到各个服务器上,将原先请求集中到单个服务器上,将负载分发到不同的服务器。
二Nginx的安装与配置
安装依赖环境:
yum install -y gcc-c++ pcre pcre-devel zlib zlib-devel openssl openssl-devel
安装nginx
1. 上传压缩包
自行选择目录
2. 解压文件
tar -zxvf nginx-1.15.10.tar.gz
3. 配置
进入目录nginx-1.15.10
使用默认配置
[root@hostM1 nginx-1.15.10]# ./configure
4. 编译: 安装
make&&make install
5. 查看安装位置
whereis nginx
6. 启动、停止nginx
[root@hostM1 nginx-1.15.10]# cd /usr/local/nginx/sbin/先进入sbin目录下
[root@hostM1 sbin]# ./nginx 启动
[root@hostM1 sbin]# ./nginx -s reload 重新加载
./nginx -s stop (杀掉进程之后进行关闭)
./nginx -s quit (等待进程结束 关闭)
8. 查询nginx进程:
ps auxgrep -v grepgrep nginx
ps -efgrep -v grepgrep nginx
9. 访问nginx
192.168.159.34
nginx配置文件 (nginx.conf)
第一部分:全局块
从配置文件开始到 events 块之间的内容,主要会设置一些影响 nginx 服务器整体运行的配置指令,主要包括配置运行 Nginx 服务器的用户(组)、允许生成的 worker process 数,进程 PID 存放路径、日志存放路径和类型以及配置文件的引入等。
比如第一行
worker_processes 1;
这是 Nginx 服务器并发处理服务的关键配置,worker_processes 值越大,可以支持的并发处理量也越多,但是会受到硬件、软件等设备的制约
第二部分:events 块
events 块涉及的指令主要影响 Nginx 服务器与用户的网络连接,常用的设置包括是否开启对多 work process 下的网络连接进行序列化,是否允许同时接收多个网络连接,选取哪种事件驱动模型来处理连接请求,每个 word process 可以同时支持的最大连接数等。
events {
worker_connections 1024;
}
上述例子就表示每个 work process 支持的最大连接数为 1024.
这部分的配置对 Nginx 的性能影响较大,在实际中应该灵活配置。
第三部分:http 块
这算是 Nginx 服务器配置中最频繁的部分,代理、缓存和日志定义等绝大多数功能和第三方模块的配置都在这里。
需要注意的是:http 块也可以包括 http 全局块、server 块。
server{
listen 80; nginx 使用的端口号是80
server_name localhost; (192.168.221.32)
}
反向代理实例:
访问 192.168.44.34的时候直接指向的是 http://192.168.44.34:8080/test;
进入并编辑nginx.conf
进行如下修改
返回sbin文件夹并重启
访问 192.168.44.34的时候直接指向的是 http://192.168.44.34:8080/test;成功
三 配置nginx开机启动
启动,停止,重启
切换到/lib/systemd/system/目录
杀掉多余进程
2.创建并编辑nginx.service文件
vim /usr/lib/systemd/system/nginx.service
添加内容如下:
[Unit]
Description=nginx
After=network.target
[Service]
Type=forking
ExecStart=/usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf
ExecReload=/usr/local/nginx/sbin/nginx -s reload
ExecStop=/usr/local/nginx/sbin/nginx -s stop
PrivateTmp=true
[Install]
WantedBy=multi-user.target
查看nginx状态
3.反向代理实例2:
进入并编辑nginx.conf
[root@localhost conf]# pwd
/usr/local/nginx/conf
[root@localhost conf]# vim nginx.conf
根据访问的路径跳转到不同端口的服务器中
/aaa/
192.168.44.34:8080/test
/bbb/
192.168.44.34:8899/test
Nginx配置负载均衡
虚拟机的克隆
- 虚拟机关机
- 点击管理->克隆
- 虚拟机当前状态
- 创建完整克隆
- 选择名称和路径
- 完成
UUID删除
IPADDR修改第四位
重启
另一个虚拟机同样操作
新建两个新虚拟机的会话
启动项目
随机在两个项目中切换