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

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

本教程描述了如何在CentOS 7上安装WordPress。这是一个非常简单的过程,只需不到十分钟即可完成。

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

先决条件

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

  • 将域名指向您的服务器公共IP地址。 在本教程中,我们将使用 example.com
  • 以具有sudo特权的用户身份登录。
  • 按照以下说明安装Nginx。
  • 您已经为您的域安装了SSL证书。 您可以按照以下说明生成免费的“让我们加密SSL”证书。

创建MySQL数据库

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

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

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

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

mysql -u root -p

在MySQL Shell中,运行以下SQL语句创建一个名为 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。

要安装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

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

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

下载完成后,解压缩WordPress存档并将文件移到域的文档根目录中:

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;
    }

}

不要忘记用您的WordPress域替换example.com并为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 按钮。

接下来,您将看到以下信息页面,单击 Let's go! 按钮。

安装wordpress信息

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

安装wordpress数据库信息

通过单击开始WordPress安装 Run the Installation 按钮。

安装wordpress运行安装

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

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

输入您的电子邮件地址,然后选择是否要阻止搜索引擎将网站编入索引(不建议)。

安装wordpress欢迎

请点击 Install WordPress 并且安装完成后,您将进入一个页面,通知您WordPress已安装。

要访问您的WordPress登录页面,请点击 Log in 按钮。

安装WordPress完成

输入您的用户名和密码。

WordPress的登录表格

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

WordPress的仪表板

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

结论#

恭喜,您已在Nentx的CentOS 7服务器上成功安装了WordPress。 WordPress的第一步是一个很好的起点,可以学习更多有关如何使自己的新WordPress网站成为自己的信息。

如有疑问,请在下面发表评论。

centos wordpress mysql mariadb cms nginx

Sidebar