nginx 日志切割,404页面,多站点,优化

空主机头


Nginx关闭默认站点/空主机头(禁止IP直接访问、防止域名恶意解析)
server {
listen 80 default;
return 500;
}


日志切割


mkdir   /usr/local/nginx/logs/oldlogs
vim /home/nginx.sh
 

#!/bin/bash
LOG_PATH=/usr/local/nginx/logs/oldlogs
CUR_LOG_PATH=/usr/local/nginx/logs
YESTERDAY=$(date +%F -d -1day)
logfile=(access.log error.log )
i=0
while [[ i -lt ${#logfile[@]} ]];
do
mv $CUR_LOG_PATH/${logfile[i]}  $LOG_PATH/${YESTERDAY}_${logfile[i]}
let i++
done

kill -USR1 $(cat /usr/local/nginx/logs/nginx.pid)

find $LOG_PATH -name *.log -mtime +30 -exec rm -rf {} \;

给与权限并加入每天0点执行:
(killall nginx非必须)
chmod +x /home/nginx.sh
vim /var/spool/cron/root
0 0 * * * /bin/bash /home/cutnginx.sh &>/dev/null

 

404页面


修改主配置文件
server{

        error_page 404 /404.html;
            location = /404.html {
                root            /liuyijing;
        }

}

vim /liuyijing/404.html
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>404</title>
</head>
<body style="background-color:greeb">
    <h1>访问地址写错啦</h1>
    <p>或者是网站走丢了...</p>
</body>
</html>

systemctl restart nginx

多站点


vim /usr/local/nginx/conf/nginx.conf
 

只需要在http{模块中加入添加即可
server {
     listen    8081 default_server;
      server_name    liuyijing.com;
        return 500;
       location / {
        root    /liuyijing;
        index     index.html ;
}
     error_page 404 /404.html;
        location = /404.html {
        root    /liuyijing;
}
}


或者include /etc/nginx/conf.d/*.conf;


把conf文件放在你指定的位置即可

 

nginx基本优化

 

vim /usr/local/nginx/conf/nginx.conf
worker_processes  1;按照你的cpu核数修改1
events {
    worker_connections  1024;  1024改成10240或者65535
}


连接状态


请写在server中     
server{   
location /nginx_status {    
stub_status;
allow all;
}
}
systemctl restart nginx
http://192.168.184.156/nginx_status

    Active connections: 22    当前活动的连接数
    server accepts handled request  服务器接受处理请求 
    17 17 24
    17    总连接数connection(TCP)            TCP三次握手/四次断开
    17    成功的连接数connection (TCP)     失败连接=(总连接数-成功连接数)
    24     总共处理的请求数requests(HTTP)
                                connection          连接数,tcp连接                             
        requests               http请求,GET/POST/DELETE/UPLOAD
    Reading: 2    读取客户端Header的信息数         请求头
    Writing: 1        返回给客户端的header的信息数          响应头
    Waiting: 19    等待的请求数,开启了keepalive(长连接设置)
            keepalive_timeout 65(或者0,代表65秒4次断开); 百度家是120


随机主页:
将主页设置成随机页面,是一种微调更新机制。能保护用户粘性
创建多个主页html    server中开启 random_index on;  


替换模块:
一般不用,了解有这个技术就行


文件读取:
统称:ngx_http_core_module
sendfile
使用 sendfile() 来进行网络传输的过程:
硬盘 >> kernel buffer (快速拷贝到kernelsocket buffer) >>协议栈
sendfile() 不但能减少切换次数而且还能减少拷贝次数。
tcp_nopush
使用tcp_nopush()网络传输效率提升,当包累计到一定大小后再发送。
tcp_nodelay 
这个选项仅在将连接转变为长连接的时候才被启用。
TCP_NODELAY是禁用Nagle算法,即数据包立即发送出去。

sendfile        on;
tcp_nopush  on;

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值