Products
GG网络技术分享 2025-03-18 16:07 6
简介
提到开源博客系统,一般都会直接想到WordPress!
WordPress是使用PHP开发的,数据库使用的是MySQL,一般会在Linux上运行,Nginx作为前端。
这时候就需要有一套LNMP(Linux + Nginx+MySQL + PHP)的环境支持。
Linux操作系统使用Linux,可以比较稳定的运行。
Linux有很多发行版本,在服务器上,有些人喜欢Debian/Ubuntu,有些人喜欢CentOS/RHEL,还有其他很多发行版本可以选择。
在国内,使用比较多的Linux发行版本是CentOS,资料也比较多。
目前CentOS7是主流的版本,CentOS6快要不更新了。
nginx是一个高性能的HTTP和反向代理web服务器,是目前最流行的Web服务应用,相比apache httpd拥有更好的性能,因此现在基本不考虑使用apache httpd最为web服务了。
nginx目前官方的比较新、比较稳定版本是1.16。
目前MySQL8已经出来了,但是还不是很稳定,有些应用驱动也没有跟上,因此可以考虑使用MySQL5.7或者MySQL5.6,这两个版本是现在应用比较多了,出了问题,找资料也比较方便。
目前最新版本的WordPress要求PHP的版本是7.4或更高版本。
PHP7性能有了很大的提升。如果是之前使用旧版本的,可以根据兼容性情况,升级到7的版本。
Nginx转发给PHP处理,一般是使用FastCGI模式。PHP就需要启动对应的php-fpm服务来监听处理请求。
如果nginx和php-fpm在同一台机器上,就可以通过socket文件直接进行通讯;如果在不同的机器上就需要通过网络端口进行通讯。
工作流程了解整个的工作流程可以让我们更好地维护这个系统。博客系统,没有那么多的复杂的业务,可以让我们快速上手这一整套的环境。
简化流程:
用户(浏览器) => Nginx(on Linux)=> PHP(php-fpm) => MySQL
因此我们对用户开放的端口就只有Nginx监听的端口即可。其他端口不需要对外公开,只要对应的组件能连接到对应的服务端口即可。
例如:如果服务组件不在同一台服务器上,MySQL服务器上的MySQL数据库服务端口,只要PHP服务可以连接到即可,不需要对Nginx或者用户开放端口;同样PHP(php-fpm)只要对nginx开放即可,不用对MySQL或者用户开放。
总结在做安全加固的时候,理解好这个工作流程非常重要,防止误拦截或者漏防护(毕竟MySQL端口、php-fpm端口对公网开放,风险很高)。
Demand feedback