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


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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

达梦DM数据库insert into语句成功执行但查看时没有数据

在达梦DM数据库insert into语句成功执行后,查看数据时发现该数据没有新增成功。是因为没有提交事物,需要点击✔按钮提交事物。

服务器虚拟化的好处有哪些

1.什么是服务器虚拟化? 在计算服务中,有7种虚拟化包括硬件虚拟化(即服务器虚拟化)、软件虚拟化、内存虚拟化、存储虚拟化、数据虚拟化、网络虚拟化和桌面虚拟化。 其中,服务器虚拟化的初衷是让Windows和Linux操作系统…

沈阳化工大学第十一届程序设计沈阳区竞赛:凿冰 Action(博弈论,思维)

链接:登录—专业IT笔试面试备考平台_牛客网 来源:牛客网 题目描述 北极探险队有新收获了!!! 北极探险队发现了NNN条长度不一的冰柱,由于冰柱里封存有价值的生物,现在需要两名生物学家小A和小…

JAVA就业笔记4——第二阶段(1)

课程须知 A类知识:工作和面试常用,代码必须要手敲,需要掌握。 B类知识:面试会问道,工作不常用,代码不需要手敲,理解能正确表达即可。 C类知识:工作和面试不常用,代码不…

力扣第1题:两数之和(图解版)

Golang版本 func twoSum(nums []int, target int) []int {m : make(map[int]int)for i : range nums {if _, ok : m[target - nums[i]]; ok {return []int{i, m[target - nums[i]]}} m[nums[i]] i}return nil }

Apache Doris介绍

Apache Doris 的发展 Apache Doris 是一款基于 MPP 架构的高性能、实时的分析型数据库,以高效、简单、统一的特点被人们所熟知,仅需亚秒级响应时间即可返回海量数据下的查询结果,不仅可以支持高并发的点查询场景,也能支持高吞吐的…

【Docker系列】Docker查看镜像架构

💝💝💝欢迎来到我的博客,很高兴能够在这里和您见面!希望您在这里可以感受到一份轻松愉快的氛围,不仅可以获得有趣的内容和知识,也可以畅所欲言、分享您的想法和见解。 推荐:kwan 的首页,持续学…

MeterSphere接口自动化平台调试

1。后置脚本节目 //导入json包 import org.json.*; import com.decode.DecodeMain; String responseprev.getResponseDataAsString(); String result DecodeMain.DecodeUtil(response); log.info(“获取批次账单id result:”result); //转换为Object对象类型 JSONObject data_…

Spring Boot在医疗信息交互系统中的应用

第1章绪论 计算机已经从科研院所,大中型企业,走进了平常百姓家,Internet遍及世界各地,在网上能够用计算机进行文字草拟、修改、打印清样、文件登陆、检索、综合统计、分类、数据库管理等,用科学的方法将无序的信息进行…

“云计算+高职”:VR虚拟仿真实训室的发展前景

随着科技的飞速进步,云计算与虚拟现实(VR)技术的结合正在深刻改变着教育领域,尤其是在高等职业教育中,这一融合为实训教学带来了革命性的变革。VR虚拟仿真实训室作为这一变革的前沿阵地,正展现出广阔的发展…

Linux下如何将代码提交至Gitee

首先在gitee中创建自己的仓库. 下面是已经创建好的仓库 然后复制仓库的链接(点击上图克隆/下载) 接下来打开linux, 1.在命令行输入git clone 链接 2. 输入ll,即可看到linux-course项目仓库 3.cd linux-courses(进入项目仓库) 4.在仓库中可以随意增加文件 例如增加test.c文件…

vue使用js-xlsx导入本地excle表格数据,回显在页面上

效果图 解释放在代码的注释中 页面代码&#xff0c;导入本地文件我用的是element的上传工具 // 我是根据js文件直接引入的 <script src"/js/xlsx.full.min.js"></script>// 导入excelreadWorkbookFromLocalFile(fileData) {// 文件信息const file f…

【优选算法】——双指针(上篇)!

&#x1f308;个人主页&#xff1a;秋风起&#xff0c;再归来~&#x1f525;系列专栏&#xff1a;C刷题算法总结&#x1f516;克心守己&#xff0c;律己则安 目录 前言&#xff1a;双指针 1. 移动零&#xff08;easy&#xff09; 2. 复写零&#xff08;easy&#xff09; 3…

解决ImageIO无法读取部分JPEG格式图片问题

解决ImageIO无法读取部分JPEG格式图片问题 问题描述 我最近对在线聊天功能进行了一些内存优化&#xff0c;结果在回归测试时&#xff0c;突然发现有张图片总是发送失败。测试同事把问题转到我这儿来看&#xff0c;我仔细检查了一下&#xff0c;发现是上传文件的接口报错&#…

软件测试学习笔记丨Linux三剑客-grep

本文转自测试人社区&#xff0c;原文链接&#xff1a;https://ceshiren.com/t/topic/32506 一、简介 1.1 grep命令 grep是一个全局查找正则表达式&#xff0c;并且打印结果行的命令。grep的输入是一个文件或者一个标准输入&#xff08;stdin&#xff09;&#xff0c;或者是一…

用JAVA写人工智能应用_JAVA_AI

目录 ​编辑 Java AI 介绍&#xff1a;Spring AI - Java领域的AI开发新利器 Spring AI 扩展&#xff1a;Spring AI Alibaba&#xff0c;简化Java应用AI集成 SpringBoot集成阿里云AI服务&#xff1a;构建对话应用指南 基于SpringBoot集成Spring AI Alibaba 1. 环境准备 2…

JavaScript将array数据下载到Excel中

具体代码如下&#xff1a; <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><meta http-equiv"X-UA-Compatible" content"IEedge"><meta name"viewport" content"widt…

【Windows命令】Windows下启动Nginx后,在任务管理器里面没有发现nginx.exe进程

如题&#xff0c;当在本地Windows环境下想用反向代理时&#xff0c;突然发现在任务管理器里面没有发现nginx.exe进程&#xff0c;但是端口又是占用的。这时就要用Windows命令了。 查询端口占用 netstat -ano | findstr :80 根据进程ID&#xff08;pid&#xff09;查询进程名称…

Java_EE(反射技术)

反射机制介绍: 什么是反射Java反射机制是Java语言一个很重要的特性&#xff0c;它使得Java具有了“动态性”。在Java程序运行时&#xff0c;对于任意的一个类&#xff0c;我们能不能知道这个类有哪些属性和方法呢&#xff1f;对于任意的一个对象&#xff0c;我们又能不能调用它…

IOS APP初体验-第2课:给Iphone App设置个ICON

目录 第一步、图片尺寸 第二步、找到项目内Assets节点&#xff0c;把自己的图片复制进来 第三步、图片设置 第四步、启动项目真机调试 第一步、图片尺寸 设置一张图片&#xff0c;要求图片格式JPG&#xff0c;图片尺寸1024px*1024px。 第二步、找到项目内Assets节点&#…