terte 发表于 2018-4-9 13:17:40

CentOS7.4—nginx应用之统计与访问控制

                                                Nginx功能应用—统计与验证
目录:
第一部分:准备工作
第二部分:搭建nginx
第三部分:配置nginx的统计功能
第四部分:配置nginx的验证功能(访问控制)
第一部分实验环境
一:服务器:Linux系统—CentOS 7.4;
IP地址:192.168.80.10

客户端:以WIN7为例,测试验证结果,与服务器在同一网段;
IP地址:192.168.80.2
二:准备压缩包

三:将防火墙与selinux关闭

第二部分 安装Nginx服务
一:安装编译工具与插件
# yum -y install
gcc
gcc-c++
make
pcre-devel
zlib-devel
# useradd -M -s /sbin/nologin nginx   //创建nginx用户
-M:不为用户建立并初始化宿主目录
二:配置(自定义个性化配置)
# tar xzvf nginx-1.13.9.tar.gz -C /opt/      //解压nginx安装包到opt目录
# cd /opt/nginx-1.13.9/
# ./configure       //个性化配置
--prefix=/usr/local/nginx                  //指定安装目录
--user=nginx                           //指定用户
--group=nginx                            //指定组
--with-http_stub_status_module             //日志统计模块
三:编译与安装
# make && make install      //编译安装
# ln -s /usr/local/nginx/sbin/nginx /usr/local/sbin/
//优化执行路径(执行程序文件的原路径不在PATH环境变量中,做个软链接使其可以执行)
# nginx –t          //检查语法错误
# nginx            //启动nginx服务

# killall -1 nginx      //安全重启
# killall -3 nginx      //停止服务
四:制作管理脚本
# vi /etc/init.d/nginx
#!/bin/bash
chkconfig: 35 99 20description: Nginx Service Control ScriptPROG="/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
保存退出
# chmod +x /etc/init.d/nginx      //添加执行权限
# chkconfig --add nginx             //将nginx加入到系统服务
五:编辑主配置文件
# vi /usr/local/nginx/conf/nginx.conf   
编辑以下内容:
usernginx nginx;          //运行用户
error_loglogs/error.loginfo;      //错误日志路径
-----日志级别:debug info notice warn error crit    //向上记录(从低到高)-----
events {
use epoll;            //新增此行 默认使用select/poll
worker_connections10240;      //表示1个工作进程允许10240个连接。
}
log_formatmain'$remote_addr - $remote_user [$time_local] "$request" '   //定义日志格式 把前面的#号去掉

保存退出
# service nginx restart       //重启nginx服务
# netstat -anpt | grep 80      //查看80端口运行状态

# ulimit –n      //查看和更改系统本地打开资源数
# ulimit -n 65500 >> /etc/rc.local
六:win7下验证
浏览器访问:http://192.168.80.40

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

保存退出
二:重启服务
# service nginx restart       //重启nginx服务
# netstat -anpt | grep 80      //查看80端口运行状态

# cat /usr/local/nginx/logs/access.log      //查看产生日志

三:win7下验证
浏览器访问:http://192.168.80.40/status

//验证成功:当前的活动连接数,已处理的连接数,成功的TCP握手次数,已处理的请求数。
第四部分:配置nginx的验证功能(访问控制)
一:创建访问帐号
# yum install httpd-tools –y
# htpasswd -c /usr/local/nginx/passwd.db jack   //创建帐号,输入密码
# chmod 400 /usr/local/nginx/passwd.db         //配置权限
# chown nginx /usr/local/nginx/passwd.db      //配置属主
二:编辑主配置文件
# vi /usr/local/nginx/conf/nginx.conf      
//编辑以下内容:
location / {
root   html;
indexindex.html index.htm;
allow 192.168.80.0/24;
deny all;
auth_basic "secret";
auth_basic_user_file /usr/local/nginx/passwd.db;
}

保存退出
# nginx –t      //检查语法错误

# service nginx restart      //重启服务
三:win7下验证
浏览器访问:192.168.80.40,需要验证才能访问


//验证成功

                                       

页: [1]
查看完整版本: CentOS7.4—nginx应用之统计与访问控制