ubuntu 網站異常類

502 Bad Gateway
 a)服務器的併發鏈接和進程數是否有異常。 
 b)iis或者php-cgi,php-fpm進程是否配置有問題,參數設置是否須要優化。 
 c)檢查網站程序和數據庫,是否存在數據庫慢查詢等問題。 
 d)建議檢查web服務器和數據庫服務器日誌檢查是否有異常狀況。 
 e)查看服務器性能和帶寬利用狀況 。
 
 

在此環境下,通常php-cgi運行是很是穩定的,但也可能會遇到php-cgi佔用太多cpu資源而致使服務器響應過慢,通常php-cgi進程佔用cpu資源過多的緣由有:php

一、 一些php的擴展與php版本兼容存在問題:實踐證實 eAccelerater與某些php版本兼容存在問題,具體表現是啓動php-cgi進程後,運行10多分鐘,奇慢無比,但靜態資源訪問很快,服務器負 載也很正常(說明nginx沒有問題,而是php-cgi進程的問題),解決辦法就是從php.ini中禁止掉eAccelerater模塊,再重啓 php-cgi進程便可。mysql

二、程序中可能存在死循環,致使服務器負載超高(使用top指令查看負載高達100+), 須要藉助Linux的proc虛擬文件系統找到具體的問題程序。nginx

三、php程序不合理使用session , 這個發生在開源微博記事狗程序上,具體表現是有少許php-cgi進程(不超過10個)的cpu使用率達98%以上, 服務器負載在4-8之間,這個問題的解決,仍然須要藉助Linux的proc文件系統找出緣由。web

四、程序中存在過分耗時且不可能完成的操做(仍是程序的問題)。sql

 

現象:安裝好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訪問日誌進行分析:session

一、站點遭到攻擊,在超過限制時報503錯誤,待攻擊中止就能夠恢復了;併發

二、站點規模較大,併發請求過多,這種建議修改優化程序或須要升級更高類型主機;php-fpm

三、程序有錯誤,在短期內產生屢次工做進程崩潰,會因IIS7的快速故障防禦功能而關閉程序池;

四、站點提供下載,當帶寬超過限制時會報錯,需中止下載功能,或者升級主機解決。

 

 

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

相關文章
相關標籤/搜索