nginx 访问状态统计 访问控制 虚拟主机
文章目录
- 一、访问状态统计
- 二、访问控制
- 基于授权的访问控制
- 基于客户端的访问控制
- 三、虚拟主机
- 基于域名
- 基于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 访问状态统计 访问控制 虚拟主机相关推荐
- Nginx服务基础:配置文件、访问状态统计、虚拟主机
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言 一.编译安装Nginx服务 1.关闭防火墙,配置域名 2.安装nginx软件包及依赖包 3.编译安装Nginx 4.检 ...
- Web服务器群集--Nginx网站服务(运行控制,访问状态统计,基于授权和客户端的访问控制,基于域名,端口,IP的虚拟web主机访问)
文章目录 前言 一:Nginx服务基础 1.1:Nginx概述 1.2:Nginx编译安装(过程) 1.3:运行控制(实验过程) 1.4:配置文件nginx.conf 1.5:Nginx的访问状态统计 ...
- Nginx网站服务配置(Nginx服务基础,访问状态统计,访问控制,虚拟主机)
编译安装Nginx服务 关闭防火墙,将安装 ngnix 所需的软件包上传到 /opt 目录下 安装依赖包 编译安装Nginx 创建运行用户.组 检查.启动.重载配.停止Nginx 增加Nginx系统服 ...
- Nginx 服务 (编译安装--访问控制--虚拟主机)详解
文章目录 一.Nginx 服务基础 1.1.Nginx 概述 1.2.Nginx 的编译安装 1.2.1.编译安装步骤 1.2.2.使用systemctl控制 1.2.3.开启nginx,关闭防火墙 ...
- nginx 根据目录指定root_部署Nginx网站服务实现访问状态统计以及访问控制功能
Nginx专为性能优化而开发,最知名的优点是它的稳定性和低系统资源消耗,以及对HTTP并发连接的高处理能力,单个物理服务器可支持30000-50000个并发请求. Nginx的安装文件可以从官方网站h ...
- 详解 nginx 配置文件及构建 web 虚拟主机
详解 nginx 主配置文件.添加服务及构建 web 虚拟主机 一.添加为系统服务 1.方法一 2.方法二 二.nginx 主配置文件 nginx.conf 1.全局配置 2.I/O 事件配置 3.H ...
- Nginx详解+身份验证+虚拟主机+反向代理负载均衡
一.差异对比 Apache Nginx 配置相对复杂 配置相对简单 原生支持动态和静态页面 支持静态页面 模块相对安全 高性能模块出产迅速.社区活跃 BUG相对较少,消耗资源较多 BUG相对较多,节省 ...
- Nginx 反向代理 负载均衡 虚拟主机
Nginx 反向代理 负载均衡 虚拟主机配置 通过本章你将学会利用Nginx配置多台虚拟主机,清楚代理服务器的作用,区分正向代理和反向代理的区别,搭建使用Nginx反向搭理和负载均衡,了解Nginx常 ...
- nginx之配置文件解读及虚拟主机配置
文章目录 一.认识配置文件 1.整体结构 2.各"块"功能 3.最详细的配置文件解释 二.配置虚拟主机 1.什么是虚拟主机? 2.虚拟主机类型 3.配置虚拟主机 如果你还没有搭 ...
最新文章
- 系统架构设计的原则和模式
- mysql 添加索引
- Java核心(七):this和super的区别
- mingw编译boost_1_66_0
- iptables的SNAT和DNAT应用
- python二进制文件 删除尾部数据_在Python中读取和切片二进制数据文件的最快方法...
- Android WebView JavaScript交互
- python包requests使用笔记
- 使用边缘信息提升全局阈值分割的性能
- svn和git版本管理
- 已知屏幕的分辨率,整么计算屏幕比例?
- 沟通的艺术:看人入里,看出人外 - part 4
- QT程序到arm板(s5pv210)的移植之旅
- 华硕主板更改UEFI安全启动项
- MySQL processlist的state属性详解
- 猿创征文|国产数据库[StarRocks]实战学习
- 【C++】类和对象入门知识
- 2.5单星和双星运算符的作用
- office web apps安装部署 Win 2008 安装
- 最优化方法一:微分求极值