文章目录

  • 一、访问状态统计
  • 二、访问控制
    • 基于授权的访问控制
    • 基于客户端的访问控制
  • 三、虚拟主机
    • 基于域名
    • 基于IP
    • 基于端口

一、访问状态统计

首先使用/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; //拒绝访问IPallow 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 "<h1> www.accp.com </h1>" >> /var/www/html/accp/index.html
echo "<h1> www.benet.com </h1>" >> /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

修改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服务基础:配置文件、访问状态统计、虚拟主机

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

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

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

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

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

  4. Nginx 服务 (编译安装--访问控制--虚拟主机)详解

    文章目录 一.Nginx 服务基础 1.1.Nginx 概述 1.2.Nginx 的编译安装 1.2.1.编译安装步骤 1.2.2.使用systemctl控制 1.2.3.开启nginx,关闭防火墙 ...

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

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

  6. 详解 nginx 配置文件及构建 web 虚拟主机

    详解 nginx 主配置文件.添加服务及构建 web 虚拟主机 一.添加为系统服务 1.方法一 2.方法二 二.nginx 主配置文件 nginx.conf 1.全局配置 2.I/O 事件配置 3.H ...

  7. Nginx详解+身份验证+虚拟主机+反向代理负载均衡

    一.差异对比 Apache Nginx 配置相对复杂 配置相对简单 原生支持动态和静态页面 支持静态页面 模块相对安全 高性能模块出产迅速.社区活跃 BUG相对较少,消耗资源较多 BUG相对较多,节省 ...

  8. Nginx 反向代理 负载均衡 虚拟主机

    Nginx 反向代理 负载均衡 虚拟主机配置 通过本章你将学会利用Nginx配置多台虚拟主机,清楚代理服务器的作用,区分正向代理和反向代理的区别,搭建使用Nginx反向搭理和负载均衡,了解Nginx常 ...

  9. nginx之配置文件解读及虚拟主机配置

    文章目录 一.认识配置文件 1.整体结构 2.各"块"功能 3.最详细的配置文件解释 二.配置虚拟主机 1.什么是虚拟主机? 2.虚拟主机类型 3.配置虚拟主机   如果你还没有搭 ...

最新文章

  1. 系统架构设计的原则和模式
  2. mysql 添加索引
  3. Java核心(七):this和super的区别
  4. mingw编译boost_1_66_0
  5. iptables的SNAT和DNAT应用
  6. python二进制文件 删除尾部数据_在Python中读取和切片二进制数据文件的最快方法...
  7. Android WebView JavaScript交互
  8. python包requests使用笔记
  9. 使用边缘信息提升全局阈值分割的性能
  10. svn和git版本管理
  11. 已知屏幕的分辨率,整么计算屏幕比例?
  12. 沟通的艺术:看人入里,看出人外 - part 4
  13. QT程序到arm板(s5pv210)的移植之旅
  14. 华硕主板更改UEFI安全启动项
  15. MySQL processlist的state属性详解
  16. 猿创征文|国产数据库[StarRocks]实战学习
  17. 【C++】类和对象入门知识
  18. 2.5单星和双星运算符的作用
  19. office web apps安装部署 Win 2008 安装
  20. 最优化方法一:微分求极值

热门文章

  1. 大数据Hadoop系列之HDFS命令讲解
  2. OpenStack Swift集群部署流程与简单使用
  3. go 学习笔记之仅仅需要一个示例就能讲清楚什么闭包
  4. C语言数据存储-浮点型
  5. springboot线上教学平台计算机毕业设计(源码、运行环境)
  6. 上海计算机学院网上报名,上海市学历积分报名网,成年人考试网上报名
  7. 【转载】犀利哥:无法犀利的人生
  8. 使用Visio画UML图(Java)
  9. Hyper-V设置多个网口
  10. 中国教育培训机构市场运营状况与投资咨询预测报告2022年版