如何在Ubuntu 18.04上使用Nginx安装WordPress

时间:2020-03-05 15:31:02  来源:igfitidea点击:

WordPress是迄今为止最受欢迎的开源教程 和CMS平台,为全球超过四分之一的提供支持。
它基于PHP和MySQL,并包含大量功能,可以使用免费和高级插件和主题进行扩展。
WordPress是创建在线商店,或者教程 的最简单方法。

在本教程中,我们将向我们展示如何在Ubuntu 18.04计算机上安装WordPress。
这是一个相当简单的过程,只需不到十分钟即可完成。

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

准备工作

在继续本教程之前,请确保我们已满足以下准备工作:

  • 我们有一个指向服务器公共IP的域名。我们将使用'example.com'。
  • 我们以具有sudo特权的用户身份登录。
  • 请按照以下说明安装Nginx。
  • 为域安装的SSL证书。我们可以按照以下说明安装免费的Let's Encrypt SSL证书。

将软件包索引和系统软件包更新为最新版本:

sudo apt updatesudo apt upgrade

创建MySQL数据库

WordPress使用MySQL数据库存储其所有数据。
我们的第一步是创建一个MySQL数据库,MySQL用户帐户并授予对该数据库的访问权限。

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

  • 在Ubuntu 18.04上安装MySQL
  • 在Ubuntu 18.04上安装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;

运行上述命令后,我们将拥有一个新的MySQL数据库和用户帐户,供WordPress实例使用。

安装PHP

PHP 7.2是Ubuntu 18.04中的默认PHP版本,完全受支持,建议WordPress使用。

要安装PHP和所有必需的PHP扩展,请运行以下命令:

sudo apt install php7.2-cli php7.2-fpm php7.2-mysql php7.2-json php7.2-opcache php7.2-mbstring php7.2-xml php7.2-gd php7.2-curl

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

安装过程完成后,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/

最后,我们需要设置正确的权限,以便网络服务器可以完全访问该的文件和目录。

由于Nginx和PHP都以“ www-data”用户和组身份运行,因此要设置正确的所有权,请运行以下chown命令:

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

配置Nginx

到目前为止,如果没有检查本教程的准备工作,则应该已经在系统上安装了带有SSL证书的Nginx。

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

打开文本编辑器并创建以下文件:

/etc/nginx/sites-available/example.com

# 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${
        include snippets/fastcgi-php.conf;
        fastcgi_pass unix:/run/php/php7.2-fpm.sock;
    }
    location ~* \.(js|css|png|jpg|jpeg|gif|ico|svg)${
        expires max;
        log_not_found off;
    }
}

不要忘记用Wordpress域替换example.com并为SSL证书文件设置正确的路径。
本教程中创建了此配置中使用的摘录。

通过创建指向'sites-enabled'目录的符号链接来启用服务器块:

sudo ln -s /etc/nginx/sites-available/example.com /etc/nginx/sites-enabled/

在重新启动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界面完成安装。

打开浏览器,输入域,然后会出现类似以下的屏幕:

选择我们要使用的语言,然后单击“继续”按钮。

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

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

通过单击“运行安装”按钮开始安装。

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

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

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

点击“安装WordPress”,安装完成后,我们将进入一个页面,通知我们已安装WordPress。
要访问WordPress登录表单,请单击“登录”按钮。

输入用户名和密码,然后单击“登录”按钮。

登录后,我们将被重定向到WordPress管理仪表板。

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