如果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服务即可。
如果是流量非常大的网站,重启时正好有数据流量产生,会有影响。还有就是重启时间需要避开搜索引擎蜘蛛访问你网站的时间。
常常重启,对服务器和数据没什么影响的吧?