如果Linux服務器的內存不夠大,在運行一段時間後在網絡高峰期可能會出現Apache和MySQL/MariaDB等服務停止的現象,嚴重影響網站形象和流量。除了增加服務器物理內存和添加swap交換分區,還可以嘗試通過設置在網絡閑時(如深夜)定時自動重啟Linux服務器來看看是否可以解決這個問題。
Linux服務器可以通過crontab來實現定時重啟。一般情況下,Linux服務器系統已經安裝並默認運行crontab。如果沒有,請先安裝並運行crontab服務。
定時重啟Linux服務器
具體設置方法如下:
以root權限登錄,編輯crontab配置文件(/etc/crontab),輸入:
30 3 * * * root /sbin/reboot
注釋:30代表分,3代表時,之後的三個*號分別代表日、月、周,root是用戶名,最後的/sbin/reboot是重啟系統命令(注意使用絕對路徑)。不同字段間用空格或Tab鍵分隔。
保存配置文件並退出。
輸入:
/sbin/service crond restart
重新啟動crontab服務即可。
定時重啟Apache
具體設置方法如下:
以root權限登錄,編輯crontab配置文件(/etc/crontab),輸入:
30 3 * * * service httpd restart
注釋:30代表分,3代表時,之後的三個*號分別代表日、月、周,service httpd restart是重啟Apache命令。不同字段間用空格或Tab鍵分隔。
保存配置文件並退出。
輸入:
/sbin/service crond restart
重新啟動crontab服務即可。
定時重啟MySQL
具體設置方法如下:
以root權限登錄,編輯crontab配置文件(/etc/crontab),輸入:
30 3 * * * service mysqld restart
注釋:30代表分,3代表時,之後的三個*號分別代表日、月、周,service mysqld restart是重啟MySQL命令。不同字段間用空格或Tab鍵分隔。
保存配置文件並退出。
輸入:
/sbin/service crond restart
重新啟動crontab服務即可。
定時重啟MariaDB
具體設置方法如下:
以root權限登錄,編輯crontab配置文件(/etc/crontab),輸入:
30 3 * * * systemctl restart mariadb.service
注釋:30代表分,3代表時,之後的三個*號分別代表日、月、周,systemctl restart mariadb.service是重啟MariaDB命令。不同字段間用空格或Tab鍵分隔。
保存配置文件並退出。
輸入:
/sbin/service crond restart
重新啟動crontab服務即可。
如果是流量非常大的網站,重啟時正好有數據流量產生,會有影響。還有就是重啟時間需要避開搜索引擎蜘蛛訪問你網站的時間。
常常重啟,對服務器和數據沒什麼影響的吧?