nginx的重定向,防盗链,虚拟主机
一.Nginx
nginx是一个高性能的http和反向代理服务器,也是一个POP3/SMTP服务器,nginx可以在大多数linux上面编译运行。在高并发连接时,Nginx是Apache服务器不错的替代品。同时nginx也有很多不错的第三方模块(官网:www.nginx.org),nginx的配置文件相比于Apache更加的直观简洁,安装和配置都很便捷,Nginx 启动特别容易,并且几乎可以做到7*24不间断运行,即使运行数个月也不需要重新启动。你还能够不间断服务的情况下进行软件版本的升级。通过对一些全局参数的调优,能对nginx的性能有些许提升,worker_process等参数。nginx支持负载均衡,重定向,虚拟主机,缓存等模块,也可以通过location把请求的类型分到后端的tomcat或者apache服务器。实现动静页面的分流。
二.nginx的虚拟主机
1.nginx的部署
(1)nginx的编译(安装包:nginx-1.14.0.tar.gz)
(2)nginx的安装
make && make install
2.虚拟主机的部署
(1)配置nginx的配置文件
charset utf-8; ##发布文件有中文就添加此参数
server_name ##访问的域名
root /redhat; ##默认发布目录
(2)建立虚拟主机的发布目录和发布文件
(3)在浏览器端做解析(vim /etc/hosts)
(4)测试
curl -I 域名 ##仅显示请求头信息
3.对图片的缓存设置过期时间
(1)配置文件
(2)测试
验证过期时间(10天之后过期)
三.域名重定向
1.对域名进行加密认证
(1)配置文件的设置
对www.redhat.org域名进行加密
(2)生成加密证书
cd /etc/pki/tls/certs/
make cert.pem ##生成加密证书
报错(是因为生成的证书文件要和nginx的配置文件在统一目录下,在nginx配置文件中的证书路径是相对路径)
(3)测试(确定风险)
生成的证书信息:
域名自动定向到https://www.redhat.org
2.域名的重定向
(1)nginx的配置文件
(2)测试
3.从一个域名定向到另一个域名(redhat-->linux)
(1)配置文件
(2)测试
4.如果域名后面跟着目录那就直接访问以此目录做域名的网址(这样可以把请求分离开,图片的去访问图片虚拟主机,视频的访问视频的虚拟主机)
(1)配置文件
(2)测试
5.也可以用一些判断语句进行重定向
(1)配置文件
server_name www.linux.org bbs.linux.org;
if ( $host = "bbs.linux.org" ){
rewrite ^/(.*)$ http://www.redhat.org/bbs/$1 permanent; ##如果域名是bbs.linux.org那就永久定向到www.linux.org/bbs/
permanent(永久定向) redirect(临时定向)
(2)浏览器端解析
(3)测试
6.把非法域名(没有在配置文件中监听的域名)重定向到一个内部的域名来增加访问量,也可以返回500报错
(1)配置文件
server_name _; ##任何域名
(2)浏览器解析
(3)测试
(4)配置文件
(5)测试(重定向到www.linux.org)
四.监控主机的状态
1.配置文件
location /status {
stub_status on; ##打开机状态查看的模块
access_log off;
allow 172.25.15.250; ##访问控制
deny 172.25.15.0/24; ##拒绝网段
deny all; ##拒绝所有,allow优先级高,从上到下一次匹配
2.测试
(1)物理机成功访问
(2)用172.25.78.2主机测试
做本地解析
访问失败,status的访问控制生效
五.对于一些比较的大的文件(比如:视频)
开启aio线程
对于小文件,采用sendfile,减少拷贝;并且对于大文件aio采用directio,避免挤占文件系统缓存,让文件系统缓存更多的小文件,当文件大小超过8M,开启aio线程
六.防盗链(防止别人直接从你网站引用图片等链接,消耗了你的资源和网络流量)
1.对目录
valid_referers none blocked 域名 ##白名单,允许访问的域名
如果访问的域名不在白名单里,那就重定向到防盗链的图片位置
2.对文件
以图片形式结尾的,不在白名单里的域名,返回防盗链的图片位置
3.测试
(1)访问一个IP(172.25.78.2),让其去按照指定的图片URL进行请求
vim /var/www/html/index.html ##图片URL在www.haha.org/images/hh.png
(2)无法获得站内的图片(以www.haha.org进行访问,不在白名单内会被重定向到防盗链网址)