操作系统

当前位置:金沙棋牌 > 操作系统 > Nginx配置文件详细说明,Nginx实现404页面的几种方

Nginx配置文件详细说明,Nginx实现404页面的几种方

来源:http://www.logblo.com 作者:金沙棋牌 时间:2019-11-05 18:52

一个网址项目,断定是幸免不了404页面的,平时使用Nginx作为Web服务器时,有以下集中布局形式,一同来造访。

转自

在这里记录下Nginx服务器nginx.conf的铺排文件评释, 部分注释收罗与网络.

率先种:Nginx自个儿的荒诞页面

Nginx达成404页面包车型客车两种办法,你知道二种 – 运维派

style="font-family: 'Microsoft YaHei'; font-size: 16px;">#运维客商
user www-data;    
style="font-family: 'Microsoft YaHei'; font-size: 16px;">#早先进程,日常设置成和cpu的数据优秀
style="font-family: 'Microsoft YaHei'; font-size: 16px;">worker_processes  1;

style="font-family: 'Microsoft YaHei'; font-size: 16px;">#大局错误日志及PID文件
style="font-family: 'Microsoft YaHei'; font-size: 16px;">error_log  /var/log/nginx/error.log;
style="font-family: 'Microsoft YaHei'; font-size: 16px;">pid        /var/run/nginx.pid;

style="font-family: 'Microsoft YaHei'; font-size: 16px;">#行事形式及连接数上限
events {
    use   epoll;             #epoll是多路复用IO(I/O Multiplexing)中的生龙活虎种艺术,然则仅用于linux2.6以上底蕴,可以大大进步nginx的个性
    worker_connections  1024;#单个后台worker process进度的最大并发链接数
    # multi_accept on; 
style="font-family: 'Microsoft YaHei'; font-size: 16px;">}

style="font-family: 'Microsoft YaHei'; font-size: 16px;">#设定http服务器,利用它的反向代理功效提供负载均衡辅助
http {
     #设定mime类型,类型由mime.type文件定义
    include       /etc/nginx/mime.types;
    default_type  application/octet-stream;
    #设定日志格式
    access_log    /var/log/nginx/access.log;

    #sendfile 指令钦定 nginx 是还是不是调用 sendfile 函数(zero copy 格局卡塔尔国来输出文件,对于平时应用,
    #必须设为 on,假设用来进展下载等应用磁盘IO重负载应用,可安装为 off,以抵消磁盘与网络I/O管理速度,减弱系统的uptime.
    sendfile        on;
    #tcp_nopush     on;

    #连续几天超时时间
    #keepalive_timeout  0;
    keepalive_timeout  65;
    tcp_nodelay        on;
style="font-family: 'Microsoft YaHei'; font-size: 16px;">    
    #开启gzip压缩
    gzip  on;
    gzip_disable "MSIE [1-6].(?!.*SV1)";

    #设定需要缓冲
    client_header_buffer_size    1k;
    large_client_header_buffers  4 4k;

    include /etc/nginx/conf.d/*.conf;
    include /etc/nginx/sites-enabled/*;

    #设定负载均衡的服务器列表
     upstream mysvr {
    #weigth参数表示权值,权值越高被分配到的可能率越大
    #本机上的Squid开启3128端口
    server 192.168.8.1:3128 weight=5;
    server 192.168.8.2:80  weight=1;
    server 192.168.8.3:80  weight=6;
    }


   server {
    #侦听80端口
        listen       80;
        #概念使用www.xx.com访问
        server_name  www.xx.com;

        #设定本设想主机的探访日志
        access_log  logs/www.xx.com.access.log  main;

    #暗许诉求
    location / {
style="font-family: 'Microsoft YaHei'; font-size: 16px;">          root   /root;      #概念服务器的暗许网址根目录地点
style="font-family: 'Microsoft YaHei'; font-size: 16px;">          index index.php index.html index.htm;   #概念首页索引文件的称谓

style="font-family: 'Microsoft YaHei'; font-size: 16px;">          fastcgi_pass  www.xx.com;
style="font-family: 'Microsoft YaHei'; font-size: 16px;">         fastcgi_param  SCRIPT_FILENAME  $document_root/$fastcgi_script_name; 
style="font-family: 'Microsoft YaHei'; font-size: 16px;">          include /etc/nginx/fastcgi_params;
        }

    # 定义错误提醒页面
    error_page   500 502 503 504 /50x.html;  
        location = /50x.html {
        root   /root;
    }

    #静态文件,nginx自个儿管理
    location ~ ^/(images|javascript|js|css|flash|media|static)/ {
        root /var/www/virtual/htdocs;
        #过期30天,静态文件不怎么更新,过期可以设大学一年级点,如若一再更新,则能够安装得小一些。
        expires 30d;
    }
    #PHP 脚本诉求全部转折到 FastCGI管理. 使用法斯特CGI私下认可配置.
    location ~ .php$ {
        root /root;
        fastcgi_pass 127.0.0.1:9000;
        fastcgi_index index.php;
        fastcgi_param SCRIPT_FILENAME /home/www/www$fastcgi_script_name;
        include fastcgi_params;
    }
    #设定查看Nginx状态的地点
    location /NginxStatus {
        stub_status            on;
        access_log              on;
        auth_basic              "NginxStatus";
        auth_basic_user_file  conf/htpasswd;
    }
    #制止访谈 .htxxx 文件
    location ~ /.ht {
        deny all;
    }
style="font-family: 'Microsoft YaHei'; font-size: 16px;">     
     }
style="font-family: 'Microsoft YaHei'; font-size: 16px;">}

Nginx访谈三个静态的html 页面,当那一个页面没临时,Nginx抛出404,那么如何回到给顾客端404吧?

 

如上是有个别主导的布局,使用Nginx最大的利润正是负载均衡

看上边包车型地铁安排,这种意况下无需校勘任何参数,就能够促成那些功能。

率先种:Nginx自身的荒唐页面

举个例子要利用负载均衡的话,能够修改配置http节点如下:

style="font-family: 黑体; font-size: 15px">server {

style="font-family: 黑体; font-size: 15px">listen      80;

style="font-family: 黑体; font-size: 15px">server_name  www.test.com;

style="font-family: 黑体; font-size: 15px">root   /var/www/test;

style="font-family: 黑体; font-size: 15px">index  index.html index.htm;

style="font-family: 黑体; font-size: 15px">location / {

style="font-family: 黑体; font-size: 15px">}

style="font-family: 黑体; font-size: 15px"># 定义错误页面码,如若出现相应的荒诞页面码,转载到这里。

style="font-family: 黑体; font-size: 15px">error_page  404 403 500 502 503 504  /404.html;

style="font-family: 黑体; font-size: 15px"># 承继上面包车型大巴location。

style="font-family: 黑体; font-size: 15px">location = /404.html {

style="font-family: 黑体; font-size: 15px"># 放错误页面包车型地铁目录路线。

style="font-family: 黑体; font-size: 15px">root   /usr/share/nginx/html;

style="font-family: 黑体; font-size: 15px">}

style="font-family: 黑体; font-size: 15px">}

Nginx访谈三个静态的html 页面,当那一个页面没临时,Nginx抛出404,那么什么样回到给顾客端404吗?

style="font-family: 'Microsoft YaHei'; font-size: 16px;">#设定http服务器,利用它的反向代理功效提供负载均衡扶持
http {
     #设定mime类型,类型由mime.type文件定义
    include       /etc/nginx/mime.types;
    default_type  application/octet-stream;
    #设定日志格式
    access_log    /var/log/nginx/access.log;

    #轻便易行上文有的有的布署节点

    #。。。。。。。。。。

    #设定负载均衡的服务器列表
     upstream mysvr {
    #weigth参数表示权值,权值越高被分配到的可能率越大
    server 192.168.8.1x:3128 weight=5;#本机上的Squid开启3128端口
    server 192.168.8.2x:80  weight=1;
    server 192.168.8.3x:80  weight=6;
    }

   upstream mysvr2 {
    #weigth参数表示权值,权值越高被分配到的概率越大

    server 192.168.8.x:80  weight=1;
    server 192.168.8.x:80  weight=6;
    }

   #先是个虚构服务器
   server {
    #侦听192.168.8.x的80端口
        listen       80;
        server_name  192.168.8.x;

      #对aspx后缀的扩充负荷均衡央求
    location ~ .*.aspx$ {

         root   /root;      #概念服务器的暗许网址根目录地点
style="font-family: 'Microsoft YaHei'; font-size: 16px;">          index index.php index.html index.htm;   #概念首页索引文件的称谓

style="font-family: 'Microsoft YaHei'; font-size: 16px;">          proxy_pass  ;#恳请转向mysvr 定义的服务器列表

style="font-family: 'Microsoft YaHei'; font-size: 16px;">          #以下是一对反向代理的配备可删除.

style="font-family: 'Microsoft YaHei'; font-size: 16px;">          proxy_redirect off;

style="font-family: 'Microsoft YaHei'; font-size: 16px;">          #后端的Web服务器能够由此X-Forwarded-For获取客商真正IP
style="font-family: 'Microsoft YaHei'; font-size: 16px;">          proxy_set_header Host $host;
style="font-family: 'Microsoft YaHei'; font-size: 16px;">          proxy_set_header X-Real-IP $remote_addr;
style="font-family: 'Microsoft YaHei'; font-size: 16px;">          proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
style="font-family: 'Microsoft YaHei'; font-size: 16px;">          client_max_body_size 10m;    #同意用户端央求的最大单文件字节数
style="font-family: 'Microsoft YaHei'; font-size: 16px;">          client_body_buffer_size 128k;  #缓冲区代办缓冲客商端伏乞的最大字节数,
style="font-family: 'Microsoft YaHei'; font-size: 16px;">          proxy_connect_timeout 90;  #nginx跟后端服务器连接超时时间(代理连接超时)
style="font-family: 'Microsoft YaHei'; font-size: 16px;">          proxy_send_timeout 90;        #后端服务器数据回传时间(代理发送逾期)
style="font-family: 'Microsoft YaHei'; font-size: 16px;">          proxy_read_timeout 90;         #接连成功后,后端服务器响应时间(代理选用超时)
style="font-family: 'Microsoft YaHei'; font-size: 16px;">          proxy_buffer_size 4k;             #设置代理服务器(nginx卡塔尔国保存顾客头音讯的缓冲区大小
style="font-family: 'Microsoft YaHei'; font-size: 16px;">          proxy_buffers 4 32k;               #proxy_buffers缓冲区,网页平均在32k以下的话,那样设置
style="font-family: 'Microsoft YaHei'; font-size: 16px;">          proxy_busy_buffers_size 64k;    #高负荷下缓冲大小(proxy_buffers*2)
style="font-family: 'Microsoft YaHei'; font-size: 16px;">          proxy_temp_file_write_size 64k;  #设定缓存文件夹大小,大于这一个值,将从upstream服务器传

       }

     }
style="font-family: 'Microsoft YaHei'; font-size: 16px;">}

 

 

style="font-family: 'Microsoft YaHei'; font-size: 14px;">出自:

其次种:反向代理的大错特错页面

看上面包车型客车配备,这种境况下无需改善任何参数,就能够兑现那些效果。

假诺后台汤姆cat管理报错抛出404,想把那几个情景叫Nginx反馈给客商端依然重定向到某些连接,配置如下:

server {

listen      80;

server_name  www.test.com;

root   /var/www/test;

index  index.html index.htm;

location / {

}

# 定义错误页面码,假使现身相应的大错特错页面码,转载到这里。

error_page  404 403 500 502 503 504  /404.html;

# 世襲上边的location。

location = /404.html {

# 放错误页面的目录路线。

root   /usr/share/nginx/html;

}

}

style="font-family: 黑体; font-size: 15px">upstream www {

style="font-family: 黑体; font-size: 15px">server 192.168.1.201:7777  weight=20 max_fails=2 fail_timeout=30s;

style="font-family: 黑体; font-size: 15px">ip_hash;

style="font-family: 黑体; font-size: 15px">}

style="font-family: 黑体; font-size: 15px">server {

style="font-family: 黑体; font-size: 15px">listen       80;

style="font-family: 黑体; font-size: 15px">server_name www.test.com;

style="font-family: 黑体; font-size: 15px">root   /var/www/test;

style="font-family: 黑体; font-size: 15px">index  index.html index.htm;

style="font-family: 黑体; font-size: 15px"> 

style="font-family: 黑体; font-size: 15px">location / {

style="font-family: 黑体; font-size: 15px">if ($request_uri ~* ‘^/$’) {

style="font-family: 黑体; font-size: 15px">rewrite .*   redirect;

style="font-family: 黑体; font-size: 15px">}

style="font-family: 黑体; font-size: 15px"># 关键参数:这几个变量开启后,大家技术自定义错误页面,当后端再次回到404,nginx拦截错误定义错误页面

style="font-family: 黑体; font-size: 15px">proxy_intercept_errors on;

style="font-family: 黑体; font-size: 15px">proxy_pass      ;

style="font-family: 黑体; font-size: 15px">proxy_set_header HOST   $host;

style="font-family: 黑体; font-size: 15px">proxy_set_header X-Real-IP      $remote_addr;

style="font-family: 黑体; font-size: 15px">proxy_set_header X-Forwarded-FOR $proxy_add_x_forwarded_for;

style="font-family: 黑体; font-size: 15px">}

style="font-family: 黑体; font-size: 15px">error_page    404  /404.html;

style="font-family: 黑体; font-size: 15px">location = /404.html {

style="font-family: 黑体; font-size: 15px">root   /usr/share/nginx/html;

style="font-family: 黑体; font-size: 15px">}

style="font-family: 黑体; font-size: 15px">}

第二种:反向代理的大错特错页面

其两种:Nginx深入剖判php代码的失实页面

尽管后台汤姆cat管理报错抛出404,想把这一个场所叫Nginx反馈给客商端只怕重定向到某些连接,配置如下:

若果后端是php深入分析的,要求加多少个变量

upstream www {

server 192.168.1.201:7777  weight=20 max_fails=2 fail_timeout=30s;

ip_hash;

}

server {

listen       80;

server_name www.test.com;

root   /var/www/test;

index  index.html index.htm;

 

location / {

if ($request_uri ~* ‘^/$’) {

rewrite .*   redirect;

}

# 关键参数:这几个变量开启后,大家工夫自定义错误页面,当后端重临404,nginx拦截错误定义错误页面

proxy_intercept_errors on;

proxy_pass      ;

proxy_set_header HOST   $host;

proxy_set_header X-Real-IP      $remote_addr;

proxy_set_header X-Forwarded-FOR $proxy_add_x_forwarded_for;

}

error_page    404  /404.html;

location = /404.html {

root   /usr/share/nginx/html;

}

}

在http段中加一个变量 fastcgi_intercept_errors on 就能够了。

其两种:Nginx拆解分析php代码的失实页面

点名三个不当页面:

只要后端是php剖析的,要求加八个变量

style="font-family: 黑体; font-size: 15px">error_page    404  /404.html;

style="font-family: 黑体; font-size: 15px">location = /404.html {

style="font-family: 黑体; font-size: 15px">root   /usr/share/nginx/html;

style="font-family: 黑体; font-size: 15px">}

在http段中加八个变量 fastcgi_intercept_errors on 就能够了。

点名八个url地址:

点名贰个错误页面:

style="font-family: 黑体; font-size: 15px">error_page 404  /404.html;

style="font-family: 黑体; font-size: 15px">error_page 404 = ;

style="font-family: 草书; font-size: 15px">作品来自:

error_page    404  /404.html;

location = /404.html {

root   /usr/share/nginx/html;

}

内定三个url地址:

error_page 404  /404.html;

error_page 404 = ;

本文由金沙棋牌发布于操作系统,转载请注明出处:Nginx配置文件详细说明,Nginx实现404页面的几种方

关键词:

上一篇:没有了

下一篇:没有了