Nginx 服务优化(修改用户与组+日志切割+连接超时)

一、修改用户与组:

Nginx运行时进程需要有用户与组的支持,用以实现对网站文件读取时进行访问控制。主进程由 root创建,子进程由指定的用户与组创建。nginx 默认使用 nobody 用户账户与组账号,一般也要进行修改。
修改 nginx 用户与组有两种办法,一种是在编译安装时指定用户和组;第二种是修改配置文件指定用户与组。

(1)编译 nginx 时指定用户与组,即修改 ./configure 后面指定用户与组的参数。

./configure \
--prefix=/usr/local/nginx \
--user=nginx \        //指定用户名是 nginx
--group=nginx \       //指定组名是 nginx
--with-http_stub_status_module

(2)修改 nginx 配置文件,指定用户与组。

user nginx nginx;   //修改用户为nginx,组为nginx

(3)重启服务后,查看进程情况,主进程由root创建,子进程则由nginx创建。

命令:ps aux | grep nginx
在这里插入图片描述

二、日志切割:

随着 Nginx运行时间的增加,产生的日志也会增加,需要定期地进行日志文件的切割。但是 Nginx 没有类似于 Apache 的 cronlog 日志分割处理能力,但是可以通过 Nginx 的信号控制功能脚本实现日志的自动切割,并将脚本加入到 linux 的计划任务中,让脚本在每天的固定时间执行,便可实现日志切割功能。

(1)第一步:首先编写脚本 /opt/fenge.sh ,把nginx 的日志文件 /usr/local/nginx/logs/access.log ,移动到目录 /var/log/nginx 下面,以当前时间作为日志文件名称;然后用 kill -USER1 创建新的日志文件 /usr/local/nginx/logs/access.log,最后删除30天之前的日志文件。

vim /opt/fenge.sh

#!/bin/bash
#Filename:fenge.sh
d=$(date -d "-1 day" "+%Y%m%d")
logs_path="/var/log/nginx"
pid_path="/usr/local/nginx/logs/nginx.pid"
[ -d $logs_path ] || mkdir -p $logs_path     
//检测是否存在日志文件目录,没有的话创建一个
mv /usr/local/nginx/logs/access.log ${logs_path}/test.com-access.log-$d   
//移动并重新命名日志文件
kill -USR1 $(cat $pid_path)                   //重建新的日志文件
find $logs_path -mtime +30 | xargs rm -rf    //删除30天之前的日志文件

(2)第二步:执行脚本,测试日志文件是否被分割。

[root@Nginx opt]# chmod +x fenge.sh 
[root@Nginx opt]# ./fenge.sh 

在这里插入图片描述
(3)另外,还可以设置crontab,定期执行脚本自动进行日志分割。

0 1 * * * /opt/fenge.sh
// 表示每天凌晨一点执行 fenge.sh脚本,进行日志分割

三、设置连接超时:

在企业网中,为了避免同一个客户长时间占用连接,造成资源浪费,可设置相应的连接超时参数,实现对连接访问时间的控制。可以修改配置文件 nginx.conf ,设置 keepalive_time 超时时间。

#keepalive_timeout  0;
    keepalive_timeout  65 180;  //第一个参数指定服务器超时时间,第二个参数指定了客户端的超时时间;
    client_header_timeout 80;   //指定等待客户端发送发送请求头的超时时间;
    client_body_timeout 80;     //指定请求体读超时时间;

在这里插入图片描述
重启服务后,可以通过访问网址抓取数据报文,会有显示超时时间:

1、以下是未设置超时时间时的报文:
在这里插入图片描述
2:这是设置超时时间后的报文数据:
在这里插入图片描述

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值