Nginx功能应用—统计与验证 目录: 第一部分:准备工作 第二部分:搭建nginx 第三部分:配置nginx的统计功能 第四部分:配置nginx的验证功能(访问控制)

第一部分 实验环境 一:服务器:Linux系统—CentOS 7.4; IP地址:192.168.80.10 客户端:以WIN7为例,测试验证结果,与服务器在同一网段; IP地址:192.168.80.2

二:准备压缩包 三:将防火墙与selinux关闭

第二部分 安装Nginx服务 一:安装编译工具与插件 [root@localhost ~]# yum -y install \

gcc
gcc-c++
make
pcre-devel
zlib-devel [root@localhost ~]# useradd -M -s /sbin/nologin nginx //创建nginx用户 -M:不为用户建立并初始化宿主目录

二:配置(自定义个性化配置) [root@localhost ~]# tar xzvf nginx-1.13.9.tar.gz -C /opt/ //解压nginx安装包到opt目录 [root@localhost ~]# cd /opt/nginx-1.13.9/ [root@localhost nginx-1.13.9]# ./configure \ //个性化配置

--prefix=/usr/local/nginx \ //指定安装目录 --user=nginx \ //指定用户 --group=nginx \ //指定组 --with-http_stub_status_module //日志统计模块

三:编译与安装 [root@localhost nginx-1.13.9]# make && make install //编译安装 [root@localhost nginx-1.13.9]# ln -s /usr/local/nginx/sbin/nginx /usr/local/sbin/ //优化执行路径(执行程序文件的原路径不在PATH环境变量中,做个软链接使其可以执行) [root@localhost nginx-1.13.9]# nginx –t //检查语法错误 [root@localhost nginx-1.13.9]# nginx //启动nginx服务 [root@localhost nginx-1.13.9]# killall -1 nginx //安全重启 [root@localhost nginx-1.13.9]# killall -3 nginx //停止服务

四:制作管理脚本 [root@localhost nginx-1.13.9]# vi /etc/init.d/nginx #!/bin/bash

chkconfig: 35 99 20

description: Nginx Service Control Script

PROG="/usr/local/nginx/sbin/nginx" PIDF="/usr/local/nginx/logs/nginx.pid" case "$1" in start) $PROG ;; stop) kill -s QUIT $(cat $PIDF) ;; restart) $0 stop $0 start ;; reload) kill -s HUP $(cat $PIDF) ;; *) echo "Usage: $0 {start|stop|restart|reload}" exit 1 esac exit 0 保存退出 [root@localhost nginx-1.13.9]# chmod +x /etc/init.d/nginx //添加执行权限 [root@localhost nginx-1.13.9]# chkconfig --add nginx //将nginx加入到系统服务

五:编辑主配置文件 [root@localhost nginx-1.13.9]# vi /usr/local/nginx/conf/nginx.conf
编辑以下内容: user nginx nginx; //运行用户 error_log logs/error.log info; //错误日志路径 -----日志级别:debug info notice warn error crit //向上记录(从低到高)----- events { use epoll; //新增此行 默认使用select/poll worker_connections 10240; //表示1个工作进程允许10240个连接。 } log_format main '$remote_addr - $remote_user [$time_local] "$request" ' //定义日志格式 把前面的#号去掉 保存退出 [root@localhost ~]# service nginx restart //重启nginx服务 [root@localhost ~]# netstat -anpt | grep 80 //查看80端口运行状态 [root@localhost ~]# ulimit –n //查看和更改系统本地打开资源数 [root@localhost ~]# ulimit -n 65500 >> /etc/rc.local

六:win7下验证 浏览器访问:http://192.168.80.40 //nginx搭建成功

第三部分:配置统计功能 一:编辑主配置文件 [root@localhost ~]# vi /usr/local/nginx/conf/nginx.conf 在server模块里的error_page上面增加以下内容: location ~ /status { stub_status on; access_log off; } 保存退出

二:重启服务 [root@localhost ~]# service nginx restart //重启nginx服务 [root@localhost ~]# netstat -anpt | grep 80 //查看80端口运行状态 [root@localhost ~]# cat /usr/local/nginx/logs/access.log //查看产生日志

三:win7下验证 浏览器访问:http://192.168.80.40/status //验证成功:当前的活动连接数,已处理的连接数,成功的TCP握手次数,已处理的请求数。

第四部分:配置nginx的验证功能(访问控制) 一:创建访问帐号 [root@localhost ~]# yum install httpd-tools –y [root@localhost ~]# htpasswd -c /usr/local/nginx/passwd.db jack //创建帐号,输入密码 [root@localhost ~]# chmod 400 /usr/local/nginx/passwd.db //配置权限 [root@localhost ~]# chown nginx /usr/local/nginx/passwd.db //配置属主

二:编辑主配置文件 [root@localhost ~]# vi /usr/local/nginx/conf/nginx.conf
//编辑以下内容: location / { root html; index index.html index.htm; allow 192.168.80.0/24; deny all; auth_basic "secret"; auth_basic_user_file /usr/local/nginx/passwd.db; } 保存退出 [root@localhost ~]# nginx –t //检查语法错误 [root@localhost ~]# service nginx restart //重启服务

三:win7下验证 浏览器访问:192.168.80.40,需要验证才能访问 //验证成功