【保住WordPress尝试4】降低Apache资源使用量

配置说明、参考文章:(https://cloud.tencent.com/developer/article/1543269)、(https://blog.csdn.net/u011628250/article/details/54093816

我自己就用:(不过用了之后WP的反应慢了很多。。。)

ServerSignature Off
Timeout 60
KeepAlive On
MaxKeepAliveRequests 50
KeepAliveTimeout 60
MaxRequestsPerChild 50
<IfModule prefork.c>
  StartServers 8
  MinSpareServers 8
  MaxSpareServers 20
  ServerLimit 256
  MaxClients 256
  MaxRequestsPerChild 1000
</IfModule>

作为一个低配服务器的WP新手,我的其他尝试:

【尝试1】:https://pasuxyz.com/archives/106

【尝试2】:https://pasuxyz.com/archives/108

【尝试3】:https://pasuxyz.com/archives/119

【尝试4】:https://pasuxyz.com/archives/121

【保住WordPress尝试3】定时启动DB,假装DB没被打挂

经过调整DB的内存分配、Apache的资源降低,WordPress坚持运行了一周,但DB还是内打挂了。。。

攻击的人真无聊。。。

那,我就每分钟启动一次DB,哼哼

crontab -e
# 添加下面一条命令:每分钟启动一次DB
* * * * * systemctl start mariadb

看看能撑多久。。。

作为一个低配服务器的WP新手,我的其他尝试:

【尝试1】:https://pasuxyz.com/archives/106

【尝试2】:https://pasuxyz.com/archives/108

【尝试3】:https://pasuxyz.com/archives/119

【尝试4】:https://pasuxyz.com/archives/121

【保住WordPress尝试2】降低MariaDB的缓冲池

WordPress还是被攻击到DB down,查日志发现是内存不足,崩了,于是想通过降低缓冲池大小来保住DB(因为VPS的配置比较低)。

在my.cnf里设定:

[mysqld]
innodb_buffer_pool_size        = 64M

用了几天,好像行,这几天DB没崩,WordPress能正常运行。

作为一个低配服务器的WP新手,我的其他尝试:

【尝试1】:https://pasuxyz.com/archives/106

【尝试2】:https://pasuxyz.com/archives/108

【尝试3】:https://pasuxyz.com/archives/119

【尝试4】:https://pasuxyz.com/archives/121

【保住WordPress尝试1】限制网站连接数

这破WordPress每天都遭到攻击。。。 真无聊。。。

由于服务器配置低,受不了折腾,几乎每天数据库都会被攻击到挂掉。。。 于是就想通过限制网站连接数来进行保护。

WordPress里没有插件能限制连接数,只能搞http的了,参考外网的指引。

1:安装Apache模块:mod_limitipconn

2:在 conf/httpd.conf 里添加:

2.1:(我在“Include conf.modules.d/*.conf”后面加)

ExtendedStatus On
LoadModule limitipconn_module modules/mod_limitipconn.so

2.2:(在差不多最后前加)

<IfModule mod_limitipconn>
    # 全局的整个网站每个IP限制连接数为10
    MaxConnPerIP 10
    <Location /somewhere>
       # 网站相对路径下的访问限速 http://your.server/somewhere
       MaxConnPerIP 10
       # 如果您的web页面有很多内联图像,
       # 那么可以从连接限制中豁免图像通常是一个好想法,
       # 因为这些页面经常会产生一系列并发图像请求。
       NoIPLimit image/*
    </Location>

    <Directory /home/*/public_html>
       # Linux内绝对路径的访问限速 /home/*/public_html
       MaxConnPerIP 10
       # 在这种情况下,除了音频/mpeg 和视频之外的所有 MIME 类型都免于限制检查。
       OnlyIPLimit audio/mpeg video
    </Directory>
</IfModule>

测试了,确实能限制我自己。。。

看看后续的情况。

作为一个低配服务器的WP新手,我的其他尝试:

【尝试1】:https://pasuxyz.com/archives/106

【尝试2】:https://pasuxyz.com/archives/108

【尝试3】:https://pasuxyz.com/archives/119

【尝试4】:https://pasuxyz.com/archives/121

WordPress设置了“固定链接”后文章变为“404 not found”

如题,WordPress设置了“固定链接”(Permalinks)后,网站文章Article全部“404 not found”。

【尝试1】:换个固定链接的样式,还是不行。

【尝试2】:WP根目录新增“.htaccess”,内容为:

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>

还是不行。

【尝试3】:搜索过不同的文章,确认上述.htaccess代码没错,问题应该是出在我的Apache对这个.htaccess文件不支持/不起作用。找到了解决方法:在Apache配置文件的这个网站路径下修改权限:

<Directory "/var/www/abcd"> #这个是我的网站的根目录
  AllowOverride None #这里改为All,即:AllowOverride All

</Directory>

解决了,可以正常访问固定链接了!