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


本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/454542.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【宠物空气净化器选购指南】希喂、米家、IAM、352 、霍尼韦尔测评

前段时间一个朋友给我吐槽说,入了个宠物空气净化器,根本就是智商税。毛吸不进去堵在进风口不说,运行声音跟隔壁在装修似的,一开机猫就躲床底下不出来。总之,已经闲置很长一段时间了。更离谱的是,最近家里隐…

qt QGraphicsGridLayout详解

一、概述 QGraphicsGridLayout是Qt框架中用于在QGraphicsScene中布置图形项的一个布局管理器。它类似于QWidget中的QGridLayout,但主要处理的是QGraphicsItem和QGraphicsWidget等图形项。通过合理设置网格位置、伸缩因子和尺寸,可以实现复杂而灵活的布局…

我国首个自主可控的操作系统——华为原生鸿蒙操作系统正式发布

我国首个自主可控的操作系统——华为原生鸿蒙操作系统正式发布 在科技日新月异的今天,操作系统作为数字世界的基石,其重要性不言而喻。近日,华为公司在深圳隆重举行了原生鸿蒙操作系统发布会,向全球宣告了我国首个自主可控的移动…

追寻数组的轨迹,解开算法的情愫

公主请阅 1. 移除元素1.1 题目说明示例 1示例 2 1.2 题目分析1.3 代码部分1.4 代码分析 2. 删除有序数组中的重复项2.1 题目说明示例 1示例 3 2.2 题目分析2.3 代码部分2.4 代码分析 1. 移除元素 题目传送门 1.1 题目说明 题目描述: 给你一个数组 nums 和一个值 v…

element-时间选择器单独写两个时间选择器并按照规则进行置灰选择,精确到时分秒

项目场景&#xff1a; 要求&#xff1a; 开始时间和结束时间可以分开搜索&#xff0c;所以组件自带的时间范围选择器不适用开始时间和结束时间超过当前时间置灰不可选择开始时间不可选择结束时间之后的时间结束时间不可选择开始时间之前的时间 代码实例 <el-form-item>&…

软件质量管理体系,软件评审资料,资质认证资料,安全建设,数据安全及项目管理全套资料(原件参考)

软件项目质量管理体系是指一套系统化的管理方法、流程、工具和文档&#xff0c;旨在确保软件项目从需求分析、设计、开发、测试到部署和维护的整个生命周期中&#xff0c;都能达到预定的质量标准和客户期望。该体系通过明确的角色和责任、标准化的工作流程、有效的质量控制和持…

搭建微信AI机器人

AI WeWork Robot是一个基于Python的企业微信机器人&#xff0c;能够接入等大型语言模型。 默认配置为Gemini-Pro&#xff0c;它可以帮助企业自动化处理信息&#xff0c;提供智能回复等功能&#xff0c;经过本人一年测试&#xff0c;稳如老狗 特性 ● 自动回复消息 ● 接入多种…

若依框架定制

1. 若依框架修改器 若依框架修改器是一个可以一键修改RuoYi框架包名、项目名等的工具。 1.1 下载地址 https://gitee.com/lpf_project/RuoYi-MT/releases 1.2 项目修改 选择文件&#xff0c;修改后项目目录如右图所示。 2. 新建业务模块 2.1 新建子业务模块 &#xff08…

vue 项目i18n国际化,快速抽离中文,快速翻译

国际化大家都知道vue-i18n 实现的&#xff0c;但是有个问题&#xff0c;就是繁杂的抽离中文字符的过程&#xff0c;以及翻译中文字符的过程&#xff0c;关于这个有些小工具可以希望可以帮到大家 1.安装vue-i18n npm i vue-i18n8.22.22.ElementUI多语言配置 在src目录下创建…

若依框架的下载与配置

1. 若依版本 RuoYi-Vue前后端分离版。 2. 框架下载 2.1 后端框架下载 https://gitee.com/y_project/RuoYi-Vue 2.2 前端框架下载 https://github.com/yangzongzhuan/RuoYi-Vue3 3. 数据库配置 3.1 创建数据库 基于MySQL数据库&#xff0c;创建数据库&#xff1a;ry-vu…

SpringBoot物流管理系统设计与实现

2相关技术 2.1 MYSQL数据库 MySQL是一个真正的多用户、多线程SQL数据库服务器。 是基于SQL的客户/服务器模式的关系数据库管理系统&#xff0c;它的有点有有功能强大、使用简单、管理方便、安全可靠性高、运行速度快、多线程、跨平台性、完全网络化、稳定性等&#xff0c;非常…

1971. 寻找图中是否存在路径

有一个具有 n 个顶点的 双向 图&#xff0c;其中每个顶点标记从 0 到 n - 1&#xff08;包含 0 和 n - 1&#xff09;。图中的边用一个二维整数数组 edges 表示&#xff0c;其中 edges[i] [ui, vi] 表示顶点 ui 和顶点 vi 之间的双向边。 每个顶点对由 最多一条 边连接&#x…

【贪心算法】刷刷刷刷刷刷题(上)

供自己复习&#xff0c;一篇10题左右 1.分发饼干2.分发糖果3.跳跃游戏I4.跳跃游戏II5.合并区间6.无重叠区间7.划分字母区间8.加油站 1.分发饼干 假设你是一位很棒的家长&#xff0c;想要给你的孩子们一些小饼干。但是&#xff0c;每个孩子最多只能给一块饼干。 对每个孩子 i&…

SERDES高速链路PCB设计的信号完整性考虑

链路包括一个发射模块、一个接收模块以及介于两者之间的所有称为“信道”的部分。在网络和电信设备中&#xff0c;信道通常包括线路卡和背板或中板。假设线性接收器处的波形只是发射波形与信道冲激响应的卷积&#xff0c;如果信道频率响应作为频率的函数是均匀的&#xff0c;则…

数据结构修炼——常见的排序算法:插入/希尔/选择/堆排/冒泡/快排/归并/计数

目录 一、常见的排序算法二、常见排序算法的实现2.1 排序算法回顾2.1.1 冒泡排序2.1.2 堆排序 2.2 直接插入排序2.3 希尔排序2.4 选择排序2.5 快速排序2.5.1 快速排序&#xff08;霍尔法&#xff09;2.5.2 快速排序&#xff08;挖坑法&#xff09;2.5.3 快速排序&#xff08;前…

GJB438C-2021《软件需求规格说明》的一处修订

今日偶见GJB438C-2021附录J《软件需求规格说明》的正文格式。 其中3.3.X.d条中的第2&#xff09;和5&#xff09;中使用了术语“数据元素组合体”&#xff1a; 在上一版本GJB438B-2009中的对应文字是&#xff1a; 我觉得把“包”改为“数据元素组合体”是合适的&#xff0c;其…

手机玩使命召唤21:黑色行动6?GameViewer远程玩使命召唤教程

使命召唤21&#xff1a;黑色行动 6这个第一人称射击游戏&#xff0c;将于10月25号上线&#xff01;如果你是使命召唤的老玩家&#xff0c;是不是也在期待这部新作&#xff1f;其实这个游戏不仅可以用电脑玩&#xff0c;还可以用手机玩&#xff0c;使用网易GameViewer远程就能让…

Termius工具在MAC的使用出现的问题:

Termius工具在MAC的使用出现的问题&#xff1a; 在使用SFTP时&#xff0c;出现不了本地的文件的位置 解决方案&#xff1a; 在Apple store下载的使用不了LOCAL SFTP&#xff0c; 需要在网页上进行下载才可以&#xff1a; 官网下载地址&#xff1a;https://termius.com/down…

Redis简介及其在NoSQL应用开发中的优化策略

Redis简介 REDIS数据库为NOSQL的其中一种&#xff0c;又称为REDIS缓存。 80%的系统瓶颈主要出现在数据库一侧 --(海量并发下&#xff0c;网络、磁盘IO开销会导致数据库性能出现瓶颈) --(海量数据下&#xff0c;数据查找可能需要关联上千张表、遍历数千万的数据、花费几分钟) 为…