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

[经验分享] CentOS7.4—nginx应用之统计与访问控制

[复制链接]
发表于 2018-11-13 11:15:50 | 显示全部楼层 |阅读模式
  Nginx功能应用—统计与验证
  目录:
  第一部分:准备工作
  第二部分:搭建nginx
  第三部分:配置nginx的统计功能
  第四部分:配置nginx的验证功能(访问控制)
  第一部分  实验环境
  一:服务器:Linux系统—CentOS 7.4;
  IP地址:192.168.80.10
DSC0000.jpg

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

  三:将防火墙与selinux关闭
DSC0002.jpg

  第二部分 安装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服务
DSC0003.jpg

  [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" '     //定义日志格式 把前面的#号去掉
DSC0004.jpg

  保存退出
  [root@localhost ~]# service nginx restart       //重启nginx服务
  [root@localhost ~]# netstat -anpt | grep 80      //查看80端口运行状态
DSC0005.jpg

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

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

  保存退出
  二:重启服务
  [root@localhost ~]# service nginx restart       //重启nginx服务
  [root@localhost ~]# netstat -anpt | grep 80      //查看80端口运行状态
DSC0008.jpg

  [root@localhost ~]# cat /usr/local/nginx/logs/access.log      //查看产生日志
DSC0009.jpg

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

  //验证成功:当前的活动连接数,已处理的连接数,成功的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;
  }
DSC00011.jpg

  保存退出
  [root@localhost ~]# nginx –t      //检查语法错误
DSC00012.jpg

  [root@localhost ~]# service nginx restart      //重启服务
  三:win7下验证
  浏览器访问:192.168.80.40,需要验证才能访问
DSC00013.jpg

DSC00014.jpg

  //验证成功


运维网声明 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-634521-1-1.html 上篇帖子: nginx与lvs在做负载均衡方面的区别 下篇帖子: nginx和apache限制IP地址访问的设置方法
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

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

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

扫描微信二维码查看详情

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


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


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


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



合作伙伴: 青云cloud

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