tomcat应用部署到服务器出现502错误怎么办

tomcat应用部署到服务器出现502错误怎么办,第1张

502 Bad Gateway是指错误网关;无效网关;在互联网中表示一种网络错误。表现在WEB浏览器中给出的页面反馈。

常见的解决方法有如下两种:

1:php-cgi进程数不够用 (我就是采用此方法解决的)

vim php-fpm.conf

修改其中的2个参数

(1)在安装好使用过程中出现502问题,一般是因为默认php-cgi进程是5个,可能因为phpcgi进程不够用而造成502,需要修改/usr/local/php/etc/php-fpm.conf 将其中的max_children值适当增加

这个数值是不确定的 需要我们自己算的,这个值原则上是越大越好,php-cgi的进程多了就会处理的很快,排队的请求就会很少,减小出现502错误的机率。

一般来说,一台服务器的正常情况下每一个php-cgi要耗费的内存为20M左右。如果我就将此值设为80,那么也就是说大概要耗费服务器1600M内存。

查看一下当前系统中有多少个php-cgi进程在运行

netstat -anpo | grep php-cgi | wc -l

如果这个值接近你的在配置文件里面设置的值,说明需要增加

注:这要根据机器的实际情况而定,每个机器的硬件设施和环境不一样

参数为:<value name=”max_children”>80</value>

(2)另外一个参数就是php-cgi脚本的执行时间

<value name=”request_terminate_timeout”>0s</value>这里写0s的意思是让php-cgi一直执行下去,没有时间限制。

注意:如果你做不到这一点,也就 是说你的PHP-CGI可能出现某个BUG,或者你的宽带不够充足或者其他的原因导致你的PHP-CGI假死那么就建议你给 request_terminate_timeout赋一个值,这个值可以根据服务器的性能进行设定。一般来说性能越好你可以设置越高,20分钟-30分 钟都可以。

修改完这两个参数,重启一下php-cgi,看是否还出现502错误

2: php执行时间长

php执行超时,修改/usr/local/php/etc/php.ini 将max_execution_time 改为300

重启一下php-cgi,看是否还出现502错误

3: php-cgi进程死掉

杀死其进程,重启php-cgi

在小型VMware环境当中,错误配置共享存储的情况并不少见。花费一些时间来纠正这些错误可以在ESXi主机超过负载或者宕机时避免很多问题。

一个成功的vSphere部署需要包含三个基本部分:多个相同的ESXi服务器、共享存储和vCenter。任何具有多个ESXi服务器的数据中心都应该使用共享存储,并且对于所有服务器集群都保证一直可用。

对于一些vSphere核心技术来说,比如v

Motion、分布式资源调度(DRS)和高可用性(HA),共享存储是一个前提条件。vMotion可以在不产生宕机时间的情况下,将一个运行中的虚拟机从一台ESXi主机迁移到另一台上。DRS利用vMotion技术将虚拟机移动到其他的ESXi主机上,以避免产生CPU和内存不足的情况。如果一台ESXi服务器发生故障,vSphere HA会在集群中的其他ESXi主机上重启正在运行的虚拟机。DRS和HA只能用于存放在共享存储上的虚拟机;不论是HA还是DRS迁移,虚拟机在存储上的位置都不会发生改变。

为了最大限度地发挥HA和DRS的作用,虚拟机使用的所有存储都必须对集群中的每一台ESXi服务器保证可用。连续的共享存储使用的配置取决于存储网络类型:光纤通道(FC)、iSCSI还是网络文件系统(NFS)。对于FC和iSCSI存储,需要确保存储阵列对于每个ESXi主机都使用相同的逻辑单元号(LUN)。一些阵列通过使用分组可以轻松实现这个需求,但是其他阵列就需要你为每个主机都单独进行配置。

对于FC,你需要将FC交换机配置在一致的分区当中,以使得所有的主机都能够找到阵列。如果使用的是iSCSI,那么ESXi主机需要使用同样的发现设定、同样的动态发现IP地址列表。

如果使用的是NFS,那么大部分的设定都可以在ESXi服务器上完成。确保在每个ESXi主机上都使用相同的NFS服务器主机名和共享路径。如果一个ESXi主机使用NFS服务器的IP地址,另外一个使用主机名,而第三台ESXi主机使用全限定名,那么vCenter将认为它们使用的是不同的数据存储。NFS服务器主机名和共享路径在所有的主机上都必须是相同的,这样vCenter才能将它们识别为同一个数据存储。可以使用vSphere Command Line或者PowerCLI脚本对ESXi主机的NFS和iSCSI进行自动配置,这样可以更为轻易地确保使用同样的命令来部署每个主机。

在vSphere Client中的Maps标签页下,可以轻松地查看集群的一致性存储。在vSphere Client的主机和集群视图中,选择集群——而不是ESXi主机——点击Maps标签,之后关闭所有从主机到数据存储的依赖关系联线,点击应用关系。现在,就可以看到主机和数据存储的网状连接图了。

如果每一个数据存储都连接到每一台主机上,那么一切都不会有问题。那些只连接到一部分主机的数据存储会引发问题。如果只有一部分主机能够找到数据存储,那么只有这些主机可以使用数据存储来运行虚拟机。没有连接到这些数据存储的主机可能进行了错误的配置。一些数据存储只连接到一台ESXi主机;这通常是ESXi主机内部的本地磁盘,不能进行共享。注意不要将虚拟机放置在本地数据存储上,除非虚拟机只是在ESXi主机上使用,比如vShield代理虚拟机。

开启虚拟机到数据存储的关系会使得网络关系图更加复杂,但是可以显示出哪些虚拟机位于共享存储上,哪些在使用非共享数据存储。如果你的一些虚拟机位于非共享存储上,想一想是否能够通过存储vMotion将这些虚拟机迁移到一个另外的数据存储当中;需要确保目的存储上有足够的空余空间。从VM菜单中选择Change Datastore,选择目标数据存储进行迁移,之后等待。

应用程序错误解决方法:

1.检查电脑是否存在病毒,请使用百度卫士进行木马查杀。

2.系统文件损坏或丢失,盗版系统或Ghost版本系统,很容易出现该问题。建议:使用完整版或正版系统。

3.安装的软件与系统或其它软件发生冲突,找到发生冲突的软件,卸载它。如果更新下载补丁不是该软件的错误补丁,也会引起软件异常,解决办法:卸载该软件,重新下载重新安装试试。顺便检查开机启动项,把没必要启动的启动项禁止开机启动。

4.如果检查上面的都没问题,可以试试下面的方法。

打开开始菜单→运行→输入cmd→回车,在命令提示符下输入下面命令 for %1 in (%windir%\system32\*.dll) do regsvr32.exe /s %1回车。

完成后,在输入下面

for %i in (%windir%\system32\*.ocx) do regsvr32.exe /s %i 回车。

如果怕输入错误,可以复制这两条指令,然后在命令提示符后击鼠标右键,打“粘贴”,回车,耐心等待,直到屏幕滚动停止为止。(重启电脑)。


欢迎分享,转载请注明来源:夏雨云

原文地址:https://www.xiayuyun.com/zonghe/312728.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-29
下一篇2023-04-29

发表评论

登录后才能评论

评论列表(0条)

    保存