一、nginx的基本功能
基本Http服务,可以作为Http代理服务器和反向代理服务器,支持通过缓存加速访问,可以完成简单的负载均衡和容错,支持包过滤功能,支持SSL
高级Http服务,可以进行自定义配置,支持虚拟主机,支持URL重定向,支持网络监控,支持流媒体传输等
邮件代理服务器,支持IMAP/POP3代理服务功能,支持内部SMTP代理服务功能
二、nginx的具体应用
1、nginx的虚拟主机:经过对nginx配置文件的配置,生成虚拟主机;实现不同的域名访问不同的页面。
虚拟主机技术:主要应用与http服务;将一台服务器的某项或多个服务内容逻辑划分为多个服务单位,对外表现为多个服务器,从而可以充分利用服务器的硬件资源。具体配置如下
1)修改nginx配置文件
2)在根目录下建立www1和www2目录,并编辑index.html默认发布文件。并启动nginx服务
3)在物理机中做解析。
---> vim /etc/hosts
server6 www.xniu.com www.linux.org
4)在真机中测试结果如下:
2、nginx实现https加密
1)编辑nginx配置文件
---> /usr/local/lnmp/nginx/sbin/nginx -t # 没有认证的锁和钥匙
2)生成锁和钥匙
---> cd /etc/pki/tls/certs
---> make cert.pem # 基本信息自己填写
---> mv cert.pem /usr/local/lnmp/nginx/conf/
3)重新加载nginx配置文件,就ok了。
4)在浏览器中进行测试
3、 重定向
3-1、将www.xniu.com和xniu.com重定向到https://www.xniu.com。nginx配置如下:(重定向到443)
3-2、将www.xniu.com重定向到bbs.xniu.com;即重定向到其他访问目录 。配置如下:
在物理机中添加解析: 172.25.2.6 bbs.xniu.com;并在server6中创建bbs.xniu.com对应的发布目录和文件。最终结果为:
3-3、将www.xniu.com/bbs/index.html 重定向到 bbs.xniu.com/index.html
3-4、反向重定向:当访问bbs.xniu.com的时候,重定向到https://www.xniu.com/bbs
4、限制客户的访问并发量和下载速率
1)限制客户端的并发数
#在html目录下建立download目录,并放置一张图片用来访问(注意图片的权限)。然后在物理机中模拟客户端的并发请求,结果如下:
---> ab -c1 -n 10 http://www.xniu.com/download/test.jpg # 发送10个请求,并发为1。(此时所有请求均正常接收)
# 在nginx的日志中查看访问记录。我们可以看到访问都是正常的,返回值为200.
---> tail -n 10 /usr/local/lnmp/nginx/logs/access.log
如果并发量为大与1的时候,就会有1个错误请求。我们可以在日志在查看到十个请求只有一个被正常响应了。
---> ab -c10 -n 10 http://www.xniu.com/download/test.jpg
# 查看日志接收的情况:
---> tail -n 10 /usr/local/lnmp/nginx/logs/access.log
2)限制客户端下载速率为50kb
5、用户访问控制
1)只允许172.25.2.250的主句访问
# 使用主机172.25.2.1来访问server6,会出现430访问禁止情况:
2)允许特定网段的主机访问
# 此时172.25.2.1主机就可以访问了
3)当所有主机访问默认页面时,设置为500报错或进行重定向
6、nginx中的乱码问题。(默认是不能识别汉语)
7、去掉没必要的日志
8、防盗链机制:在其他主机上访问server6中的文件
# 在一台含有apache的主机的默认发布目录下,添加如下内容
# 在server6中nginx的配置文件添加防盗链的访问权限
# 此时403在页面为图片的时候不会有提示;我们可以将显示页面进行重定向(实现人机交互),编辑ngxin配置文件: