一、访问状态统计

首先使用/usr/local/nginx/sbin/nginx -V 来查看是否包含 --with-http_stub_status_module(开启访问状态统计模块)
修改/usr/local/nginx/conf/nginx.conf 配置文件 指定访问位置并添加stub_status配置
先备份配置文件,以防翻车还可以找回原有配置。

cp /usr/local/nginx/conf/nginx.conf /usr/local/nginx/conf/nginx.conf.bak
vim /usr/local/nginx/conf/nginx.conf
在合适的位置添加以下配置
location /status {
stub_status on;
access_log off;
}

二、访问控制

基于授权的访问控制

使用htpasswd命令,htpasswd是用于目录访问权限认证的一个工具。
-c 用于创建密码文件,入果文件已存在,会覆盖。
查看系统是否有该命令,若没有请安装httpd-tolls依赖包

[root@localhost ~]# which htpasswd
/usr/bin/which: no htpasswd in (/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin)
[root@localhost ~]# yum -y install httpd-tools
[root@localhost ~]# which htpasswd
/usr/bin/htpasswd
[root@localhost ~]#

创建密码文件

[root@localhost ~]# htpasswd -c /usr/local/nginx/passwd.db lisi
New password: //输入新密码
Re-type new password: //确认新密码
Adding password for user lisi //创建成功

修改属主交给ngxin管理,并给予400权限

[root@localhost ~]# chown nginx /usr/local/nginx/passwd.db
[root@localhost ~]# chmod 400 /usr/local/nginx/passwd.db

修改nginx主配置文件,添加访问控制配置(在对应的location位置,想对哪个location访问控制,就在哪个location里配置)
我想对访问状态统计页面进行控制,配置如下

vim /usr/local/nginx/conf/nginx.conf
location /status {
auth_basic “secret”;
autu_basic_user_file /usr/local/nginx/passwd.db;
stub_status on;
access_log off;
}

重启服务,重新访问状态统计页面

基于客户端的访问控制

deny拒绝某个IP/IP段客户机访问
allow允许某个IP/IP段客户机访问
规则匹配顺序,从上往下,匹配即停止。
需求:添加一条规则拒绝192.168.177.130IP的主机访问

location / { //在此location位置配置规则
root html;
index index.html index.htm;
deny 192.168.177.130; //拒绝访问IP
allow all; //允许所有
}

去IP为192.168.177.130的主机上测试访问

三、虚拟主机

三种方式:基于域名、基于IP、基于端口

基于域名:域名不同,IP地址相同,端口相同
基于IP:域名不同,IP地址不同(可以是多个网卡,或者虚拟出一块网卡),端口相同
基于端口:域名不同,IP地址相同,端口不同

基于域名

修改 /etc/hosts 文件,添加域名与IP的本地映射

echo “192.168.177.111 www.accp.com” >> /etc/hosts
echo “192.168.177.111 www.benet.com” >> /etc/hosts

创建网页文件

mkdir -p /var/www/html/accp
mkdir -p /var/www/html/benet
echo "

www.accp.com

" >> /var/www/html/accp/index.html
echo "

www.benet.com

" >> /var/www/html/benet/index.html

修改ngxin主配置文件:域名不同,IP地址相同,端口相同
vim /usr/local/nginx/conf/nginx.conf

server {
36 listen 192.168.177.111:80;
37 server_name www.accp.com;
38 charset utf-8;
39 access_log logs/accp.access.log;
40 location / {
41 root /var/www/html/accp;
42 index index.html index.htm;
43 }
44 error_page 500 502 503 504 /50x.html;
45 location = /50x.html {
46 root html;
47 }
48 }
49 server {
50 listen 192.168.177.111:80;
51 server_name www.benet.com;
52 charset utf-8;
53 access_log logs/benet.access.log;
54 location / {
55 root /var/www/html/benet;
56 index index.html index.htm;
57 }
58 error_page 500 502 503 504 /50x.html;
59 location = /50x.html {
60 root html;
61 }
62 }

重启服务,测试虚拟主机(基于域名)


基于IP

创建虚拟网卡

ifconfig ens33:0 192.168.177.200 netmask 255.255.255.0
1
修改nginx主配置文件 www.benet.com 配置的IP地址为192.168.177.200
vim /usr/local/nginx/conf/nginx.conf

49 server {
50 listen 192.168.177.200:80;
51 server_name www.benet.com;
52 charset utf-8;
53 access_log logs/benet.access.log;
54 location / {
55 root /var/www/html/benet;
56 index index.html index.htm;
57 }
58 error_page 500 502 503 504 /50x.html;
59 location = /50x.html {
60 root html;
61 }
62 }

重启服务,测试虚拟主机(基于IP)

基于端口

修改nginx主配置文件 www.benet.com 配置的IP地址为192.168.177.111 端口为8080
vim /usr/local/nginx/conf/nginx.conf

49 server {
50 listen 192.168.177.111:8080;
51 server_name www.benet.com;
52 charset utf-8;
53 access_log logs/benet.access.log;
54 location / {
55 root /var/www/html/benet;
56 index index.html index.htm;
57 }
58 error_page 500 502 503 504 /50x.html;
59 location = /50x.html {
60 root html;
61 }
62 }

重启服务,测试虚拟主机(基于端口)

nginx 访问状态统计相关推荐

  1. nginx 访问状态统计 访问控制 虚拟主机

    文章目录 一.访问状态统计 二.访问控制 基于授权的访问控制 基于客户端的访问控制 三.虚拟主机 基于域名 基于IP 基于端口 一.访问状态统计 首先使用/usr/local/nginx/sbin/n ...

  2. Web服务器群集--Nginx网站服务(运行控制,访问状态统计,基于授权和客户端的访问控制,基于域名,端口,IP的虚拟web主机访问)

    文章目录 前言 一:Nginx服务基础 1.1:Nginx概述 1.2:Nginx编译安装(过程) 1.3:运行控制(实验过程) 1.4:配置文件nginx.conf 1.5:Nginx的访问状态统计 ...

  3. nginx 根据目录指定root_部署Nginx网站服务实现访问状态统计以及访问控制功能

    Nginx专为性能优化而开发,最知名的优点是它的稳定性和低系统资源消耗,以及对HTTP并发连接的高处理能力,单个物理服务器可支持30000-50000个并发请求. Nginx的安装文件可以从官方网站h ...

  4. Nginx网站服务配置(Nginx服务基础,访问状态统计,访问控制,虚拟主机)

    编译安装Nginx服务 关闭防火墙,将安装 ngnix 所需的软件包上传到 /opt 目录下 安装依赖包 编译安装Nginx 创建运行用户.组 检查.启动.重载配.停止Nginx 增加Nginx系统服 ...

  5. Nginx服务基础:配置文件、访问状态统计、虚拟主机

    提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言 一.编译安装Nginx服务 1.关闭防火墙,配置域名 2.安装nginx软件包及依赖包 3.编译安装Nginx 4.检 ...

  6. 使用Nginx访问日志统计PV和UV

    一个网站当用户量增大时候,不可避免有统计pv和uv的需求. UV(Unique Visitor):独立访客,以cookie为依据区分不同访客,UV计算一天之内(00:00-24:00),访问网站的访客 ...

  7. centos进程php-fpm,CentOS 6.x 开启Nginx和Php-fpm状态统计

    Nginx和PHP-FPM都在安装的时候创建了一个状态页,用于统计Nginx和PHP-FPM的相关状态信息.下面介绍一下如何开启Nginx和PHP-FPM的状态统计,以及介绍各参数的含义. (一)开启 ...

  8. ip访问次数统计 nginx_Linux分析Nginx日志统计IP访问次数的shell脚本

    平时运维遇到最多的就是nginx的日志分析了,要时常做系统监控,检查IP的访问次数是否有异常,防止恶意访问. 假设我的nginx日志如下: ....... 211.253.43.23 - - [03/ ...

  9. Python基于nginx访问日志并统计IP访问量

    如果想看看Nginx有多少IP访问量,有哪些国家访问,并显示IP地址的归属地分布,python可以结合使用高春辉老师ipip.net[免费版 IP 地址数据库],Shell可以使用nali,我这边主要 ...

  10. nginx 访问统计

    标红的为用的比较多的1.根据访问IP统计UVawk '{print $1}' access.log|sort | uniq -c |wc -l2.统计访问URL统计PVawk '{print $7}' ...

最新文章

  1. 中国光大集团去年营收1617亿元 同比增长19%
  2. ubuntu下安装各种软件
  3. 专访vivo X27产品经理:以技术进步为根 以用户需求为本
  4. 升级 python 2.6.6 到 2.7.14 版本(pip工具安装)
  5. UITableViewController 滚动引起的cocos2d动画暂停问题的解决
  6. 【Python数据分析】数据挖掘建模——分类与预测——决策树
  7. HDU 4763 Theme Section ( KMP )
  8. 【bzoj5173】[Jsoi2014]矩形并 扫描线+二维树状数组区间修改区间查询
  9. Android学习笔记(18):编辑框EditText
  10. 使用rkhunter检测rootkit
  11. 网站备案需要什么材料
  12. python访问纯真IP数据库的代码
  13. 关于pr文件导入的问题
  14. 地铁译:Spark for python developers --- 搭建Spark虚拟环境1
  15. java数组末尾添加元素_java数组添加元素,java数组如何添加一个元素
  16. 室内导航--机器视觉、ROS、Goseek(二)Ubuntu 20.04 LTS 准备
  17. Spring Boot安装及使用(2021.10.28)
  18. 用户情绪:愉悦和不爽
  19. mount 挂载远端目录
  20. LeetCode 2325. 解密消息(map)

热门文章

  1. 有了它,让我在bug面前一点也不慌!
  2. 每日算法系列【LeetCode 1186】删除一次得到子数组最大和
  3. 运维人必知必会的Zabbix核心命令
  4. 19【推荐系统18】MMoE-PosBias:多任务学习
  5. 3.4 RNN网络扩展:堆叠RNN、递归神经网络、图网络
  6. Spark:聚类算法之LDA主题模型算法
  7. Java爬虫Crawler
  8. 【医疗影像处理】Erosion and Dilation of medical images masks using scipy.ndimage in python
  9. mybatis多个foreach_mybatis的foreach 删除多条使用汇总
  10. github上传代码_如何更新GitHub上的代码?