Apache 和 Nginx 都是当前很流行的 http 服务器,看上去功能一样,实际上区别不小。很大一点不同就是 Apache 是一个连接对应一个进程,Nginx 是异步处理请求,多个连接使用一个进程,可以支持万条并发请求。

Nginx 比较轻量,占用的资源少,可同时处理的请求多,Apache 拥有的模块多,即开即用,省事儿,但是意味着进阶的配置相对复杂。对于我的小网站来说 Nginx 足够了,加上公司的服务用的是 Nginx,比较熟悉,因此决定把服务器迁移成 Nginx。

总所周知,Wordpress 是 php heavy 的,但是 Nginx 不像 Apache 一样,打开 php 模块就能解释 php 脚本,要通过 cgi 协议和 php 解释器通信的迂回战术满足需求,因此需要在 Nginx 的中添加实现该协议的程序的配置。

php-fpm(php fastcgi process manger)就是这样一种程序,用于 web server 和 php 解释器通信,并高效管理通信进程。

相关的配置,可以参考 Nginx 官网的例子。而且只需要配置 80 端口,对 https 的支持通过 Cerbot 命令行工具自动配置就好了。不知道如何免费自动配置 https 的同学,可以参考我的这篇文章

使用官方推荐的配置其实已经可以让 Nginx 和 Wordpress 很好的一起工作了,对于剩下的一些自定义的特殊配置等有需求的时候再补充。