Nginx的配置文件详解
Nginx的高级配置
点击此处即可查看nginx的官方文档 1.Nginx的源码编译安装
安装包:
点击此处即可下载nginx
1.安装nignx并解压
2.关闭debug日志

3.源码编译
(1).configure配置
(2)编译与安装
4.开启nginx
2.Nginx的基础配置
1.更改工作进程数


在图形界面更改cpu数(注意:需要先关机才能生效)


测试:
2.vim高量检测语法
测试:
3.设定用户和组

测试:
3.nginx的平滑升级
1.版本升级
1.下载新版本的nginx并解压
2.源码编译
注意:此时一定不能make install 直接安装,因为旧版本的nginx已经启动

3.备份旧版本nginx程序
4.拷贝二进制程序

5.添加新版本的nginx进程

6.停止旧版本的nginx进程

测试:
2.版本回退
1.拷贝二进制程序
2.添加旧版本的nginx进程


3.停止新版本的nginx进程

测试:
4.日志截断




5.编写nginx启动脚本
1.安装apache
2.查看并拷贝脚本文件
3.更改脚本文件

4.关闭nginx
测试:

6.限制并发连接数
1.更改配置文件




2.重新加载
3.创建目录
4.下载图片更改图片权限
测试:
1.在网页上输入: 172.25.66.1/download/tests.jpg 发现可以访问图片

2.清空日志
3.压测:1个并发

4.查看日志
发现所有的请求均通过,因为只有一个并发

5.清空日志
6.压测:10个并发

7.查看日志
发现只有一个请求成功(200),其他的均失败(503)。因为设定了限制并发数为1
7.限速
方式1:
1.更改配置文件

2.重新加载
3.压测

方式2:
1.更改配置文件

2.重新加载
3.压测
8.获取客户端真实ip
1.关闭原来的nginx

2.重新编译

注意:一定不要执行make install,直接将二进制文件拷贝过来即可
3.拷贝二进制文件
4.更改配置文件
(1)添加虚拟主机

(2)添加解析

测试:


(3)指定返回参数

测试:
(4)返回原始ip
默认返回的是记录ip中的最后一个:

测试:
返回记录ip中的第一个(源ip):

测试:
9.添加动态模块
1.关闭nginx
2.重新编译


安装包:
3.拷贝二进制文件
4.拷贝image模块
5.下载图片并拷贝
6.浏览器访问
输入:172.25.66.1/download/tests.jpg,发现可以访问图片

7.更改配置文件


测试:
1.清理缓存

2.刷新网页:发现图片大小发生了改变

网页直接访问 172.25.66.1/download/ ,发现报错

解决方案:

测试:
先清理缓存,再刷新

10.设定缓存
1.更改配置文件

2.重新加载
测试:


11.配置SSL实现HTTPS加密访问
1.添加主机
(1).更改配置文件

(2).建立根目录并编写文件
(3).重新启动
(4).添加解析

测试:
2.添加SSL模块
(1).更改配置文件

(2).重新编译


(3).拷贝二进制文件
(4).拷贝image模块
(5).制作证书并拷贝

(6).重新加载

(7).添加解析

网页测试:
输入:www.westos.org/

输入:https://www.westos.org

添加证书:



查看证书:


那如何自动实现https加密呢?
访问淘宝,发现淘宝做了重定向(注意:需要连接无线)


利用rewrite模块实现:将http重定向到https即可
临时重定向:
1.更改配置文件

2.重新加载
测试:

永久性重定向:
1.更改配置文件

2.重新加载
测试:

网页测试:
输入:www.westos.org,发现自动跳转到 https://www.westos.org


对$1的理解:


网页测试:

12.重定向
(1). 将 www.westos.org/bbs 重定向到 bbs.westos.org
1.添加虚拟主机

2.重新加载
3.建立根目录并编写文件
4.添加解析

测试:
输入:bbs.westos.org 可查看到站点域名所发布的内容

5.重定向

6.重新加载
测试:


改进:

测试:
(2).将 bbs.westos.org 重定向到 www.westos.org/bbs
1.重定向

2.重新加载
3.拷贝/bbs目录
测试:

(3).关闭默认server
当访问不存在域名站点时,只要做了本地解析,测试发现会自动跳转到默认发布页面,这样存在安全隐患。


在网页上输入:test.westos.org 发现访问的是nginx的默认发布首页

为了避免恶意解析,所以需要关闭默认server
1.当访问不存在的站点域名时,直接返回500错误

测试:

在网页上输入:test.westos.org 返回500报错
改进:一般在生产环境中不会直接返回500报错,而是将其重定向到其他域名需要宣传的站点,这样不仅避免了恶意解析,又提高了访问量(比如:某个公司宣传界面等)
2. 当访问不存在的站点域名时,重定向到其他站点


测试:

在网页上输入:test.westos.org 会自动跳转到 www.westos.org

13.制作防盗链
1.何为盗链?
模拟server2结点盗链server1结点的图片:
1.配置apache服务器端

2.配置nginx服务器端
测试:
输入:172.25.66.2(server1的ip) 即可访问到server2结点上的图片信息;这就是图片盗链

2.那么如何防盗链呢?


测试:
在网页上输入:172.25.66.1 发现无法查看到westos.jpg图片,说明防盗链成功

改进:
直接返回403错误,显得很不专业,所以我们来做个重定向,将其重定向到其他站点。在实际生产环境中,一般是将其重定向到外部其他的站点
1.更改配置文件

2.重新加载
3.下载图片并拷贝
测试:
输入:172.25.66.1 时,原本server2服务器想盗链server1服务器的westos.jpg图片,现在由于server1服务器做了防盗链,将其重定向到另一个站点。 因此访问到的便是daolian.jpg图片,达到了很好的防盗链效果
