wordpress的webserver从apache切换到nginx

就个人经验来说,从apache切换到nginx上不是很难,关键是你需要分析好现有apache配置的内容,剩下的就是在nginx中对应配置就行。以本人的apache配置为例:

  1. 关闭服务器版本显示
  2. 单独的用户
  3. worker&event
  4. 与PHP的整合
  5. init.d脚本(个人是编译安装的)
  6. gzip
  7. expires(图片等过期时间设置)
  8. 虚拟主机
  9. wordpress的permlink
  10. 二级域名的重定向(错误的配置)

最后一个是我对apache虚拟主机配置不完全理解导致的一个失误,nginx上当然不会把错误照搬过来,但是nginx上需要做以前的链接兼容(这么快就有历史包袱了……)。

Read More

iptables调整以及解决wordpress的dashboard打开异常慢的问题

最近把网站的服务器从apache切换到nginx,切换的一个目的是解决dashboard开启非常慢的问题。但是等我切换完之后点dashboard仍旧很慢,我的第一反应是dashboard打开异常慢的原因并不在应用服务器。联系到我之前在服务器上aptitude install less没成功,我突然明白dashboard打开慢和aptitude install失败的原因有可能是同一个,就是iptables禁止了访问外部的HTTP/HTTPS/DNS请求。

为了验证这个问题,我把iptables中的规则通过iptables -F清理掉并用iptables -L -n -v确认之后再打开dashboard,发现打开比以前快多了。知道问题所在之后,接下来就是修正iptables的规则,因为考虑到安全,服务器还是需要iptables的。

就个人经验,通过ssh修改iptables因为有可能把自己ban掉所以用非ssh比如vnc或者在物理机边上修改更好,如果实在没条件的话,可以考虑《Linux Firewall 3rd》中提到的一种方法:服务器运行定时清除iptables的任务。个人采用的就是定时任务的方法,因为最近VPS的VNC没法用。

Read More

网站内容定时备份

不消说,网站内容定期备份是很有必要的,以下就讲下上周末我学到的网站内容备份的东西。

首先,考虑到wordpress导出的内容可能缺少网站配置等东西,我选择备份的是数据库中的内容,另一方面是可以通过shell+cron的方式定时备份。
备份的主要原理是通过mysqldump导出数据库内容,做成压缩包。考虑到要定期备份,所以套一个cron,每天执行。最后,考虑一个星期把网站的最新内容scp到家里的机器,每月开始删除上个月的备份。

shell脚本如下:

Read More