WordPress+Nginx 安装教程

WordPress 是一个开源的网站建设工具,可以用它来"快速"搭建个人博客,官网等等。它本身是用 php 开发的,本身部署不复杂,主要是需要一些配套的东西才能跑起来,网上的一些教程也是写的不清不楚,本文针对非 php 技术栈人员, phper 勿扰。

我们会分 Windows 和 Linux 两个平台来说明部署过程,由于 WordPress 本身是 php 开发的,与平台无关,所以首先我们从官网下载 WorpPress 源码,目前的最新版是 6.6.2。它是一个压缩包,到这里第一步就结束了。

在正式开始之前,还有一点前置知识需要说明。php 是前端用的后端语言,不同于 go 或 elixir,它不是编译成可执行文件运行并提供网络服务,而是类似于静态文件,但也不完全相同。所以运行 php 服务还需要额外的网络服务器作为静态文件服务。当客户端请求 html 文件时,服务器就直接将文件响应给客户端了,而请求 php 文件时,服务器先调用 php 解释器运行 php 文件,然后将结果响应给客户端,当然这里说的调用也不是直接调用,而是通过 cgi 来调用。这里的服务器可以选择 nginx 或者 apache 都可以。下图是两种请求区别的示意图。

关于什么是 cgi,什么是 php-cgi 以及 php 的运行原理,推荐阅读这篇文章:彻底明白php中cgi、fastcgi和php-cgi、php-fpm及php运行原理_什么是php-cgi-CSDN博客。建议先看看,作为预备知识了解下,后面会用得上。

接下来我们来看各个平台上面的具体部署过程。服务器的话,我选择的是 nginx,因为刚好有。

Windows+Nginx

在 nginx 的安装目录下新建一个 www 目录,将之前下载的 wordpress 安装包解压到该目录下。然后进入 www 目录,将 wordpress 目录重命名为 wp.test.com 目录。

注意这些目录并不是一定要按我的来命名,这只是一种习惯,将静态资源放在 www 目录下,将各网站内容放在各自域名的同名目录下。我是在本地测试,所以用了一个假的域名 wp.test.com 。随后我们到 C:\Windows\System32\drivers\etc 目录下找到 hosts 文件,以管理员身份编辑改文件,在最后加上一行内容:

复制代码
192.168.1.xx wp.test.com

前面的 IP 是你自己电脑的IP地址,不通过域名访问的话,后面也可以配置通过端口访问。到这里 WordPress 就算安装好了,后面就是服务器配置和依赖环境安装了。

还是 nginx 的安装目录,找到 conf/nginx.conf 文件,在最后一个 } 前加上一行配置:

复制代码
include ../hosts/*.conf;

我们将自定义的代理配置统一放到 nginx 安装目录下的 hosts 目录下,方便管理。在 nginx 目录下手动创建该目录,然后新建 wp.test.com.conf 文件,输入以下内容:

复制代码
server {
	listen       80;
	server_name  wp.test.com;
	
	location / {
	  root   www/wp.test.com;
	  index  index.php index.html index.htm;
	}
	
	location ~ \.php$ {
		root           www/wp.test.com;
		fastcgi_pass   127.0.0.1:9000;
		fastcgi_index  index.php;
		fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
		include        fastcgi_params;
	}
}

这些依然不是必须的,你可以选择自己的配置习惯,重要的 wp.test.com.conf 文件里的内容。这里我选择监听 80 端口,你可以配置其他端口。两个 location 配置里的 root 都是 WordPress 存放的目录,因为我们放在 nginx 的安装目录下,所以这里使用了相对路径,如果你放在其他地方,使用绝对路径。

第二个 location 里面有一行配置 fastcgi_pass 127.0.0.1:9000; ,这个就是 php-cgi 的监听地址,因为我们到目前为止还没安装过 php,所以先这样配置。

服务器的配置到这里就结束了,接下来我们来安装 php。首先去官网下载 php 安装包,我选择的是 8.2 版本,建议选择 7 以上的版本。

下载完以后直接找个地方解压就行了,然后进入解压目录,将 php.ini-development 文件拷贝一份,重命名为 php.ini

打开 php.ini 文件 搜索 mysqli;extension=mysqli 取消注释,它在 939行。否则的话,后面运行 WordPress 安装时会报错。然后是 768 行的 ;extension_dir = "ext" 也把注释取消,然后保存。

好了,再回到 php 的解压目录,看到有一个叫 php-cgi.exe 的程序,看到这里应该感到无比熟悉了吧,它正是我们用来解析 .php 文件的程序。在该目录下打开 cmd 命令行,输入 .\php-cgi.exe -b 127.0.0.1:9000 运行 php-cgi 程序,它会监听本地的 9000 端口,这正是我们在 nginx 中配置的端口: fastcgi_pass 127.0.0.1:9000; ,nginx 也是用的 fastcgi 来管理 php-cgi 进程。

最后我们还需要一个 MySQL 数据,创建一个叫 wordpress 的库,当然也可以是任意你喜欢的名字。别忘了把 nginx 也运行起来,到这里所有的准备工作就全部结束了。接下来就是著名的5分钟安装 WordPress 流程,说是安装,其实是配置 WordPress。

在浏览器输入 http://wp.test.com/ap-admin/install.php ,如果你没有使用域名,输入 IP+端口访问。第一步是选择语言,拉到最后选择简体中文。

第二步是配置数据库信息,需要输入数据库的库名,用户名和密码。这一步会做两件事:一是在 WordPress 安装目录下生成 wp-config.php 文件,二是建表。网上会有人教你将 wp-config-sample.php 拷贝一份并重命名为 wp-config.php ,然后手动去改配置。千万不要这么做,因为如果 wp-config.php 以存在的话,访问 wp.test.com/ap-admin/install.php 时就会跳过这一步,导致它不会帮你建表,后面的步骤也就出错了。

点击提交进入下一步,配置管理后台的登录用户名和密码,此外还需要你填写标题,也就是管理后台网页的标题,邮箱也是必填的,要不要被搜索引擎检索就看个人需要了,填完之后点击安装WordPress就可以了。

点完安装之后,会跳转到安装成功的页面,点击登录,用这里填的用户名和密码就能登录管理后台了。管理后台都在 wp-admin 路径下,管理后台首页长这个样子:

直接输入域名的话就是我们的网站了。默认的网站是这样的。

大功告成。至于 WordPress 如何使用就请各位慢慢摸索了。

Linux+nginx

Linux 下的安装过程其实和 Windows 基本一致。只是 nginx 的配置稍有不同,准确来说是只有一个地方不同,就是 nginx 代理配置里面的 fastcgi_pass 这个配置不同。

这个配置配置实际上配置的是 nginx 和 php-cgi 之间通信的方式,这是两个进程,在 Windows 上他们通过 ip 和端口进行网络通信。那么在 Linux 上它们通过 .sock 文件进行进程间通信,所以明白了吧,在 Linux 上面我们需要配置的不再是 ip+端口, 而是一个 .sock 文件的路径,当然还要加上一个 unix: 的前缀。这里给出一个示例:

复制代码
server {
	listen       80;
	server_name  wp.test.com;
	
	location / {
	  root   /www/wwwroot/wp.test.com/wordpress;
	  index  index.php index.html index.htm;
	}
	
	location ~ \.php$ {
		root           /www/wwwroot/wp.test.com/wordpress;
		fastcgi_pass   unix:/run/php-fpm/www.sock;
		fastcgi_index  index.php;
		fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
		include        fastcgi_params;
	}
}

是不是和 Windows 上长得挺像的。整个安装步骤其实是一摸一样的。

  • 首先找个地方解压 WordPress 压缩包。
  • 然后配置 nginx 访问代理。
  • MySQL 上建个库,注意如果你同时为它新建了用户的话,一定要给用户加上建表的权限,因为表是 WordPress 自动给你建的。如果是测试或者怕麻烦的话可以 ALL PRIVILEGES 一把梭。
  • 没有 php 环境的话自己装一个 php 环境。
  • 浏览器访问 http://xxxx.xxxx.com/wp-admin/install.php 填写两个表单,齐活。

在 Linux 上面填写完第一个表单之后可能会遇到一个错误,提示说写入 wp-config.php 失败,这是文件权限问题,根据提示到 WordPress 的安装目录下创建这个文件并写入网页上的内容即可。当然更好的做法是将 WordPress 的所有文件拥有者改成和 php 一致,一般是 www


相关推荐
wodrpress资源分享2 天前
推荐12个wordpress企业网站模板
wordpress
Web极客码2 天前
在WordPress上添加隐私政策页面
大数据·人工智能·wordpress
wodrpress资源分享3 天前
wordpress免费主题网站
wordpress
云动雨颤5 天前
Cloudflare子域名设置指南
网络协议·安全·wordpress
wodrpress资源分享5 天前
三大中文wordpress原创主题汉主题
wordpress
八戒社5 天前
如何使用插件和子主题添加WordPress自定义CSS(附:常见错误)
前端·css·tensorflow·wordpress
Web极客码5 天前
WordPress 6.5版本带来的新功能
前端·api·wordpress
wodrpress资源分享6 天前
使用免费wordpress成品网站模板需要注意点什么
wordpress
wodrpress资源分享6 天前
优化WP外贸建站提升用户体验
wordpress
fendouweiqian9 天前
wordpress 关闭乱码
wordpress