利用LNMP实现wordpress站点搭建

Posted JohnnyFang

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了利用LNMP实现wordpress站点搭建相关的知识,希望对你有一定的参考价值。

    在第十四周的作业中,笔者演示了如何通过LAMP架构搭建wordpress(链接:https://blog.51cto.com/u_15473594/5173068,此篇主要是将之前的Apache替换为nginx服务。此次实验,笔者准备了三台虚拟机用于实验,其中一台CentOS7作为Nginx+php服务器,并将wordpress站点部署在该服务器上,取名blog-server;一台CentOS8服务器作为mysql数据库服务器,取名db-server;一台作为测试数据库远程登录的客户端,取名client。

  1. db-server服务器

1.1 安装服务

    笔者就在之前的实验中演示了编译安装MySQL和MariaDB,本次实验就直接通过yum安装MySQL。

利用LNMP实现wordpress站点搭建_nginx

1.2 修改配置文件

    按照惯例,我们安装好数据库服务后先修改配置文件,添加server-id和开启l二进制日志。

利用LNMP实现wordpress站点搭建_nginx_02

1.3 创建用户并授权

    数据库服务器的设置主要是创建wordpress站点的对应数据库和远程登录授权账号。笔者这边预期规划是将数据库名称、远程登录名与wordpress保持一致,由于默认安装的是MySQL8.0,故创建账号和授权需分两步进行。

利用LNMP实现wordpress站点搭建_php_03

利用LNMP实现wordpress站点搭建_编译安装_04

1.4 检测环节

    客户端通过指定账号名、密*码和数据库对应的主机ip能完成登录,并能查看到授权的数据库,说明远程授权账号创建成功。

利用LNMP实现wordpress站点搭建_php_05


  1. 部署php服务

2.1 编译安装php7.4.11

2.1.1 安装依赖包

    php7.4版本的编译所需依赖包较多,包括gcc、openssl-devel、libxml2-devel、bzip2-devel、sqlite-devel、libmcrypt-devel和oniguruma-devel这8个,其中libmcrypt-devel和oniguruma-devel是需要靠epel源来进行安装。

利用LNMP实现wordpress站点搭建_nginx_06

    题外话:笔者在使用的是CentOS7版本,系统默认的是epel源已经无法安装部分服务,如各位在使用时想更换epel源,可执行wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo命令生成epel源,再执行yum clean allyum makecache命令清除旧缓存后生成新缓存。

2.1.2 下载并解压php源码包

    笔者在之前的LAMP架构搭建wordpress站点部分使用的是php7.3.10版本,此次实验换成7.4.11版本来进行编译安装(下载选择界面:https://www.php.net/releases/

利用LNMP实现wordpress站点搭建_php_07

利用LNMP实现wordpress站点搭建_编译安装_08

    安装完毕,将源码包解压至指定文件夹。

利用LNMP实现wordpress站点搭建_nginx_09

2.1.3 执行configure脚本

    进入已解压的php目录下,执行configure脚本来生成服务安装路径及各类选项设置等,具体如下图所示。

利用LNMP实现wordpress站点搭建_php_10

2.1.4 编译安装

    执行makemake install命令进行编译安装,编译时可以根据虚拟机的实际情况来调大核数。

利用LNMP实现wordpress站点搭建_nginx_11

利用LNMP实现wordpress站点搭建_php_12

2.2 准备php配置文件

    拷贝解压包目录下的php.ini-production文件至/etc目录,并改名为php.ini作为php服务运行的核心配置文件。

利用LNMP实现wordpress站点搭建_php_13

    进入到/apps/php74/etc目录下,拷贝php-fpm.conf.default文件并改名为php-fpm.conf作为php-fpm进程服务配置文件。

利用LNMP实现wordpress站点搭建_编译安装_14

    拷贝/apps/php74/etc/php-fpm.d目录下的www.conf.default文件并改名为www.conf作为php-fpm进程服务的拓展配置文件,同时对改配置文件进行如下图修改,访问日志文件路径需根据编译安装时指定的路径进行创建,用户名和组可改为任意角色,但要与后面Nginx服务的用户保持统一。

利用LNMP实现wordpress站点搭建_nginx_15

2.3 启动并验证php-fpm服务

    执行/apps/php74/sbin/php-fpm -t命令验证php-fpm服务是否编译安装成功,提示successful即为成功。同时我们可以拷贝解压文件下的/sapi/fpm/php-fpm.service至/usr/lib/systemd/system/目录作为服务启动脚本,重新加载服务后,即可使用传统的systemctl方式来开启或关闭服务。开启服务后,可以看到php服务的9000端口已经打开。

利用LNMP实现wordpress站点搭建_php_16


  1. 部署Nginx服务

3.1 编译安装Nginx1.18

    笔者在上周的作业中演示过如何进行Nginx1.18的编译安装,此次实验更换了虚拟机重新编译,详细过程就不多做描述了。

3.1.1 安装依赖包

    Nginx1.18的编译安装需gcc、pcre-devel、openssl-devel和zlib-devel四个依赖包。

利用LNMP实现wordpress站点搭建_nginx_17

3.1.2 执行configure脚本

    笔者就直接那之前下载的Nginx1.18源码包进行演示,将源码包解压后,进入解压目录执行configure脚本,指定程序安装路径等,需注意的是选项部分指定的服务用户和组要与php服务用户保持统一。

利用LNMP实现wordpress站点搭建_php_18

3.1.3 编译安装

    执行make && make insatll命令进行编译安装。

利用LNMP实现wordpress站点搭建_nginx_19

3.2 准备服务启动脚本

  在/usr/lib/systemd/system/ 目录下创建Nginx服务脚本文件,内容如下图所示,因为编译安装默认的PID文件并不在/apps/nginx/run/目录下,故需创建该目录,同时修改Nginx服务配置文件中的该项设置。

利用LNMP实现wordpress站点搭建_nginx_20

3.3 加载并启动服务

    加载服务后,即可开启Nginx服务,服务开启后可见80端口已经打开。

利用LNMP实现wordpress站点搭建_编译安装_21

利用LNMP实现wordpress站点搭建_编译安装_22

3.4 配置Nginx支持fastcgi

    修改Nginx服务配置文件/apps/nginx/conf/nginx.conf,修改内容主要如下图所示server和location部分,server部分可指定服务端口号和是否绑定域名;location部分可指定数据目录、默认主页、实现php-fpm和实现状态页等。

利用LNMP实现wordpress站点搭建_编译安装_23

    修改完毕执行/apps/nginx/sbin/nginx -t命令检测是否与语法错误,没语法错误即可重新加载服务。不过为了方便使用Nginx服务,建议还是对服务创建一个软链接来进行开启、重新加载等操作。

利用LNMP实现wordpress站点搭建_php_24

3.5 准备php测试页

    根据Nginx配置文件中的设置,数据目录是放在/data/nginx/wordpress目录下,该目录还不存在,因此还需手动创建。同时可以在该目录下创建一个php测试页。

利用LNMP实现wordpress站点搭建_nginx_25

    通过浏览器访问时,能正常显示php版本等信息即为成功。

利用LNMP实现wordpress站点搭建_编译安装_26

利用LNMP实现wordpress站点搭建_php_27

利用LNMP实现wordpress站点搭建_php_28


  1. 部署wordpress

4.1 准备wordpress文件

    wordpress压缩包可在官网进行下载(下载界面:https://cn.wordpress.org/download/,笔者就直接拿之前的WordPress 5.9.2版本测试。解压后将目录下的所有的文件拷贝至数据目录/data/nginx/wordpress目录下,同时要将默认的属组和属主改为www。

利用LNMP实现wordpress站点搭建_php_29

4.2 初始化web界面

    电脑浏览器中输入绑定好的域名(需同时修改电脑端的hosts文件)即可进行web界面初始化,初始化过程如以下流程,需注意第二步的信息填写。

利用LNMP实现wordpress站点搭建_php_30

利用LNMP实现wordpress站点搭建_编译安装_31

利用LNMP实现wordpress站点搭建_编译安装_32

利用LNMP实现wordpress站点搭建_nginx_33

利用LNMP实现wordpress站点搭建_编译安装_34

4.3 登录后台并发表图文

    登录后台管理界面,点击左侧“文章”—“写文章”即可添加新图文,保存后可在网站指定页查看相关图文。

利用LNMP实现wordpress站点搭建_编译安装_35

利用LNMP实现wordpress站点搭建_编译安装_36

利用LNMP实现wordpress站点搭建_nginx_37

利用LNMP实现wordpress站点搭建_php_38


  1. 其他设置

5.1 允许上传大文件

    Nginx默认只能上传1M以下文件,要利用php程序上传大图片,需修改Nginx和php配置文件中的三项配置。第一个是在Nginx配置文件的server部分添加client_max_body_size和指定值,另外两项在/etc/php.ini文件中修改,post_max_size默认为8M,upload_max_filesize默认为2M,这三项值可根据企业实际来进行调整。

利用LNMP实现wordpress站点搭建_php_39

利用LNMP实现wordpress站点搭建_nginx_40

5.2 安全加固

    客户端测试时,默认是会显示Nginx版本和响应头X-Powered-By信息,可分别在Nginx配置文件的server和location部分添加如下内容进行隐藏。

利用LNMP实现wordpress站点搭建_编译安装_41

5.3 配置php开启opcache加速

    开启opcache加速可以提升php的性能,节省加载和解析php服务的开销。这块要在php的/etc/php.ini文件中进行修改,找到“[opcache]”,在下方添加“zend_extension=opcache.so”,同时取消“opcache.enable=1”前面的注释。

利用LNMP实现wordpress站点搭建_编译安装_42

以上是关于利用LNMP实现wordpress站点搭建的主要内容,如果未能解决你的问题,请参考以下文章

centos7.3搭建LNMP并部署wordpress站点

LNMP项目实战-WordPress站点搭建

利用Wordpress 搭建自己的博客

利用Wordpress 搭建自己的博客

采用企业级LNMP环境实现Wordpress中文站点

实践利用宝塔搭建wordpress个人网页