配置Nginx的错误页面,其实比你想象的要简单得多。关键就在于用好error_page这个指令。下面用一个具体例子,手把手带你走一遍完整流程。

第一步,找到Nginx的配置文件。大部分情况下,文件路径是/etc/nginx/nginx.conf,或者如果你用了站点启用机制,那就是/etc/nginx/sites-a vailable/default。打开它,找到你要配置的server块。
第二步,在server块里写入error_page指令。你可以针对特定的HTTP状态码分别指定不同的错误页面,也可以给一组状态码共用一个页面。举个例子:
server {
listen 80;
server_name example.com;
# 为特定的HTTP状态码设置错误页面
error_page 404 /custom_404.html;
error_page 500 502 503 504 /custom_50x.html;
# 指定错误页面的位置
location = /custom_404.html {
root /usr/share/nginx/html;
}
location = /custom_50x.html {
root /usr/share/nginx/html;
}
# 其他配置...
}
这段配置的意思很直白:error_page 404 /custom_404.html; 就是说当用户碰到“页面未找到”的错误时,Nginx会返回/custom_404.html这个页面;而error_page 500 502 503 504 /custom_50x.html; 则是把服务器内部错误(500系列)统一指向/custom_50x.html。至于后面的两个location块,则告诉Nginx去哪个目录下找这些自定义页面——这里用的是/usr/share/nginx/html。
第三步,确保你准备的两个文件——custom_404.html和custom_50x.html——真的存在于上面指定的目录中。别忘了,文件名和路径必须和配置里写的一模一样。
第四步,保存配置文件,然后重新加载Nginx让配置生效。命令是:
sudo nginx -s reload
搞定。从这一刻起,用户访问不存在的页面就会看到你自定义的404页面,服务器出内部错误时则会展示你设计的50x页面。整个流程没有任何弯弯绕绕,理解并记住这四步就够了。