nginx配置优化及404页面配置

5 篇文章 0 订阅

1,nginx配置优化

    1.1,nginx上层的配置:

user  root;
worker_processes 16;
worker_rlimit_nofile 100000; 
error_log stderr;
#pid nginx.pid;

daemon off;

events {
  worker_connections 102400;
  multi_accept on; 
  use epoll; 
}

     1.2,http中的配置:

#这个将为打开文件指定缓存,默认是没有启用的,max 指定缓存数量,建议和打开文件数一致,inactive 是指经过多长时间文件没被请求后删除缓存。 
    open_file_cache max=65535 inactive=60s;
    #这个是指多长时间检查一次缓存的有效信息。
    open_file_cache_valid 80s;
    #open_file_cache 指令中的inactive 参数时间内文件的最少使用次数,如果超过这个数字,文件描述符一直是在缓存中打开的,如上例,如果有一个文件在inactive 时间内一次没被使用,它将被移除。
    open_file_cache_min_uses 1;
    
    #客户端请求主体的缓冲区大小
    client_body_buffer_size 512k;
    #客户端请求头部的缓冲区大小,这个可以根据系统分页大小来设置
    client_header_buffer_size 4k;
    client_max_body_size 512k;
    large_client_header_buffers 2 8k;
    proxy_buffer_size 16k;
    proxy_buffers 4 64k;
    proxy_busy_buffers_size 128k;
    proxy_temp_file_write_size 128k;
    #设置缓存空间,存储缓存文件
    proxy_cache_path /usr/local/nginx/nginx-cache levels=1:2 keys_zone=nginx-cache:20m max_size=50g inactive=168h;
    
    #开始404配置
    proxy_intercept_errors on;      
    fastcgi_intercept_errors on;
    #access_log  logs/access.log  main;

    #tcp_nopush     on;

    #连接超时配置
    #客户端、服务端设置
    server_names_hash_bucket_size 128;
    server_names_hash_max_size 512;
    # 长连接超时配置
    keepalive_timeout  65;
    client_header_timeout 15s;
    client_body_timeout 15s;
    send_timeout 60s;
    #代理设置
    #与后端服务器建立连接的超时时间。注意这个一般不能大于75秒
    proxy_connect_timeout 30s;
    proxy_send_timeout 120s;
    #从后端服务器读取响应的超时
    proxy_read_timeout 120s;

    #开启gzip,减少我们发送的数据量
    gzip on;
    #允许压缩的最小字节数
    gzip_min_length 1k;
    #4个单位为16k的内存作为压缩结果流缓存
    gzip_buffers 4 16k;
    #设置识别HTTP协议版本,默认是1.1
    gzip_http_version 1.1;
    #gzip压缩比,可在1~9中设置,1压缩比最小,速度最快,9压缩比最大,速度最慢,消耗CPU
    gzip_comp_level 4;
    #压缩的类型
    gzip_types text/plain text/css application/json application/x-javascript text/xml application/xml application/xml+rss text/javascript; 
    #给代理服务器用的,有的浏览器支持压缩,有的不支持,所以避免浪费不支持的也压缩,所以根据客户端的HTTP头来判断,是否需要压缩
    gzip_vary on;
    #禁用IE6以下的gzip压缩,IE6的某些版本对gzip的压缩支持很不好
    gzip_disable "MSIE [1-6].";
    
    #访问限流
    #限制用户连接数来预防DOS攻击
    limit_conn_zone $binary_remote_addr zone=perip:10m;
    limit_conn_zone $server_name zone=perserver:10m;
    #限制同一客户端ip最大并发连接数
    #limit_conn perip 2;
    #限制同一server最大并发连接数
    #limit_conn perserver 20;
    #限制下载速度,根据自身服务器带宽配置
    #limit_rate 300k;
    
    #高效数据传输配置
    #开启文件的高效传输模式。tcp_nopush和tcp_nodelay可防止网络及磁盘i/o阻塞,提升nginx工作效率;
    sendfile on;
    #数据包不会马上传送出去,等到数据包最大时,一次性的传输出去,这样有助于解决网络堵塞。
    tcp_nopush on;
    #只要有数据包产生,不管大小多少,就尽快传输
    tcp_nodelay on;

2,nginx中配置404页面

      2.1,再http模块中增加

          proxy_intercept_errors on;      
         fastcgi_intercept_errors on;

     2.2,在server模块中增加

          error_page   500 502 503 504  /404.html;
          error_page   404 /404.html;
          location = /404.html {
            root /data/logo/;
          }

     2.3,将自己的404页面,放置到服务器的/data/logo/目录下面,重启nginx

3,发现一个比较精简的404页面

https://www.cnblogs.com/perseverancevictory/p/4254767.html

<!DOCTYPE html>
<html>
<head>
<meta charset=utf-8 />
<title>404哟</title>
<style type="text/css">
body {
  background-color: #ECECEC;
  font-family: 'Open Sans', sans-serif;
  font-size: 14px;
  color: #3c3c3c;
}

.demo p:first-child {
  text-align: center;
  font-family: cursive;
  font-size: 150px;
  font-weight: bold;
  line-height: 100px;
  letter-spacing: 5px;
  color: #fff;
}

.demo p:first-child span {
  cursor: pointer;
  text-shadow: 0px 0px 2px #686868,
    0px 1px 1px #ddd,
    0px 2px 1px #d6d6d6,
    0px 3px 1px #ccc,
    0px 4px 1px #c5c5c5,
    0px 5px 1px #c1c1c1,
    0px 6px 1px #bbb,
    0px 7px 1px #777,
    0px 8px 3px rgba(100, 100, 100, 0.4),
    0px 9px 5px rgba(100, 100, 100, 0.1),
    0px 10px 7px rgba(100, 100, 100, 0.15),
    0px 11px 9px rgba(100, 100, 100, 0.2),
    0px 12px 11px rgba(100, 100, 100, 0.25),
    0px 13px 15px rgba(100, 100, 100, 0.3);
  -webkit-transition: all .1s linear;
  transition: all .1s linear;
}

.demo p:first-child span:hover {
  text-shadow: 0px 0px 2px #686868,
    0px 1px 1px #fff,
    0px 2px 1px #fff,
    0px 3px 1px #fff,
    0px 4px 1px #fff,
    0px 5px 1px #fff,
    0px 6px 1px #fff,
    0px 7px 1px #777,
    0px 8px 3px #fff,
    0px 9px 5px #fff,
    0px 10px 7px #fff,
    0px 11px 9px #fff,
    0px 12px 11px #fff,
    0px 13px 15px #fff;
  -webkit-transition: all .1s linear;
  transition: all .1s linear;
}

.demo p:not(:first-child) {
  text-align: center;
  color: #666;
  font-family: cursive;
  font-size: 20px;
  text-shadow: 0 1px 0 #fff;
  letter-spacing: 1px;
  line-height: 2em;
  margin-top: -50px;
}
</style>
</head>
<body>
  <div class="demo">
    <p><span>4</span><span>0</span><span>4</span></p>
    <p>该页面不存在(´・ω・`)</p>
  </div>
</body>

</html>

记录

  • 3
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值