设为首页 收藏本站
查看: 800|回复: 0

[经验分享] Nginx常见模块的使用

[复制链接]
累计签到:1 天
连续签到:1 天
发表于 2014-10-30 08:53:43 | 显示全部楼层 |阅读模式

Nginx常见模块的使用

安装好nginx后或者搭建完lnmp环境后为了实现一些功能,则需要使用各种各样的模块

rewrite的使用

[iyunv@wang nginx]# vim nginx.conf



添加rewrite的选项

意思是访问/*.bmp会转为访问/index.php

[iyunv@wang nginx]# vim nginx.conf

[iyunv@wang nginx]# nginx -t

[iyunv@wang nginx]# service nginxd restart

访问


一样,实现了重定定向

如果将配置文件更改为


则实现了允许192.168.2.100访问,不允许192.168.2.0网段其他的访问

access模块:来源控制

  • vim /etc/nginx/nginx.conf 在sever站点里面添加内容

service nginx restart

允许192.168.88.10访问,阻止网段其他的地址访问

打开一台PC机,地址设为192.168.88.10,进行访问



再把地址修改成192.168.88.0网段内的其他地址,进行访问


实现了来源控制!

auth模块:身份验证

因为httpd-tools带有htpasswd 工具,所以先安装httpd-tools

1.vim /etc/nginx/nginx.conf 在sever站点里面添加内容



  • htpasswd -c /etc/nginx/.htpasswd zhangsan创建帐号,并输入密码
  • service nginxd restart重启

打开浏览器进行测试



实现了身份验证!

ssl模块:安全加密

  • cd /etc/pki/tls/
  • vim openssl.cof

更改文件,为其他机构也能颁发证书


更改默认值


3.echo "01">serial  记录序号

4.openssl genrsa 1024 >../CA/private/cakey.pem 产生私钥

5.cd /etc/pki/CA/

6.chmod 600 private/cakey.pem改变权限

7.cd /etc/nginx/certs/

8.openssl ca -in nginx.req -out nginx.cert为自身产生证书

9.mkdir /etc/nginx/certs 创建目录存放证书

10.cd /etc/nginx/certs/

11.openssl genrsa 1024 >nginx.key 产生私钥

12.chmod 600 nginx.key

13.openssl req -new -key nginx.key -out nginx.req

14.openssl ca -in nginx.req -out nginx.cert

15.vim /etc/nginx/nginx.conf  打开443端口,加密访问


打开浏览器访问https://192.168.88.100


显示证书链

16.cd /etc/nginx/certs

17.cp /etc/pki/CA/cacert.pem ./

18.cp nginx.cert ./nginx.cert.bak

19.cat nginx.cert.bak cacert.pem >nginx.cert

查看出现下面几个文件


打开浏览器访问https://192.168.88.100,再点击查看证书


证书路径,就能看到证书链






upstream  health-check的使用

安装health-check模块需要安装低版本的nginx,高版本的nginx+需要付费才能使用,这里我使用的是1.0.11版本

[iyunv@wang ~]# tar -zxvf nginx-1.0.11.tar.gz -C /usr/local/src/  拆解源码包

[iyunv@wang ~]# unzip healthcheck_nginx_upstreams-master   拆解healthcheck模块补丁

[iyunv@wang healthcheck_nginx_upstreams-master]# cd /usr/local/src/nginx-1.0.11/

[iyunv@wang nginx-1.0.11]# patch -p1

}


case "$1" in

start)

     start

     ;;

stop)

     stop

     ;;

restart)

     stop

     start

     ;;

*)

echo "Usage: start|stop|restart"

     ;;

esac

编辑脚本如此,保存退出

进行测试

[iyunv@wang init.d]# pkill -9 nginx   杀死进程

[iyunv@wang init.d]# chkconfig --add nginxd  加入启动

[iyunv@wang init.d]# chkconfig --list |grep nginx  差看

[iyunv@wang init.d]# service nginxd start

[iyunv@wang ~]# cd /etc/nginx/

[iyunv@wang nginx]# vim nginx.conf 编辑配置文件

upstream backend {

35             server 192.168.2.50;   

36             server 192.168.2.101;       //对2.50和2.101进行服务

37             healthcheck_enabled;

38             healthcheck_delay 1000;

39             healthcheck_timeout 1000;

40             healthcheck_failcount 1;

41            # healthcheck_expected 'I_AM_ALIVE';

42             healthcheck_send "GET /.health HTTP/1.0" ;     编辑为如此

                location / {

54             root   html;

55             index  index.html index.htm;

56         proxy_pass http://backend;         //根为html,对backend的池做代理

57         }

[iyunv@wang nginx]# nginx -t

[iyunv@wang nginx]# pkill -9 nginx

[iyunv@wang nginx]# nginx

[iyunv@wang nginx]service iptables stop

[iyunv@wang nginx]setenforce 0

现在实现了轮询的功能,即请求分别发送至2.50 ,2.100,还有健康探测功能,即如果1台服务器坏掉,能够立即发现,不发送代理

先访问本机查看是否能够成功代理



实现了轮询的功能


应该探测的是

文件,没有这个文件所以显示down,下面建g个.health文件测试下


第一个服务区建了个.health文件,显示ok



运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-26639-1-1.html 上篇帖子: Linux Nginx服务守护监控 下篇帖子: django + nginx + uwsgi部署
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表