nginx html 404错误,记一次配置nginx404、500错误页面

博主在面临多个Nginx子配置文件和不同环境的管理挑战时,尝试将404和500错误页面的配置集中到http区域,以简化管理和维护。然而,由于http区域无法配置location,他选择将错误页面静态文件映射到各项目根目录。通过编写一个简单的Shell脚本,批量创建符号链接,将/data/html/下的404.html和500.html映射到所有以client结尾的项目目录中,实现了高效且便捷的解决方案。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

背景:nginx主配置文件里面include了十几个子配置文件,现在需要配置404和500等错误页面

第一种是在项目里面通过路由配置,这里不做细说

第二种是nginx统一配置,这里说一下我配置nginx过程中遇到的问题

nginx配置错误页面

本来是计划在子配置文件的server里面加上配置项

fastcgi_intercept_errors on;# 开启支持错误自定义

error_page 404 /page/404.html;

location = /404.html {

root /usr/share/nginx/html;

}

error_page 500 502 503 504 /page/500.html;

localtion = /page/500.html {

root /usr/share/nginx/html;

}

类似上面这种加载server里面就可以了,但是我这里有十几个nginx子文件,还分多个环境,操作起来就很麻烦,所以就打算放在http区域,配置如下:

fastcgi_intercept_errors on;# 开启支持错误自定义

error_page 404 /404.html;

error_page 500 502 503 504 /500.html;

因为http区域不能配置localtion 所以只能将文件放在项目的根目录下,但是我十多个项目,每个项目都需要加html文件而且后期维护也很麻烦,所以我就计划做个映射。在/data下面建立了一个html文件夹,里面放着404.html 500html等,因为映射到十几个文件夹,如果一个个写也很麻烦,所以写了一个简单的shell命令执行

#!/bin/bash

for dir in `find /data/src/ -type d -name "*-client"`

do

ln -s /data/html/404.html $dir/

ln -s /data/html/500.html $dir/

done

我的前端项目文件都是以client结尾的,所以只需要查找出所有带client的文件夹,再遍历做映射就可以了。映射文件需要放在有公共访问权限的地方,类似/etc这种访问不到。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值