nginx的一些配置与运维

nginx的一些配置与运维

nignx.conf的配置

关闭http response 返回的nginx版本

// 执行命令查看http response
curl -X HEAD -l localhost:9000 -v
// 当关闭返回版本
HTTP/1.1 200 OK
Server: nginx/1.16.1
http{
	server{
		// 不显示nginx版本
		server_tokens off;	
	}
}
// 执行命令查看http response 
curl -X HEAD -l localhost:9000 -v
// 当关闭了返回nignx版本
HTTP/1.1 200 OK
Server: nginx

禁止/允许IP访问

// ip1.conf
// 禁止所有ip访问
deny all;
// ip2.conf
// 只允许指定ip访问
allow 192.168.1.1;
deny all;
// 注意: deny必须配置在allow之后,否则优先级错误,allow配置不生效
// ip3.conf
// 只禁止指定ip访问
deny 192.168.1.1;

IP限制可以在以下位置写入:

  1. http
  2. server
  3. location
http{
 	// 1. 此处可以写入ip限制
 	include ip1.conf;
 	server{
		// 2.此处可以写入ip限制
		include ip2.conf
		location{
			// 3. 此处可以写入ip限制
			include ip3.conf
		}
	}
}

nginx运维

启动

// 默认配置文件位于 /etc/nginx/nginx.conf
nginx 

查看nginx版本使用的配置文件

nignx -v

启动指定配置文件

nginx -c /etc/nginx/nginx.conf

快速停止或关闭

nginx -s stop

正常停止或关闭

nignx -s quit

配置文件修改后重载命令

nginx -s reload

重启服务

server  nginx  restart

一文玩转nginx

### 统计 Nginx 日志中 404 错误次数的方法 为了统计 Nginx 日志中 `404` 错误的出现次数,可以通过编写 Shell 脚本来实现。以下是具体方法: #### 方法描述 利用 Linux 的命令行工具(如 `awk`, `grep`, 和 `wc`),可以从 Nginx 的访问日志文件中提取出所有的 `404` 响应码,并计算它们的数量。 假设默认的日志路径为 `/var/log/nginx/access.log`,可以根据以下逻辑构建脚本: 1. **过滤响应码为 404 的请求** 使用 `grep` 或者 `awk` 提取出所有返回状态码为 `404` 的日志条目。 2. **统计匹配到的行数** 利用 `wc -l` 来统计这些行的数量。 3. **定期执行脚本** 如果希望周期性地获取统计数据,可以将该脚本加入 `crontab` 定时任务中[^1]。 #### 实现代码 下面提供了一个简单的 Shell 脚本用于完成上述功能: ```bash #!/bin/bash LOG_FILE="/var/log/nginx/access.log" ERROR_CODE="404" # 过滤并统计 404 错误数量 COUNT=$(grep " HTTP/.* ${ERROR_CODE} " "${LOG_FILE}" | wc -l) echo "Total number of '${ERROR_CODE}' errors: ${COUNT}" ``` 此脚本会读取指定的日志文件,并打印出其中 `404` 错误的总次数。 如果需要更复杂的处理方式,比如按 IP 地址分类统计,则可以用如下改进版脚本: ```bash #!/bin/bash LOG_FILE="/var/log/nginx/access.log" ERROR_CODE="404" # 按照 IP 地址分组统计 404 请求次数 awk '{if ($9 == "'${ERROR_CODE}'") print $1}' "${LOG_FILE}" | sort | uniq -c | sort -nr ``` 这段脚本仅能够统计总的 `404` 数量,还能进一步显示哪些客户端 IP 导致了最多的 `404` 错误[^3]。 #### 注意事项 - 需要确认实际使用的日志格式是否标准一致;如果是,默认字段位置可能同,需调整正则表达式或 awk 字段索引。 - 对于高并发环境下的大体积日志文件操作效率较低的情况,建议考虑切割旧日志或将部分解析工作转移到后台服务上进行[^2]。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值