当基于 Linux 的 Web 服务器上的负载变高时该怎么办?
1)我们必须了解 uptime 命令。如果您的网站加载缓慢,请登录您的 Web 服务器控制台并运行正常运行时间以了解服务器上的负载。
>> uptime
如果正常运行时间显示像 100 或高于 100 这样的高数字,您必须立即执行某些操作,否则负载可能会继续增加并且服务器会停机。
3)运行以下命令以超级用户身份登录。
>> sudo su
4) 进入 www 目录
>> cd /var/www/html
5)如果负载太高(服务器快要死了),禁用索引。 PHP (这将使您的页面暂时无法访问,但会减少负载,因为不会有新的请求。
>> chmod 000 index.php
6)检查导致IP的顶部负载。很多时候,人们运行脚本来下载内容或获得恶意访问。下面的命令(在 Centos 上)告诉你前 1000 个访问 IP。
>> tail -1000 /var/log/httpd/access_log | awk ‘{print $1}’ | sort | uniq -c |sort -n
Ubuntu 的类似命令是
>> tail -1000 /var/log/apache2/access.log | awk ‘{print $1}’ | sort | uniq -c |sort -n
7) 创建 .htaccess 文件的备份
>> cp .htaccess back.htaccess
8) 如果您发现某些特定 IP 访问您的服务器,则在 .htaccess 中阻止 IP 地址
>> vim .htaccess
9) 监控服务器负载
>> watch -n 2 uptime
10) 如果您没有发现任何导致问题的 IP,您可能需要检查磁盘空间和可用内存。
检查可用磁盘空间
>> df -h
检查空闲内存
>> free -m
11)如果上述步骤都没有帮助,那么您的服务器代码可能有问题。最后但同样重要的是,检查服务器上运行的进程并尝试调试它。
>> ps aux
请确保您没有在每个页面加载请求上运行繁重的代码(插件)。做大量缓存以避免页面请求上频繁的数据库或网络连接。
如果没有任何帮助,那么您的页面可能已经流行,您需要升级您的托管计划。