WordPress是利用PHP开拓的,数据库利用的是MySQL,一样平常会在Linux上运行,Nginx作为前端。
这时候就须要有一套LNMP(Linux + Nginx+MySQL + PHP)的环境支持。
操作系统利用Linux,可以比较稳定的运行。

Linux有很多发行版本,在做事器上,有些人喜好Debian/Ubuntu,有些人喜好CentOS/RHEL,还有其他很多发行版本可以选择。
在海内,利用比较多的Linux发行版本是CentOS,资料也比较多。
目前CentOS7是主流的版本,CentOS6快要不更新了。
Nginxnginx是一个高性能的HTTP和反向代理web做事器,是目前最盛行的Web做事运用,比较apache httpd拥有更好的性能,因此现在基本不考虑利用apache httpd最为web做事了。
nginx目前官方的比较新、比较稳定版本是1.16。
MySQL目前MySQL8已经出来了,但是还不是很稳定,有些运用驱动也没有跟上,因此可以考虑利用MySQL5.7或者MySQL5.6,这两个版本是现在运用比较多了,出了问题,找资料也比较方便。
PHP目前最新版本的WordPress哀求PHP的版本是7.4或更高版本。
PHP7性能有了很大的提升。如果是之前利用旧版本的,可以根据兼容脾气况,升级到7的版本。
Nginx转发给PHP处理,一样平常是利用FastCGI模式。PHP就须要启动对应的php-fpm做事来监听处理要求。
如果nginx和php-fpm在同一台机器上,就可以通过socket文件直接进行通讯;如果在不同的机器上就须要通过网络端口进行通讯。
事情流程理解全体的事情流程可以让我们更好地掩护这个别系。博客系统,没有那么多的繁芜的业务,可以让我们快速上手这一整套的环境。
流程用户通过浏览器访问我们的博客,例如:http://opcai.top博客系统首先接管到要求的便是我们的Nginx;Nginx通过访问的URL判断,下一步操作;如果是静态资源,直接访问目录取到文件,直接返回给浏览器;如果是须要处理的动态资源,比如访问一个PHP页面,须要PHP组件来完成解析后,就将要求转发到后真个PHP做事进行解析;PHP接管到nginx转发过来的要求,就处理对应的PHP文件;如果碰着须要操作数据库数据,这时候PHP就须要连接到MySQL进行操作,PHP返回给Nginx,再返回给浏览器进行展示。
简化流程:
用户(浏览器) => Nginx(on Linux)=> PHP(php-fpm) => MySQL
因此我们对用户开放的端口就只有Nginx监听的端口即可。其他端口不须要对外公开,只要对应的组件能连接到对应的做事端口即可。
例如:如果做事组件不在同一台做事器上,MySQL做事器上的MySQL数据库做事端口,只要PHP做事可以连接到即可,不须要对Nginx或者用户开放端口;同样PHP(php-fpm)只要对nginx开放即可,不用对MySQL或者用户开放。
总结在做安全加固的时候,理解好这个事情流程非常主要,防止误拦截或者漏防护(毕竟MySQL端口、php-fpm端口对公网开放,风险很高)。