myfreax

如何在CentOS 7安装WordPress

本教程介绍了如何在CentOS 7上安装WordPress。这是一个非常简单的过程,只需不到十分钟即可完成。 我们将使用 LEMP栈,其中Nginx作为网络服务器,SSL证书,最新的PHP 7.2和MySQL / MariaDB作为数据库服务器。

5 min read
By myfreax
如何在CentOS 7安装WordPress

WordPress是全球最受欢迎的开源博客和CMS平台,为当今互联网上所有网站的四分之一提供支持。

它基于PHP和MySQL,并包含大量功能,可以使用免费和高级插件和主题进行扩展。WordPress是创建在线商店,网站或博客的最简单方法。

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

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

在继续本教程之前,请确保满足这些条件。一个可以解释到你服务器IP地址的域名。在本教程中,我们将使用myfreax.com

以root或者具有sudo权限的用户登录。已在CentOS 7安装Nginx。您已经为您的域名安装SSL证书。可以阅读我们教程如何在CentOS 7 Nginx配置Let's Encrypt SSL证书

创建MySQL数据库

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

如果您尚未在CentOS 7服务器上安装MySQL或MariaDB,则可以阅读教程。如何在CentOS 7安装MySQL。如何在CentOS 7安装MariaDB

运行命令mysql -u root -p登录到MySQL。在MySQL Shell中,运行以下SQL语句以创建名为wordpress数据库。

创建用户名为wordpressuser的,并向用户授予wordpress数据库的所有权限。

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。可阅读教程在CentOS 7安装PHP 。或者运行以下命令,所有必需的PHP扩展都会安装。

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

现在我们安装了PHP FPM。

因为我们将Nginx用作HTTP服务器。默认情况下,PHP-FPM将以用户apache的身份在端口9000上运行。

我们将用户更改为nginx,然后从TCP socket切换为Unix socket。为此,请打开/etc/php-fpm.d/www.conf文件:

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

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

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

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

sudo systemctl enable php-fpm
sudo systemctl start php-fpm

下载Wordpress

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

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

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

cd /tmp
wget https://wordpress.org/latest.tar.gz

下载完成后,提取WordPress存档将文件移动到域的文档根目录中:

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

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

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

配置Nginx

到现在,应该已经在系统上安装了带有SSL证书的Nginx。

要为我们的WordPress实例创建一个新的服务器,我们将使用Nginx官方网站上的 Nginx配置。

打开您的文本编辑器,然后创建一个新的 nginx服务器块

sudo vim /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;
    }

}
/etc/nginx/conf.d/example.com.conf

别忘了用您的WordPress域替换myfreax.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界面完成安装。

结论

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

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