首页 > 代码库 > nginx常见模块的使用

nginx常见模块的使用

linux下源码安装nginx

首先安装开发工具:"Development tools"、"Server Platform Development"、"Additional Development"


1.yum --disablerepo=\* --enablerepo=c6-media install pcre-devel openssl-devel -y

2.groupadd -r nginx

3.useradd -r -g nginx nginx 创建帐号与组

4.tar -zxvf libevent-2.0.16-stable.tar.gz -C /usr/local/src/

5.tar -zxvf nginx-1.6.0.tar.gz -C /usr/local/src/

6.cd /usr/local/src

7.cd libevent-2.0.16-stable/

8.  ./configure --prefix=/usr/local/libevent

9.make && make install

10.vim /etc/ld.so.conf.d/libevent.conf指出库文件的路径

wKioL1ROPhORGSf_AABTDOX93_E085.jpg

11. ldconfig刷新

12.ldconfig -pv |grep libevent

13.cd /usr/local/src/nginx-1.6.0/

14.编译(安装所需的模块)

./configure --conf-path=/etc/nginx/nginx.conf  --error-log-path=/var/log/nginx/error.log --http-log-path=/var/log/nginx/access.log --pid-path=/var/run/nginx/nginx.pid --lock-path=/var/lock/nginx.lock --user=nginx --group=nginx --with-http_ssl_module --with-http_flv_module --with-http_stub_status_module --with-http_gzip_static_module --http-client-body-temp-path=/var/tmp/nginx/client/ --http-proxy-temp-path=/var/tmp/nginx/proxy/ --http-fastcgi-temp-path=/var/tmp/nginx/fcgi/ --with-pcre

--add-module=/usr/local/src/healthcheck_nginx_upstreams-master

15.make && make install

16.mkdir -pv /var/tmp/nginx/client/

17.vim /etc/profile   写出PATH路径

wKiom1ROPdDx38fmAADbbjdffL0559.jpg

18.service iptables stop

19.setenforce 0

20.pkill -9 nginx

21.netstat -tupln |grep 80

22.nginx

23.vim /etc/init.d/nginxd编写一个启动脚本

 

打开浏览器进行访问,出现下面默认网页

wKioL1ROPjbAWzyEAAHmUc4hFeA992.jpg

access模块:来源控制

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

wKiom1ROPfWhgamNAABYax7I8qM100.jpg

service nginx restart

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

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

wKioL1ROPmyjC0_SAAHBXPIWrm8276.jpg


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

wKioL1ROPofxW_kyAADKnj5ZVCk660.jpg

实现了来源控制!


auth模块:身份验证

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

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

wKiom1ROPmuQHAuyAADUWuDd6sM088.jpg 

2.htpasswd -c /etc/nginx/.htpasswd zhangsan创建帐号,并输入密码

3.service nginxd restart重启

打开浏览器进行测试

wKioL1ROPtjRz8r0AAH7Rh5MYjs668.jpg

 

实现了身份验证!

ssl模块:安全加密

1.cd /etc/pki/tls/

2.vim openssl.cof 

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

wKioL1ROPvKiowlTAAENxYuPFgI396.jpg

更改默认值

wKioL1ROPwXTHT7NAAEvgXDZNiM195.jpg

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端口,加密访问

wKioL1ROP0LgslrKAAFUfaQC-5g484.jpg

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

wKiom1ROPwGA3iR7AAF6F7qOtE4996.jpg

显示证书链

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

查看出现下面几个文件

wKioL1ROP26SIMfBAAEfuJErLTc355.jpg

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

wKiom1ROP1OgNzLLAAEmdwU9kb0463.jpg

wKioL1ROP6jjm30yAACnLnKT2WE448.jpg

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


rewrite模块:重定向

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

访问主站点时,全部重定向于http://www.sina.com.cn

wKiom1ROP3Dj6iZiAAB4OWTlmzI679.jpg

打开浏览器访问http://192.168.88.100/自动跳转至新浪

wKioL1ROP9LDMp5eAAHxcwWKP8E997.jpg

重定向完成


proxy模块:反向代理

打开一台地址为192.168.88.10的服务器,并进行访问。内容如下

wKiom1ROP56zLYhPAAFQopcF2Jg666.jpg


再另外打开地址为192.168.88.100的nginx服务器

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

访问主站点时,反向代理至192.168.88.10服务器。

wKioL1ROQAiAkKWKAAC6I9ffv8M975.jpg

service nginxd restart

打开浏览器访问http://192.168.88.100/pic,代理至192.168.88.10

wKiom1ROP8ygDpwEAAEFVavDQp8420.jpg

为反向代理增加缓存

1.vim /etc/nginx/nginx.conf 编辑如下

wKiom1ROP-DzuOC9AAJf8Mo75Lc662.jpg

重启nginxd,并且缓存目录无任何文件

wKioL1ROQEmA2DVoAADGty_VVII483.jpg


打开浏览器访问http://192.168.88.100/pic

wKiom1ROQAyjGYjoAAEGqSRQ_c8964.jpg

再去查看缓存目录,产生缓存

wKiom1ROQGCyQDVJAAESq7n6V4E600.jpg



本文出自 “王超峰的51cto博客” 博客,请务必保留此出处http://wangcf1009.blog.51cto.com/8589325/1568757

nginx常见模块的使用