Linux系统服务器Nginx配置404页面的方法
nginx资源404问题排查
nginx资源404问题排查这篇⽂章本意是写给我司现场技术⽀持的同事的,顺⼿就放上来了。
背景⽣产环境经常会出现图⽚访问不到的情况,⼤部分是由于nginx配置或者说路径指向不对导致的。
本⽂档仅针对⽹络正常且图⽚存在的情况,如果说是⽹络故障(ping不通图⽚服务器或者说nginx端⼝未打开)那肯定优先排查⽹络相关问题;如果说图⽚根本不存在,那么只能从图⽚⽣成的⾓度去排查问题。
nginx 简介nginx服务器是⼀个⾼性能的http服务器,⽬前市⾯上⼤部分的静态资源(例如图⽚,html⽂件等)访问都是通过nginx服务器实现的,下⽂的图⽚⽆法访问的排查流程同样适⽤于其他通过nginx访问的静态资源。
简单来说nginx服务器的作⽤就是将url转换为对应服务器上的⼀个具体的⽂件路径,如果url转换后的路径和实际的资源路径不匹配,那么就会发⽣⽆法访问对应资源的情况(例如图⽚裂图,或者直接页⾯报错404)。
nginx也可以作为反向代理服务器,但与本⽂⽆关,不作展开。
解决⽅法本⽂接下来会详细讲解在nginx配置⽂件中通过root或alias关键字修改路径指向,配置软链接两种⽅式来解决问题,这两种⽅式⽐较轻量,当然暴⼒的将具体资源移动到url对应的路径下也可以解决问题,但⽣产环境⼀般没有这么理想,所以暂不讨论。
nginx配置⽂件指nginx.conf,⼀般放在/etc/nginx/nginx.conf,如果没有可以通过find命令查找。
软链接是指linux系统中的⼀种符号链接,这个⽂件包含了另⼀个⽂件的路径名。
可以理解为windows系统中的快捷⽅式,例如我们在桌⾯上建⽴了⼀个快捷⽅式,就可以直接通过这个快捷⽅式进⼊对应的⽂件夹,在linux中作⽤同理,⽤软链接可以让我们在不移动具体⽂件资源的情况下,让nginx获得正确的路径指向。
抛开root和alias两个关键字可以实现路径转换,nginx还⽀持其他更⾼级的路径转换操作,例如rewrite,本⽂同样不讨论,有兴趣⾃⾏了解。
Nginx服务器中配置404错误页面时一些值得注意的地方
Nginx服务器中配置404错误页⾯时⼀些值得注意的地⽅换了VPS之后的某⼀天,在Google管理员⼯具控制台下看到了⼤量的"软404"错误,查找了⼀些资料之后发现是⾃⼰在Nginx 下配置404页⾯的⽅法不对才导致了错误的产⽣,在此记录⼀下Nginx下正确的404页⾯配置⽅法。
404是⼀个相应代码,表⽰"页⾯⽆法找到"(Page Not Found),Google关于"软404"给出的说法是:复制代码代码如下:Instead of returning a 404 response code for a non-existent URL, websites that serve "soft 404s" return a 200 response code.就是说对于那些不存在的URL,服务器并没有返回404(Page Not Found)代码,⽽是返回了200(OK)代码,⽽这是不正常的。
之后在其它的搜索结果⾥我⼜看到了这样⼀段话复制代码代码如下:Soft 404s can occur as a result of configuration errors when an Error Document 404 is specified as an absolute path rather than a relative path.看完之后恍然⼤悟,因为我的404⾃定义页⾯是有图⽚和CSS的,⽽图⽚跟CSS都是以相对路径(eg. /xxx/xxx)写在页⾯⾥的,所以为了能让整站都能看到404页⾯⾥的图⽚,我就把404页⾯在Nginx⾥定义成了绝对路径(eg. ///xxx/xxx),由于页⾯被当成了外部页⾯,所以会返回200代码,由此产⽣了"软404"错误。
知道了错误,那就好办了。
将404页⾯的路径定义为相对路径,⾄于图⽚和CSS,只要在页⾯⾥使⽤绝对路径即可。
linux nginx常用命令
linux nginx常用命令Linux Nginx是一种高性能的Web服务器和反向代理服务器,广泛应用于互联网领域。
本文将介绍Linux Nginx的常用命令,帮助读者更好地了解和使用该工具。
1. 安装Nginx要安装Nginx,可以使用以下命令:```sudo apt-get updatesudo apt-get install nginx```2. 启动和停止Nginx启动Nginx服务的命令是:```sudo systemctl start nginx```停止Nginx服务的命令是:```sudo systemctl stop nginx```3. 重启Nginx如果需要重新启动Nginx服务,可以使用以下命令:```sudo systemctl restart nginx```4. 查看Nginx的状态要查看Nginx服务的状态,可以使用以下命令:```sudo systemctl status nginx```5. 配置文件的位置Nginx的配置文件位于/etc/nginx目录下,主要有两个重要的配置文件:- nginx.conf:Nginx的主配置文件,包含全局配置信息。
- sites-available/default:默认的虚拟主机配置文件,用于配置网站的相关信息。
6. 检查配置文件的正确性为了确保配置文件的正确性,可以使用以下命令:```sudo nginx -t```如果配置文件没有错误,会显示"nginx: configuration file /etc/nginx/nginx.conf test is successful"。
7. 重新加载配置文件当修改了Nginx的配置文件后,需要重新加载配置文件,可以使用以下命令:```sudo systemctl reload nginx```8. 查看Nginx的版本信息要查看Nginx的版本信息,可以使用以下命令:```nginx -v```9. 监听端口默认情况下,Nginx监听的端口是80。
404页面写法
404页面是指在用户访问网站时,服务器无法找到所请求的页面或资源时返回的错误页面。
一个优秀的404页面需要具备清晰的中文版式、完整的信息反馈和友好的用户体验。
本文将为您详细介绍404页面的写作方法,以及如何使其条理清晰。
一、引导用户1. 页面标题:在404页面的顶部,应该明确告诉用户他们访问的页面不存在。
标题可以使用类似于“页面未找到”、“错误404”等简洁明了的字样。
2. 温馨提示:紧接着页面标题,可以添加一句温馨提示,例如“很抱歉,您访问的页面不存在,请检查您输入的网址是否正确。
”这样的提示语可以帮助用户意识到错误的原因,并激发他们寻找解决方案的欲望。
二、提供导航和搜索功能1. 返回首页按钮:在404页面中,应该提供一个明显的“返回首页”按钮,使用户能够快速回到网站的首页。
这样一来,用户不会被困在错误页面中,而是能够继续浏览其他内容。
2. 导航菜单:如果网站有较为完整的导航菜单,可以在404页面中显示出来。
这样用户就可以通过导航菜单继续浏览其他页面,找到他们感兴趣的内容。
3. 搜索框:在404页面中添加一个搜索框,允许用户输入关键词进行搜索。
这有助于用户快速找到他们想要的信息,而不必依赖于具体的页面链接。
三、提供帮助和联系方式1. 常见问题解答:在404页面中,可以列举一些常见的问题,并给出相应的解答。
这样有助于用户理解错误的原因,并提供可能的解决方案。
2. 联系方式:为了更好地服务用户,可以在404页面中提供网站的联系方式,例如邮箱、客服电话等。
用户可以通过这些方式与网站管理员或客服人员取得联系,寻求进一步帮助。
四、个性化设计和友好提示1. 独特的页面设计:404页面不仅可以是简单的错误提示,还可以融入网站的设计风格,增加互动性和趣味性。
可以利用图标、颜色、插画等元素来打造一个独特的页面,吸引用户的注意力。
2. 幽默的提示语:在404页面中,可以使用一些幽默的提示语,缓解用户的困惑和失望感。
404notfound是什么意思?为什么会出现404notfound页面以及如何解决?
404notfound是什么意思?为什么会出现404notfound页⾯以及如何解决?最近,有⽹友遇见了打开⽹页提醒“404 not found“的情况,虽然知道这个是代码,但是希望⼩编科普⼀下这⽅⾯的知识。
应这位⽹友的要求,⼩编这本⽂中详细为⼤家解答404 not found是什么意思,为什么会出现404 not found。
404 not found是什么意思?404 not found是⼀种标准的HTTP返回代码,当⽤户输⼊⼀个链接时,服务器上的IIS(Internet信息服务)会⾸先检测⽤户输⼊的地址链接是否有对应的⽹页信息,如果没有对应的⽹页信息,说明⽤户输⼊的是⼀串⽆效的链接,这时IIS就会通过服务器向终端⽤户发送404错误代码页提⽰,告诉⽤户找不到与该地址链接对应的⽹页信息。
在中⽂⽹页环境中如果对404返回页⾯进⾏汉化和合理的优化,让⽤户第⼀时间得知⾃⼰输⼊错误,通过优化过后的404页⾯引导⽤户进⼊正确的链接,⽽⾮⽴即离开⽹站,可以说404 not found的出现⼤⼤的提⾼了⽤户体验度,使⽤更加友好的⽅式⾯对⽤户。
为什么会出现404 not found?第⼀种:⽤户输⼊的地址链接有误,导致IIS提⽰404 not found。
第⼆种:服务器上本该有的页⾯已经被删除了,这种情况多发于BBS论坛,N年前的帖⼦如今被你通过搜索引擎搜索出来了,但实际上BBS论坛为了保障服务器的资源合理运⽤,都会将过期或⾮常久远的信息页⾯删除,导致404 not found。
第三种:DNS设置阻⽌,就中⽂环境⽽⾔,国外有⼀些被禁⽹站在中国浏览同样会出现404 not found的现象,这需要使⽤代理服务器才可以正常浏览。
从专业的⾓度来讲造成的原因有三种情况:1、⽆法在所请求的端⼝上访问Web站点。
2、Web服务扩展锁定策略阻⽌本请求。
3、MIME映射策略阻⽌本请求。
404 not found的解决⽅法介绍:上⽹后,在浏览这些站点时遇到各种不同的连接错误。
系统接口404异常的处理方法
系统接口404异常的处理方法
系统接口出现404异常通常意味着所请求的接口地址不存在或无法找到。
以下是一些处理404异常的常用方法:
1.检查接口地址:
o确认接口地址是否正确,包括协议(如http或https)、域名、路径和参数。
o检查是否有拼写错误或接口地址的变更。
o查看接口文档或与开发人员沟通,确保使用的是正确的接口地址。
2.检查接口服务状态:
o确认提供接口的服务器或服务是否正常运行。
o检查是否有服务停止、故障或服务器问题导致的404异常。
o可以联系相关的技术人员或运维人员来获取服务状态的信息。
3.检查网络连接:
o确保客户端能够正常访问网络,并且没有防火墙或安全策略阻止访问接口。
o尝试使用其他网络或设备访问接口,以排除网络问题。
4.查看服务器日志:
o如果可能的话,查看服务器端的日志,了解请求的处理过程和可能的错误原因。
o日志中可能包含有关请求路径、状态码和错误消息的详细信息。
5.检查前端页面或客户端代码:
o如果是在前端页面或客户端代码中调用接口,确保代码中使用的接口地址是正确的。
o检查是否有前端页面未正确配置或缺失的情况,导致无法正确请求接口。
6.联系开发人员或技术支持:
o如果以上方法都无法解决问题,可以联系负责接口开发的开发人员或技术支持团队寻求帮助。
o提供详细的错误信息、请求参数和日志,以便他们能够更快地定位和解决问题。
kangle如何自定义404,403等错误页面
kangle如何自定义404,403等错误页面
【小鸟云教程】
kangle如何自定义404,403等错误页面
说明:
404错误:表示文件不存在
403错误:表示没有默认的首页文件
默认首页文件:是指在访问您网站的时候自动定位的一个首先访问页面文件。
默认首页文件名通常有:index.html、index.htm、index.php、default.php、index.asp、index.aspx、default.htm、default.html、default.asp、default.aspx 等。
使用kangle可以设置首页的优先顺序,可以设置index.html为第一优先顺序,也可以设index.php为第一优先顺序等,顺序排在第一的那一个就是输入网址后直接访问那个文件。
1、通过http://ip:3311 登录kangle管理后台,选择左边的“虚拟主机”,再选择需要设置的虚拟主机名(以“_test ”为例),如下图:
2、进入虚拟主机“_test ”的操作页面,点击“自定义错误页面”,如下图:
3、进行404错误页面设置。
在错误代码处输入:404,后面的网址输入:/404.html,如下图
4、上图中以“_test”虚拟主机为例,这个空间域名是绑定在D:\project\test目录下。
那么该空间的根目录(/)就是D:\project\test,所以第四步中网址处直接输入“/404.html”,实际在服务器的中具体路径是D:\project\test\404.html。
我们需要把第一步时自定义的404页面放入D:\project\test 目录内。
Linux系统服务器Nginx配置404页面的方法
Linux系统服务器Nginx配置404页面的方法Linux系统环境下Nginx配置404页面很多设置后返回状态码是200,而不是404状态码,所以那样的404页面设置是不正确的,今天分享下Linux下Nginx配置404页面设置方法:按照以下5步骤:1、创建自己的404.html页面,并放于网站根目录;2、更改nginx.conf在http定义区域加入:vi /usr/local/nginx/conf/nginx.conf 编辑Nginx配置文件,在http 区段添加下面代码:fastcgi_intercept_errors on;3、更改nginx.conf 在网站配置中在server 区域加入:1.2.server{3.error_page 404 = 404.html; #只是转跳而已4.}网上教程基本都是使用上面代码,返回的是200状态码,正确的设置是去掉=,如下代码所示:1.2.server{3.error_page 404 404.html;4.}4、测试nginx.conf正确性:1./usr/local/nginx/sbin/nginx –t返回下面代码通过:the configuration file /usr/local/nginx/conf/nginx.conf syntax is okconfiguration file /usr/local/nginx/conf/nginx.conf test is successful5、平滑重启Nginx,即可解决完成404页面设置。
1./usr/local/ws/nginx/sbin/nginx -s reload这样在用站长工具测试状态码,检测的状态码就是404了,也就完成了Linux下Nginx配置404页面设置。
相关说明:当用户进入,点击了一个不存在或者已经删除的页面,网站会出现该页面不存在的提示,很多网站返回的是200状态码,而不是能引导用户返回。
nginx 请求阶段直接返回指定内容的方法
nginx 请求阶段直接返回指定内容的方法在Nginx中,您可以使用内建的变量和指令来控制请求的各个阶段,并在特定阶段直接返回指定的内容。
以下是一些方法:使用error_page指令:在Nginx配置中,可以使用error_page指令来定义自定义的错误页面。
当请求进入错误处理阶段时,Nginx将返回指定的内容。
例如:nginxerror_page 404 /custom_404.html;上述配置将导致当请求返回404状态码时,Nginx将直接返回/custom_404.html文件的内容。
使用try_files指令:try_files指令用于尝试按照指定的顺序查找文件,并返回找到的第一个文件。
您可以将其与@符号结合使用,将请求重定向到Nginx的内部处理逻辑。
例如:nginxlocation / {try_files $uri @custom_handler;}location @custom_handler {# 在此处编写自定义的处理逻辑# 可以根据需要返回指定的内容或重定向到其他位置}上述配置中,当请求进入location块时,Nginx将首先尝试查找与请求URI匹配的文件。
如果找不到匹配的文件,则将请求重定向到名为@custom_handler的内部处理逻辑。
在@custom_handler中,您可以编写自定义的处理逻辑,并返回指定的内容或进行其他操作。
使用ngx_http_rewrite_module模块:Nginx的ngx_http_rewrite_module模块提供了一些指令,用于在请求的早期阶段修改请求或重定向请求。
其中,rewrite指令可用于将请求重定向到其他位置或根据条件修改请求URL。
例如:nginxlocation / {rewrite ^/old-path$ /new-path last;}上述配置中,当请求进入location块时,如果请求的URI匹配正则表达式^/old-path$,则Nginx将重定向请求到/new-path路径,并将重定向标记为last,以便停止进一步的处理。
linux系统下部署项目访问报404错误的解决方法
linux系统下部署项⽬访问报404错误的解决⽅法碰到了⼀个⽐较奇怪的问题,我在linux系统上安装了⼀个tomcat服务器,我将⼀个项⽬部署到了这个服务器上,然后我去访问这个tomcat,访问成功:紧接着,我访问我部署项⽬的index.jsp页⾯,出现了404:
找了好久问题,最后发现当我把web.xml⽂件中的filter等注释掉后,可以正常访问:
注释掉后,我⼜访问了⼀下,是可以访问的:
暂时还没太明⽩这是什么问题,我⼜找了⼀个⼀样的项⽬,这次是可以访问的,具体原因还不清楚,本⼈觉得是⽂件权限问题,但是查了⼀下权限是⼀样的,可能和root解压有关,还没来得及测试。
以上就是本⽂的全部内容,希望对⼤家的学习有所帮助,也希望⼤家多多⽀持。
前后端代码分离的时候刷新页面404的问题
前后端代码分离的时候刷新页⾯404的问题1.问题:vue项⽬部署完成之后,突然发现除了⾸页,访问其它页⾯的时候刷新会出现404的问题,如果nginx这块没有配置好的话,便会出现这个问题。
好了,现在说下解决⽅案,顺便也是给⾃⼰做个⼩的笔记。
2.解决:在nginx配置⾥添加添加对应的跳转设置。
找到/www/server/panel/vhost/nginx/*.conf;添加location / {# First attempt to serve request as file, then# as directory, then fall back to displaying a 404.try_files $uri $uri/ /index.html =404;}加#注释掉index index.php index.html index.htm default.php default.htm default.html;配置如下server{listen 80 default_server;server_name ;# index index.php index.html index.htm default.php default.htm default.html;root /www/wwwroot/;#SSL-START SSL相关配置,请勿删除或修改下⼀⾏带注释的404规则#error_page 404/404.html;#SSL-END#ERROR-PAGE-START 错误页配置,可以注释、删除或修改#error_page 404 /404.html;#error_page 502 /502.html;#ERROR-PAGE-END#PHP-INFO-START PHP引⽤配置,可以注释或修改include enable-php-74.conf;#PHP-INFO-END#REWRITE-START URL重写规则引⽤,修改后将导致⾯板设置的伪静态规则失效include /www/server/panel/vhost/rewrite/.conf;#REWRITE-END#禁⽌访问的⽂件或⽬录location ~ ^/(\.user.ini|\.htaccess|\.git|\.svn|\.project|LICENSE|README.md){return 404;}#⼀键申请SSL证书验证⽬录相关设置location ~ \.well-known{allow all;}location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)${expires 30d;error_log /dev/null;access_log /dev/null;}location ~ .*\.(js|css)?${expires 12h;error_log /dev/null;access_log /dev/null;}location / {# First attempt to serve request as file, then# as directory, then fall back to displaying a 404.try_files $uri $uri/ /index.html =404;}access_log /www/wwwlogs/.log; error_log /www/wwwlogs/.error.log; }。
error_page 用法
error_page 用法Nginx是一个高性能的Web服务器,error_page是它提供的一个重要的指令,用于配置服务器在遇到具体错误时需要返回给客户端的错误页面。
error_page的使用方式非常简单,只要让Nginx监听404或其他错误状态码,然后设置相应的错误页面路径即可。
下面针对error_page的具体使用步骤进行详细解析:第一步:选择需要配置错误页面的状态码对于Nginx来说,对于配置的错误类型可以是HTTP状态码,也可以是非HTTP状态码。
HTTP状态码的范围是从100到599并且Nginx 支持常见的HTTP状态码,如404错误、500服务器内部错误等。
除了HTTP状态码外,Nginx还可以支持子请求的状态码和代理服务器的错误状态码。
第二步:配置error_page指令在Nginx的配置文件中,我们可以通过指令error_page来配置错误页的路径。
例如,当遇到404错误时,我们想让Nginx返回一个自定义的404错误页面,那么我们应该这样配置:error_page 404 /404.html;这行代码告诉服务器在遇到404错误时,将会返回/404.html这个错误页面给客户端。
该错误页面可以是任何类型的静态HTML页面,也可以是动态的页面,如PHP、ASP、JSP等。
除了上述情况外,我们还可以使用"/"作为错误页面路径,这样将会把给定状态码的错误页面跳转到首页,例如:error_page 404 /;第三步:配置default_server上面的配置说得是正确,但是这种方法只适用于配置单个虚拟主机。
如果您有多个虚拟主机,则应该在每个虚拟主机中分别配置。
如果需要在所有虚拟主机中使用相同的错误页面,则需要在default_server中进行配置:server {listen 80 default_server;server_name _;error_page 404 /404.html;location / {root /var/www/html;}}在这种情况下,Nginx会使用该错误页面来覆盖任何虚拟主机中的error_page设置。
linuxnginx启动重启关闭命令
linuxnginx启动重启关闭命令启动启动代码格式:nginx安装⽬录地址 -c nginx配置⽂件地址例如:[root@LinuxServer sbin]# /usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf停⽌nginx的停⽌有三种⽅式:从容停⽌ 1、查看进程号[root@LinuxServer ~]# ps -ef|grep nginx 2、杀死进程[root@LinuxServer ~]# kill -QUIT 2072快速停⽌1、查看进程号[root@LinuxServer ~]# ps -ef|grep nginx2、杀死进程[root@LinuxServer ~]# kill -TERM 2132或 [root@LinuxServer ~]# kill -INT 2132强制停⽌[root@LinuxServer ~]# pkill -9 nginx重启1、验证nginx配置⽂件是否正确⽅法⼀:进⼊nginx安装⽬录sbin下,输⼊命令./nginx -t看到如下显⽰nginx.conf syntax is oknginx.conf test is successful说明配置⽂件正确!⽅法⼆:在启动命令-c前加-t2、重启Nginx服务⽅法⼀:进⼊nginx可执⾏⽬录sbin下,输⼊命令./nginx -s reload 即可⽅法⼆:查找当前nginx进程号,然后输⼊命令:kill -HUP 进程号实现重启nginx服务nginx -s reload :修改配置后重新加载⽣效nginx -s reopen :重新打开⽇志⽂件nginx -t -c /path/to/nginx.conf 测试nginx配置⽂件是否正确启动操作 -c参数指定了要加载的nginx配置⽂件路径nginx -c /usr/local/nginx/conf/nginx.conf停⽌操作nginx -s stop :快速停⽌nginxquit :完整有序的停⽌nginx其他的停⽌nginx ⽅式:停⽌操作是通过向nginx进程发送信号来进⾏的步骤1:查询nginx主进程号ps -ef | grep nginx在进程列表⾥⾯找master进程,它的编号就是主进程号了。
访问网站提示404notfound怎么办404notfound修复方法
访问⽹站提⽰404notfound怎么办404notfound修复⽅法
在⽇常使⽤电脑访问⽹页的过程中,⼤家可能都有看到过⼀个“404 not found”提醒,404 not found是什么意思?要怎么修复404 not found?下⾯⼀起来看看吧。
访问⽹站提⽰404 not found怎么办 404 not found修复⽅法:
404 not found是什么意思?
浏览器打开页⾯提⽰“404 not found”表⽰该链接打不开,页⾯不存在,是⼀个默认错误提⽰,也就是所谓的“死链”。
404 not found怎么修复?
如果⼤家在访问页⾯的时候出现了“404 not found”提⽰,应该通过以下⽅式来检查:
1、检查链接
看看⾃⼰输⼊的链接是否有错误,⼀个细微的标点符号或者格式错误都可能会导致访问失败,所以⼤家⼀定要输⼊正确的链接,保证⼊⼝的合法性。
2、检查⽹络
保证⾃⼰的⽹络链接是正常OK的,如果⾃⼰没有连上⽹络或者⽹络较差,也可能会出现这个提⽰,所以⼀定要在⼀个绿⾊⾼速的⽹络下访问⽹页。
3、⽹络屏蔽
当浏览器设置了⼀些⿊名单或者访问⼀些guowai⽹站的时候也会出现这个错误,检查⾃⼰的浏览器安全性设置或者看看⾃⼰访问的是否是guowai⽹站。
4、资源被删
⼀些社区的帖⼦或者其他资源可能会因为⼀些原因被删除,当这些资源页⾯被删除之后,访问就会出现404了,可以检查⼀下该页⾯是否还存在。
5、访问快照
当⼤家使⽤百度搜索引擎搜索访问页⾯的时候,在搜索结果的右下⾓可以看到【百度快照】按钮,点击快照可以看到页⾯正常时的缓存数据。
Nginx常见错误及处理方法
Nginx常见错误及处理⽅法404 bad request⼀般原因:请求的Header过⼤解决⽅法:配置nginx.conf相关设置1. client_header_buffer_size 16k;2. large_client_header_buffers 4 64k;413 Request Entity Too Large⼀般原因:⼀般出现在上传⽂件解决⽅法:配置nginx.conf相关设置1. client_max_body_size 10m;配置php.ini如下(必须和nginx.conf配置⼀致)1. post_max_size=10M2. upload_max_filesize=2M499 Client Closed Request⼀般原因:客户端在为等到服务器相应返回前就关闭了客户端描述符。
⼀般出现在客户端设置超时后,主动关闭socket.解决⽅法:根据实际Nginx后端服务器的处理时间修改客户端超时时间。
500 Internal Server Rrror⼀般原因:脚本错误,(php语法错误、lua语法错误)访问量过⼤,系统资源限制,不能打开过多⽂件磁盘空间不⾜。
(access log开启可能导致磁盘满溢关闭)解决⽅法:语法错误查看nginx_err_log php_err_log。
⽂件访问量:1.修改nginx配置⽂件1. worker_rlimit_nofile 65535;2.修改/etc/security/limits.conf1. * soft nofile 655352. * hard nofile 65535502 Bad Gateway、503 Serveice Unavailable⼀般原因:后端服务⽆法处理,业务中断。
解决⽅法:从后端⽇志获取错误原因,解决后端服务器问题。
504 Gateway Timeout⼀般原因:后端服务器在超时时间内,未响应Nginx代理请求解决⽅法:根据后端服务器实际处理情况,调正后端请求超时时间。
nginx---访问页面不存在,显示默认页面
nginx---访问页⾯不存在,显⽰默认页⾯访问⽹页不存在显⽰默认⽹页 ⼀、修改配置vim /etc/nginx/conf.d/test.conf或者vim /etc/nginx/nginx.confserver {server_name ;root /data/site1;location /about {root /opt/testdir/;index test.html;}location /test {root /opt/;try_files $uri /test/default.html =404;}error_page 404 =200 /404.html;location = /404.html {}}当访问下的test下的什么就显⽰对应的/root/下的test⽬录下的对应⽂件,当访问不存在的页⾯就显⽰default.html,⽽默认的页⾯default.html 也找不到的话就显⽰404页⾯ ⼆、新建测试页⾯cd /opt/test1mkdir /opt/test/2echo"This is test1 page" > 1.html3echo"This is test2 page" > 2.html4echo"This is default page" > default.html 三、测试访问1 [16:38:56 root@localhost ~]#curl /test/1.html2 This is test1 page3 [16:39:42 root@localhost ~]#curl /test/2.html4 This is test2 page5 [16:39:46 root@localhost ~]#curl /test/2222.html6 This is default page7 [16:39:51 root@localhost ~]#curl /test/244.html8 This is default page删除默认页⾯继续访问,会显⽰对应的404页⾯内容[16:39:58 root@localhost ~]#curl /test/244.htmlThis is a error page图⽚ ⼀、修改配置server {server_name ;root /data/site1;location /about {root /opt/testdir/;index test.html;}location /images {alias /data/images;try_files $uri /images/default.jpg;}error_page 404 =200 /404.html;location = /404.html {}}当访问/images 时候,(try_files )尝试去访问对应的uri,这个uri是访问的路径什么就是什么,默认情况下如果能招到uri就显⽰uri,找不着就显⽰默认图⽚这⾥的/default.jpg对应的是/data/images ⼆、新建测试⽂件1mkdir /data/images/2cp /usr/share/backgrounds/morning.jpg /data/images/a.jpg3cp /usr/share/backgrounds/night.jpg /data/images/b.jpg4cp /usr/share/backgrounds/day.jpg /data/images/default.jpg 三、测试访问3、访问⼀个不存在的页⾯或者当访问的内容不存在⾃动在后⾯补个后缀server {server_name ;root /data/site1;location /about {root /opt/testdir/;index test.html;}location /test {root /opt/;try_files $uri $uri.jpg =404;}error_page 404 =200 /404.html;location = /404.html {}}我这⾥使⽤的是系统⾥⾃带的图⽚做演⽰的,只有略微颜⾊区别。
Nginx静态文件响应POST请求提示405错误的解决方法
Nginx静态⽂件响应POST请求提⽰405错误的解决⽅法例1:⽤linux下的curl命令发送POST请求给Apache服务器上的HTML静态页复制代码代码如下:[root@localhost ~]# curl -d 11=1 https:///index.html<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN"><HTML><HEAD><TITLE>405 Method Not Allowed</TITLE></HEAD><BODY><H1>Method Not Allowed</H1>The requested method POST is not allowed for the URL /index.html.<P><HR><ADDRESS>Apache/1.3.37 Server at Port 80</ADDRESS></BODY></HTML>例2:⽤linux下的curl命令发送POST请求给nginx服务器上的HTML静态页复制代码代码如下:[root@localhost ~]# curl -d 11=1 https:///index.htm<html><head><title>405 Not Allowed</title></head><body bgcolor="white"><center><h1>405 Not Allowed</h1></center><hr><center>nginx/1.2.0</center></body></html>但在有些应⽤中,需要使静态⽂件能够响应POST请求。
nginx配置引发的403问题解决办法
nginx配置引发的403问题解决办法
nginx配置引发的403问题解决办法
⼀、问题:在curl nginx配置的本地域名时出现403
nginx_error.log⽇志如下:
⼆、疑问
1、配置如下:发现root⽬录与error⽇志中的禁⽌访问的⽂件不⼀致,理论上访问应该到/usr/local/nginx/html1去查找,为何显⽰的确是/usr/local/nginx/html禁⽌访问?
2、curl⼀下/usr/local/nginx/html1下的⼀个a.txt⽂件发现:发现错误竟然是404。
三、解决
⼤致可以推断,可能是nginx.conf中没有配置。
查看nginx.conf发现:没有配置,⽽且nginx是默认不允许访问⽂件的⽬录的,所以会出现403的错误。
再查看下配置了的发现:的root⽬录跟error⽇志中的禁⽌访问的⽬录是⼀样的,⽽且server_name为⼀个ip⽽不是域名
原因:因为没有配置,所以当我们访问时,nginx会访问默认(即为),在访问a.txt(在⽬录下不存在这个⽂件)会报出404找不到的错误。
可以通过修改nginx配置,让nginx可以访问⽂件⽬录:
显⽰⽬录下⽂件:
感谢阅读,希望能帮助到⼤家,谢谢⼤家对本站的⽀持!。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Linux系统服务器Nginx配置404页面的方法
Linux系统环境下Nginx配置404页面很多设置后返回状态码是200,而不是404状态码,所以那样的404页面设置是不正确的,今天分享下Linux下Nginx配置404页面设置方法:
按照以下5步骤:
1、创建自己的404.html页面,并放于网站根目录;
2、更改nginx.conf在http定义区域加入:
vi /usr/local/nginx/conf/nginx.conf 编辑Nginx配置文件,在http 区段添加下面代码:fastcgi_intercept_errors on;
3、更改nginx.conf 在网站配置中在server 区域加入:
1.
2.server{
3.error_page 404 = 40
4.html; #只是转跳而已
4.}
网上教程基本都是使用上面代码,返回的是200状态码,正确的设置是去掉=,如下代码所示:
1.
2.server{
3.error_page 404 40
4.html;
4.}
4、测试nginx.conf正确性:
1./usr/local/nginx/sbin/nginx –t
返回下面代码通过:
the configuration file /usr/local/nginx/conf/nginx.conf syntax is ok
configuration file /usr/local/nginx/conf/nginx.conf test is successful
5、平滑重启Nginx,即可解决完成404页面设置。
1./usr/local/ws/nginx/sbin/nginx -s reload
这样在用站长工具测试状态码,检测的状态码就是404了,也就完成了Linux下Nginx配置404页面设置。
相关说明:当用户进入,点击了一个不存在或者已经删除的页面,网站会出现该页面不存在的提示,很多网站返回的是200状态码,而不是能引导用户返回。
404错误页面制作的注意事项:
1、不要将404错误转向到网站主页,比如,不能把所有404转向到或者,否则可能会导致主页在搜索引擎中被降权或消失;
2、不要使用绝对URL,如果使用绝对URL返回的状态码是302+200,这样会产生大量的重复网页;
3、404页面设置完成,一定要检查是否正确。
http头信息返回的一定要是404状态。
这个可以通过服务器头部信息检查工具进行检查。
4、404页面不要自动跳转,让用户来决定去向。
5、自定义的404页面必须大于512字节,否则可能会出现IE默认的404页面。