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图片,达到了很好的防盗链效果