首页 > Web开发 > 详细

ubuntu 网站异常类

时间:2015-02-08 16:40:53      阅读:357      评论:0      收藏:0      [点我收藏+]
502 Bad Gateway
 a)服务器的并发连接和进程数是否有异常。 
 b)iis或者php-cgi,php-fpm进程是否配置有问题,参数设置是否需要优化。 
 c)检查网站程序和数据库,是否存在数据库慢查询等问题。 
 d)建议检查web服务器和数据库服务器日志检查是否有异常情况。 
 e)查看服务器性能和带宽利用情况 。
 
 

在此环境下,一般php-cgi运行是非常稳定的,但也可能会遇到php-cgi占用太多cpu资源而导致服务器响应过慢,一般php-cgi进程占用cpu资源过多的原因有:

1、 一些php的扩展与php版本兼容存在问题:实践证明 eAccelerater与某些php版本兼容存在问题,具体表现是启动php-cgi进程后,运行10多分钟,奇慢无比,但静态资源访问很快,服务器负 载也很正常(说明nginx没有问题,而是php-cgi进程的问题),解决办法就是从php.ini中禁止掉eAccelerater模块,再重启 php-cgi进程即可。

2、程序中可能存在死循环,导致服务器负载超高(使用top指令查看负载高达100+), 需要借助Linux的proc虚拟文件系统找到具体的问题程序。

3、php程序不合理使用session , 这个发生在开源微博记事狗程序上,具体表现是有少量php-cgi进程(不超过10个)的cpu使用率达98%以上, 服务器负载在4-8之间,这个问题的解决,仍然需要借助Linux的proc文件系统找出原因。

4、程序中存在过度耗时且不可能完成的操作(还是程序的问题)。

 

现象:安装好mysql后,发现phpmyadmin不能登录mysql,返回1130错误,但是在mysql命令行登录mysql -u root -p可以

 

 

 

分析过程及解决方案:

 

mysql的1130错误是远程连接的用户无远程权限问题导致。解决方案:在本机登入mysql后,更改 “mysql” 数据库里的 “user” 表里的 “host” 项,从”localhost”改称‘%‘。

 

mysql -u root -p

 

mysql>use mysql;

 

mysql>select ‘host‘ from user where user=‘root‘;

 

mysql>update user set host = ‘%‘ where user =‘root‘;

 

mysql>flush privileges;

 

mysql>select ‘host‘   from user where user=‘root‘;

 

 

 

第一句是以权限用户root登录

 

第二句:选择mysql库

 

第三句:查看mysql库中的user表的host值(即可进行连接访问的主机/IP名称)

 

第四句:修改host值(以通配符%的内容增加主机/IP地址),当然也可以直接增加IP地址

 

第五句:刷新MySQL的系统权限相关表

 

第六句:再重新查看user表时,有修改。。

 

最后重起mysql服务即可完成。

 

 
 
 

现HTTP Error 503. The service is unavailable错误的原因一般有以下几种,具体的原因需要通过weblog访问日志进行分析:

1、站点遭到攻击,在超过限制时报503错误,待攻击停止就可以恢复了;

2、站点规模较大,并发请求过多,这种建议修改优化程序或需要升级更高类型主机;

3、程序有错误,在短时间内产生多次工作进程崩溃,会因IIS7的快速故障防护功能而关闭程序池;

4、站点提供下载,当带宽超过限制时会报错,需停止下载功能,或者升级主机解决。

 

 

iptables的conntrack表满了导致访问网站很慢

http://help.aliyun.com/knowledge_detail.htm?spm=5176.788314866.3.6.kRWWyN&knowledgeId=5974872&categoryId=8314866

 

mysql的binlog太大太多占用大量磁盘

 

分 析过程及解决方案:通常出现这种问题都应该登录服务器检查磁盘、内存和进程使用的情况,通过top、df –h和free –m来检查,发现磁盘空间满了。再进一步通过du –sh对可以的目录进行检查,发现是mysql的binlog占用空间过大。清理binlog的方法如下:
 
1) 设置日志保留时长expire_logs_days自动删除
查看当前日志保存天数:
show variables like ‘%expire_logs_days%‘;
这个默认是0,也就是logs不过期,可通过设置全局的参数,使他临时生效:
set global expire_logs_days=7;
设置了只保留7天BINLOG, 下次重启mysql这个参数默认会失败,所以需在my.cnf中设置
expire_logs_days = 7
 
2) 手动删除BINLOG (purge binary logs)
用于删除列于在指定的日志或日期之前的日志索引中的所有二进制日志。这些日志也会从记录在日志索引文件
PURGE {MASTER | BINARY} LOGS TO ‘log_name‘
PURGE {MASTER | BINARY} LOGS BEFORE ‘date‘
例如:
PURGE MASTER LOGS TO ‘mysql-bin.010‘;
PURGE MASTER LOGS BEFORE ‘2008-06-22 13:00:00‘;
PURGE MASTER LOGS BEFORE DATE_SUB( NOW( ), INTERVAL 3 DAY);

Mysql,phpmyadmin密码忘了怎么办

http://help.aliyun.com/knowledge_detail.htm?spm=5176.788314866.3.8.kRWWyN&knowledgeId=5973952&categoryId=8314866

 

影响网站打开速度的因素有哪些

 

http://help.aliyun.com/knowledge_detail.htm?spm=5176.788314866.3.9.kRWWyN&knowledgeId=5973953&categoryId=8314866

 

 

 

 

 

ubuntu 网站异常类

原文:http://www.cnblogs.com/Sven-w/p/4280088.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!