如何在 CentOS 7 上使用 Nginx 安装 WordPress

2023-11-04

WordPress 是全球最受欢迎的开源博客和 CMS 平台,为当今互联网上四分之一的网站提供支持。它基于 PHP 和 MySQL,并包含大量可以通过免费和高级插件和主题进行扩展的功能。 WordPress 是创建在线商店、网站或博客的最简单方法。

本教程介绍如何在 CentOS 7 上安装 WordPress。这是一个相当简单的过程,只需不到十分钟即可完成。

我们将使用LEMP堆栈使用 Nginx 作为 Web 服务器、SSL 证书、最新的 PHP 7.2 和 MySQL/MariaDB 作为数据库服务器。

先决条件#

在继续本教程之前,请确保满足以下先决条件:

  • 有一个指向您的服务器公共IP地址的域名。在本教程中我们将使用example.com.
  • 登录身份为具有 sudo 权限的用户 .
  • Nginx 安装如下这些说明 .
  • 您已为您的域安装了 SSL 证书。您可以通过以下方式生成免费的 Let’s Encrypt SSL 证书这些说明 .

创建 MySQL 数据库#

WordPress 将其数据和配置存储在 MySQL 数据库中。第一步是创建MySQL数据库,MySQL 用户帐户并授予对数据库的访问权限 .

如果您的 Ubuntu 服务器上尚未安装 MySQL 或 MariaDB,您可以按照以下说明之一进行安装:

  • 在 CentOS 7 上安装 MySQL .
  • 在 CentOS 7 上安装 MariaDB .

通过执行以下命令登录 MySQL shell:

mysql -u root -p

在 MySQL shell 中,运行以下 SQL 语句创建数据库 named wordpress,用户名为wordpressuser并向用户授予所有必要的权限:

CREATE DATABASE wordpress CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;GRANT ALL ON wordpress.* TO 'wordpressuser'@'localhost' IDENTIFIED BY 'change-with-strong-password';FLUSH PRIVILEGES;EXIT;

安装 PHP 7.2#

CentOS 7 附带 PHP 版本 5.4。推荐的 WordPress PHP 版本是 PHP 7.2。

To 安装PHP所有必需的 PHP 扩展都运行以下命令:

sudo yum install epel-release yum-utilssudo yum install http://rpms.remirepo.net/enterprise/remi-release-7.rpmsudo yum-config-manager --enable remi-php72sudo yum install php-cli php-fpm php-mysql php-json php-opcache php-mbstring php-xml php-gd php-curl

我们安装了 PHP FPM,因为我们将使用 Nginx 作为 Web 服务器。

默认情况下 PHP FPM 将以用户身份运行apache在端口 9000 上。我们将用户更改为nginx并从 TCP 套接字切换到 Unix 套接字。为此,请打开/etc/php-fpm.d/www.conf文件编辑以黄色突出显示的行:

/etc/php-fpm.d/www.conf
...
user = nginx
...
group = nginx
...
listen = /run/php-fpm/www.sock
...
listen.owner = nginx
listen.group = nginx

确保/var/lib/php使用以下命令拥有正确的目录所有权chown命令 :

sudo chown -R root:nginx /var/lib/php

进行更改后,启用并启动 PHP FPM 服务:

sudo systemctl enable php-fpmsudo systemctl start php-fpm

下载 WordPress#

在下载 WordPress 存档之前,首先创建一个目录,我们将在其中放置 WordPress 文件:

sudo mkdir -p /var/www/html/example.com

下一步是从 WordPress 下载最新版本WordPress 下载页面使用以下内容wget命令 :

cd /tmpwget https://wordpress.org/latest.tar.gz

下载完成后,提取 WordPress 存档 and 移动文件进入域的文档根目录:

tar xf latest.tar.gzsudo mv /tmp/wordpress/* /var/www/html/example.com/

设置正确的权限,以便 Web 服务器可以完全访问站点的文件和目录:

sudo chown -R nginx: /var/www/html/example.com

配置 Nginx#

到目前为止,您的系统上应该已经安装了带有 SSL 证书的 Nginx,如果还没有,请检查本教程的先决条件。

要为我们的 WordPress 实例创建一个新的服务器块,我们将使用Nginx 食谱来自 Nginx 官方网站。

打开你的文本编辑器并创建一个新的nginx 服务器块 :

sudo nano /etc/nginx/conf.d/example.com.conf

添加以下行:

/etc/nginx/conf.d/example.com.conf
# Redirect HTTP -> HTTPS
server {
    listen 80;
    server_name www.example.com example.com;

    include snippets/letsencrypt.conf;
    return 301 https://example.com$request_uri;
}

# Redirect WWW -> NON WWW
server {
    listen 443 ssl http2;
    server_name www.example.com;

    ssl_certificate /etc/letsencrypt/live/example.com/fullchain.pem;
    ssl_certificate_key /etc/letsencrypt/live/example.com/privkey.pem;
    ssl_trusted_certificate /etc/letsencrypt/live/example.com/chain.pem;
    include snippets/ssl.conf;

    return 301 https://example.com$request_uri;
}

server {
    listen 443 ssl http2;
    server_name example.com;

    root /var/www/html/example.com;
    index index.php;

    # SSL parameters
    ssl_certificate /etc/letsencrypt/live/example.com/fullchain.pem;
    ssl_certificate_key /etc/letsencrypt/live/example.com/privkey.pem;
    ssl_trusted_certificate /etc/letsencrypt/live/example.com/chain.pem;
    include snippets/ssl.conf;
    include snippets/letsencrypt.conf;

    # log files
    access_log /var/log/nginx/example.com.access.log;
    error_log /var/log/nginx/example.com.error.log;

    location = /favicon.ico {
        log_not_found off;
        access_log off;
    }

    location = /robots.txt {
        allow all;
        log_not_found off;
        access_log off;
    }

    location / {
        try_files $uri $uri/ /index.php?$args;
    }

    location ~ \.php$ {
        try_files $uri =404;
        fastcgi_pass unix:/run/php-fpm/www.sock;
        fastcgi_index   index.php;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        include fastcgi_params;
    }

    location ~* \.(js|css|png|jpg|jpeg|gif|ico|svg)$ {
        expires max;
        log_not_found off;
    }

}
不要忘记将 example.com 替换为您的 WordPress 域,并设置 SSL 证书文件的正确路径。一切HTTP 请求将被重定向到 HTTPS。此配置中使用的片段是在以下位置创建的本指南 .

在重新启动 Nginx 服务之前测试配置以确保没有语法错误:

sudo nginx -t

如果没有错误,输出应如下所示:

nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful

你可以重启Nginx通过输入:

sudo systemctl restart nginx

完成 WordPress 安装#

现在Wordpress已下载并且服务器配置已完成,您可以通过Web界面完成安装。

打开浏览器,输入您的域名,将出现类似于以下内容的屏幕:

选择您想要使用的语言,然后单击Continue button.

接下来你会看到如下信息页面,点击Let's go! button.

在下一个屏幕上,设置向导将要求您输入数据库连接详细信息。输入您之前创建的 MySQL 用户和数据库详细信息。

单击开始 WordPress 安装Run the Installation button.

在下一步中,您需要输入 WordPress 站点的名称并选择用户名(出于安全目的,请勿使用“admin”)。

安装程序将自动为您生成一个强密码。不要忘记保存该密码。您也可以自行设置密码。

输入您的电子邮件地址并选择是否要阻止搜索引擎对网站建立索引(不推荐)。

Click Install WordPress安装完成后,您将进入一个页面,通知您 WordPress 已安装。

要访问您的 WordPress 登录页面,请单击Log in button.

输入你的用户名与密码。

您将被重定向到 WordPress 管理仪表板。

从这里,您可以通过安装新主题和插件开始自定义 WordPress 安装。

结论#

恭喜,您已经在 CentOS 7 服务器上成功安装了带有 Nginx 的 WordPress。使用 WordPress 的第一步是一个很好的起点,可以详细了解如何创建您自己的新 WordPress 网站。

如果您有疑问,请随时在下面发表评论。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何在 CentOS 7 上使用 Nginx 安装 WordPress 的相关文章

  • 如何在MySQL查询结果中显示序号

    我有一些简单的查询 SELECT foo bar FROM table 我想你现在的结果是什么样的 我想要做的是根据查询结果中出现的数据数量来显示一些序列号 就像AUTO INCREMENT 这并不意味着我想出示身份证 我想要的结果是这样的
  • 将波斯语字符串发送到mysql

    我正在尝试发送Persian字符串到mysql数据库 但它将数据保存为这样的 D8 AC D8 AF DB 8C D8 AF 英文字符串没有问题 var new this val ajax url url new type GET succ
  • 如何从准备好的语句中获取标量结果?

    是否可以将准备好的语句的结果设置为变量 我正在尝试创建以下存储过程 但失败了 第 31 行出现错误 1064 42000 您的 SQL 语法有错误 检查与您的 MySQL 服务器版本相对应的手册 了解在 stmt USING m c a 附
  • Mysql 中的 MD5 和 Salt

    如何 解密 各种电商存储的密码添加 盐 我不是密码专家 所以 在过去 我使用过类似的东西 SELECT FROM mytable WHERE email email AND passwd MD5 pwd MySql MD5 函数只接受一个参
  • PHP 会话未保存在内存缓存中

    使用 Amazon Linux 在 AWS 上运行使用 php 5 4 的应用程序 PHP 版本是 PHP 5 4 28 从AWS存储库安装的memcache lib是php54 pecl memcache 3 0 8 1 11 amzn1
  • MySQL 多索引与多列索引进行搜索

    在我正在编写的软件中 它能够搜索给定的表以获取信息 搜索表单有 5 个字段 当然所有字段都对应于表中的不同列 但所有字段都是可选的 我的问题是关于多列索引是否有效以及为其构建查询的正确方法 如果我有一个跨 5 列的索引 并且我构建了一个查询
  • GROUP_CONCAT 逗号分隔符 - MySQL

    我有一个疑问 我在哪里使用GROUP CONCAT和自定义分隔符 因为我的结果可能包含逗号 这一切都运行良好 但它仍然以逗号分隔 所以我的输出是 Result A Result B Result C 我怎样才能做到这一点 输出是 Resul
  • JS 无法查询 MySQL 数据库。错误:connection.query 不是函数

    尝试查询我的 mySQL 数据库 但我不能 因为我得到了TypeError connection query is not a function错误 有谁知道为什么吗 我不知道为什么会发生这种情况 数据库 js const fs requi
  • mysql utf8_general_ci 区分大小写

    我有一个 mysql 数据库 我使用 utf8 general ci 不区分大小写 在我的表中 我有一些列 例如 ID 和区分大小写的数据 例如 iSZ6fX 或 AscSc2 为了区分大写和小写 最好只在这些列上设置 utf8 bin 如
  • 如何在 Eclipse 中使用 MySql 数据库

    我对编程非常陌生 所以请耐心等待 如果一开始我没有理解的话 请提前道歉 我正在做一个本科编程项目 需要在 Java 程序中创建一些数据库 我正在使用 eclipse galilo 来编写我的程序 我已经下载了一个连接器 J 但还不知道应该如
  • jQuery Ajax 返回 404 错误,但响应正确

    我通过 jQuery AJAX 将一些数据发布到 PHP 脚本 一切都正确执行 但它返回 404 错误 在我的 Firebug 控制台中 PHP 脚本的响应是正确的 我不明白脚本如何响应 它仍然抛出 404 错误 jQuery 错误 回调方
  • 排除任何字段中具有 NULL 值的行结果?

    我有一个像这样的简单选择 SELECT FROM table WHERE fk id 10020 它可以工作 但有一些字段为 NULL 没有模式所以做了 SELECT FROM table WHERE fk id 10020 AND NOT
  • 保存用户的身高和体重

    我应该如何将用户的身高和体重存储在MySQL数据库中 以便我可以使用这些信息来查找特定身高或体重内的用户 另外 我需要能够以英制或公制显示此信息 我的想法是存储以厘米为单位的身高和以公斤为单位的体重信息 我更喜欢公制而不是英制 我什至可以让
  • 为什么在 MAC OSX 上编译简单的 mysql c 应用程序时不断收到未定义的符号?

    我正在使用 MACOS 并尝试编写一个 测试 mysql 应用程序 该应用程序仅测试与本地数据库的连接 include
  • 工厂模式数据库连接

    我正在尝试使用 MySQL 实现数据库连接上的工厂模式 SQL Server 面临奇怪的错误 你调用的对象是空的 在 SQL 命令对象上 internal class SqlServerDB IDatabase private SqlCon
  • 数据太长,导致列错误(包含国家字符)

    我必须移植一些DBS变成独立的MySQL版本 5 0 18运行于Windows 7 64 位我遇到了一个困扰我的问题 如果我尝试将任何国家 Unicode 字符插入varchar我收到错误 ERROR 1406 22001 Data too
  • mysql变量赋值:如何强制赋值顺序?

    由于mysql是一种声明性语言 我找不到强制赋值变量顺序的方法 采取这个查询 SET v1 0 SET v2 0 SELECT v1 v2 FROM MyTable table WHERE v1 v2 is not null AND v2
  • 从 .frm 文件恢复 mysql 数据库

    我每周都会倾倒所有桌子以获得备份 但后来我明白它只是存储表的 frm文件 它不显示表的 MYD 和 MYI 文件 所以我只有我的数据库的 frm 文件 而且我的数据库是innodb 那么我可以用数据库中的数据获取我的数据库吗 是的 这是可能
  • 我应该为 MySQL 使用什么 python 3 库? [关闭]

    Closed 此问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 据我所知 MySQLdb 仍然没有移植到 Python 3 pypy 上似乎有另一个名为 PyMySQL
  • 无效的 PDO 查询不会返回错误

    下面的第二条 SQL 语句在 phpMyAdmin 中返回错误 SET num 2000040 INSERT INTO artikel artikel nr lieferant nr bezeichnung 1 bezeichnung 1

随机推荐

  • 如何在 JavaScript 中发出 HTTP 请求

    XMLHttpRequest and fetch 是 JavaScript 中两个强大的函数 可用于进行 Ajax 调用 XMLHttpRequest XHR 是一项自 Web 早期就存在的遗留技术 它允许您从客户端发出 HTTP 请求 并
  • 在 Bash 中循环访问文件的内容

    Bash Bourne Again SHell 是一种流行的命令行 shell 和脚本语言 因其简单易用而被广泛使用 使用 Bash 可能需要执行的最常见任务之一是循环访问文件的内容 在本文中 我们将探索使用 Bash 脚本循环遍历文件内容
  • 如何在 Fedora 上安装 VLC 媒体播放器

    VLC Media Player 是一款免费开源的多媒体播放器 支持各种音频和视频格式 由于其多功能性 简单性和健壮性 它在 Linux 用户中广泛流行 在本文中 我们将指导您如何在 Fedora Linux 上安装 VLC 媒体播放器 在
  • 如何在 C# 中获取当前日期和时间(C-Sharp)

    在 C 中 您可以使用 DateTime 类获取当前日期和时间 此类提供了一系列方法和属性 使您能够执行各种日期和时间操作 在本文中 我们将向您展示如何在 C 中获取当前日期和时间 获取当前日期和时间 要获取当前日期和时间 您可以使用日期时
  • 如何在 CentOS 8 上安装 Webmin

    Webmin是一个开源控制面板 允许您通过易于使用的 Web 界面管理 Linux 服务器 它允许您管理用户 组 磁盘配额 创建文件和目录以及配置最流行的服务 包括 Web FTP 电子邮件和数据库服务器 本教程介绍如何在 CentOS 8
  • 如何在 Ubuntu 20.04 上安装 Vagrant

    Vagrant是用于构建和管理虚拟机的命令行工具 默认情况下 Vagrant 可以在 VirtualBox Hyper V 和 Docker 之上配置计算机 其他提供商如 Libvirt KVM VMware 和 AWS 可以通过 Vagr
  • 如何在 Linux 上格式化 USB 驱动器和 SD 卡

    在使用 SD 卡或 USB 驱动器之前 需要对其进行格式化和分区 通常 大多数 USB 驱动器和 SD 卡均使用 FAT 文件系统进行预格式化 无需开箱即用 但是 在某些情况下 您可能需要格式化驱动器 在 Linux 中 您可以使用图形工具
  • 如何在 Linux 上创建可启动的 CentOS U 盘

    本教程介绍如何从 Linux 终端创建可启动的 CentOS USB 记忆棒 您可以使用此 USB 记忆棒在任何支持从 USB 启动的计算机上启动并测试或安装 CentOS 先决条件 8GB 或更大的 USB 记忆棒驱动器 运行任何 Lin
  • 如何撤消上次 Git 提交

    有时 在使用 Git 时 您可能想要撤消最新的提交 提交是 Git 存储库在给定时间的快照 Git 有一个名为的引用变量HEAD它指向当前工作分支中的最新提交 要撤消提交 您需要做的就是指向HEAD变量到前一个快照 本指南解释了如何撤消上次
  • 如何在 CentOS 7 上安装 Asterisk

    Asterisk 是最流行和广泛采用的开源 PBX 平台 为 IP PBX 系统 会议服务器和 VoIP 网关提供支持 它被世界各地的个人 小型企业 大型企业和政府使用 Asterisk 功能包括语音邮件 等待音乐 电话会议 呼叫排队 通话
  • 如何在 MySQL 中显示/列出用户

    您是否曾经需要获取 MySQL 服务器中所有用户的列表 有命令显示数据库和表 但没有MySQLshow users命令 本教程介绍如何通过命令行列出 MySQL 数据库服务器中的所有用户帐户 我们还将向您展示如何找出哪些用户有权访问给定的数
  • 如何在 Linux 中创建组(groupadd 命令)

    在 Linux 中 组用于组织和管理用户帐户 组的主要目的是定义一组权限 例如读 写或执行允许对于可以在组内的用户之间共享的给定资源 在本文中 我们将讨论如何在 Linux 中使用groupadd命令 groupadd命令语法 的一般语法为
  • Linux中的重命名命令(重命名多个文件)

    使用以下命令重命名多个文件和目录mv命令可能是一个乏味的过程 因为它涉及使用管道编写复杂的命令 loops 等等 这就是rename命令派上用场 它通过将名称中的搜索表达式替换为指定的替换来重命名给定的文件 在本教程中 我们将解释如何使用r
  • 如何在 CentOS 8 上安装 Vagrant

    Vagrant是用于构建和管理虚拟化开发环境的命令行工具 默认情况下 Vagrant 可以在 VirtualBox Hyper V 和 Docker 之上配置计算机 可以通过 Vagrant 插件系统启用对 Libvirt KVM VMwa
  • 如何在 Debian 10 Linux 上安装和使用 Curl

    Curl 是一个命令行实用程序 用于从远程服务器传输数据或向远程服务器传输数据 它允许您使用 HTTP HTTPS SCP SFTP and FTP协议 如果您尝试使用下载文件curl并收到一条错误消息说curl command not f
  • Linux 中的 Chmod 命令(文件权限)

    在 Linux 中 对文件的访问是通过文件权限 属性和所有权来管理的 这确保只有授权的用户和进程才能访问文件和目录 本教程介绍了如何使用chmod命令更改文件和目录的访问权限 Linux 文件权限 在进一步讨论之前 我们先解释一下基本的 L
  • 在 Linux 上创建可启动 Debian 10 USB 记忆棒

    本教程解释了如何使用以下命令从 Linux 终端创建可启动的 Debian 10 Buster USB 记忆棒dd命令 USB 记忆棒可用于在任何支持从 USB 启动的计算机上启动和安装 Debian 先决条件 1GB 或更大的 USB 记
  • Linux 中的 sudo 命令

    sudo 命令允许您以另一个用户 默认为 root 用户 运行程序 如果您在命令行上花费大量时间 那么 sudo 是您经常使用的命令之一 使用 sudo 而不是以 root 身份登录更安全 因为您可以向单个用户授予有限的管理权限 而无需他们
  • 如何在 Ubuntu 18.04 上设置 Nginx 服务器块

    Nginx Server Blocks 允许您在一台机器上运行多个网站 使用服务器块 您可以指定站点文档根 包含网站文件的目录 为每个站点创建单独的安全策略 为每个站点使用不同的 SSL 证书等等 在本文中 我们将提供有关如何在 Ubunt
  • 如何在 CentOS 7 上使用 Nginx 安装 WordPress

    WordPress 是全球最受欢迎的开源博客和 CMS 平台 为当今互联网上四分之一的网站提供支持 它基于 PHP 和 MySQL 并包含大量可以通过免费和高级插件和主题进行扩展的功能 WordPress 是创建在线商店 网站或博客的最简单