Ubuntu系统lnmp框架搭建WordPress

系统版本:

linux内核版本号:Linux version 5.11.0-49-generic (buildd@lcy02-amd64-054)

gcc编译器版本号:gcc version 10.3.0

Ubuntu版本号:Ubuntu 10.3.0-1ubuntu1

系统名称:Ubuntu 21.04

部署LNMP环境(Ubuntu 21)

步骤一:准备工作

  1. 关闭系统内部防火墙。
    1. 运行以下命令,检查防火墙当前状态。  
      sudo ufw status
      • 如果防火墙状态为Status: inactive,则表示防火墙为关闭状态。
      • 如果防火墙状态为Status: active,则表示防火墙为开启状态。
    2. 可选:关闭防火墙。 如果您的防火墙为开启状态,需要运行以下命令,关闭防火墙并关闭开机自启动防火墙。  
      sudo ufw disable
        说明 如果您想重新开启防火墙并开启开机自启动防火墙,请运行sudo ufw enable命令。

步骤二:安装Nginx

  1. 运行以下命令,更新Ubuntu系统内的软件包。  
    sudo apt update
  2. 运行以下命令,安装Nginx。  
    sudo apt -y install nginx
  3. 运行以下命令,查看Nginx版本。  
    sudo nginx -v
    返回结果如下所示,查看到Nginx的版本信息为1.18.0。同时也表示Nginx已成功安装。  
    nginx version: nginx/1.18.0 (Ubuntu)

步骤三:安装MySQL

  1. 运行以下命令,安装MySQL。  
    sudo apt -y install mysql-server
  2. 运行以下命令,查看MySQL版本。  
    sudo mysql -V
    返回结果如下所示,查看到MySQL的版本为8.0.27。同时也表示MySQL已成功安装。  
    mysql  Ver 8.0.27-0ubuntu0.20.04.1 for Linux on x86_64 ((Ubuntu))

步骤四:安装PHP

  1. 运行以下命令,安装PHP。  
    sudo apt -y install php-fpm
  2. 运行以下命令,查看PHP版本。  
    sudo php -v
    返回结果如下所示,查看到PHP版本为7.4.3。同时也表示PHP已成功安装。  
    PHP 7.4.3 (cli) (built: Nov 25 2021 23:16:22) ( NTS )
    Copyright (c) The PHP Group
    Zend Engine v3.4.0, Copyright (c) Zend Technologies
        with Zend OPcache v7.4.3, Copyright (c), by Zend Technologies

步骤五:配置Nginx

  1. 运行以下命令,修改Nginx默认的配置文件,添加Nginx对PHP的支持。
    1. 打开Nginx默认的配置文件。  
      sudo vim /etc/nginx/sites-enabled/default
    2. i进入编辑模式,修改Nginx配置文件。
      1. server{}内,找到index开头的配置行,在该行中添加index.phpUbuntu系统lnmp框架搭建WordPress
      2. server{}内找到location ~ \.php$ {},去除以下配置行的注释符号。  
        location ~ \.php$ {
                include snippets/fastcgi-php.conf;
                fastcgi_pass unix:/var/run/php/php7.4-fpm.sock;
        }
        Ubuntu系统lnmp框架搭建WordPress
    3. Esc退出编辑模式,然后输入:wq并按Enter键,保存并退出文件。
  2. 运行以下命令,重启Nginx服务。  
    sudo systemctl restart nginx.service

步骤六:配置MySQL

  1. 运行以下命令,对MySQL进行安全性配置。  
    sudo mysql_secure_installation
  2. 根据命令行提示,依次完成以下配置项。
    1. 输入Y使用MySQL自带的密码安全校验工具。  
      VALIDATE PASSWORD COMPONENT can be used to test passwords
      and improve security. It checks the strength of password
      and allows the users to set only those passwords which are
      secure enough. Would you like to setup VALIDATE PASSWORD component?
      
      Press y|Y for Yes, any other key for No: Y
    2. 设置密码强度。 本教程中,输入1使用较安全的MEDIUM等级。您可以根据实际业务需求选择适用的密码强度,建议您使用较高的密码强度,增强对数据安全的保护。  
      There are three levels of password validation policy:
      
      LOW    Length >= 8
      MEDIUM Length >= 8, numeric, mixed case, and special characters
      STRONG Length >= 8, numeric, mixed case, special characters and dictionary                  file
      
      Please enter 0 = LOW, 1 = MEDIUM and 2 = STRONG: 1
    3. 设置MySQL的密码。   说明 在输入密码时,系统为了最大限度的保证数据安全,命令行将不做任何回显。您只需要输入正确的密码信息,然后按Enter键即可。  
      Please set the password for root here.
      
      New password:
      
      Re-enter new password:
      
      Estimated strength of the password: 100
    4. 输入Y确认使用已设置的密码。  
      Do you wish to continue with the password provided?(Press y|Y for Yes, any other key for No) : Y
    5. 输入Y删除MySQL自带的匿名用户。  
      By default, a MySQL installation has an anonymous user,
      allowing anyone to log into MySQL without having to have
      a user account created for them. This is intended only for
      testing, and to make the installation go a bit smoother.
      You should remove them before moving into a production
      environment.
      
      Remove anonymous users? (Press y|Y for Yes, any other key for No) : Y
    6. 输入Y禁止MySQL的root用户的远程登录权限。  
      Normally, root should only be allowed to connect from
      'localhost'. This ensures that someone cannot guess at
      the root password from the network.
      
      Disallow root login remotely? (Press y|Y for Yes, any other key for No) : Y
    7. 输入Y删除MySQL中test库以及用户对test库的访问权限。  
      By default, MySQL comes with a database named 'test' that
      anyone can access. This is also intended only for testing,
      and should be removed before moving into a production
      environment.
      
      
      Remove test database and access to it? (Press y|Y for Yes, any other key for No) : Y
    8. 输入Y重新加载授权表。  
      Reloading the privilege tables will ensure that all changes
      made so far will take effect immediately.
      
      Reload privilege tables now? (Press y|Y for Yes, any other key for No) : Y
    当命令行回显All done!时,表示配置完成。
  3. 测试登录MySQL数据库。
    1. 运行以下命令,登录MySQL数据库。  
      sudo mysql -uroot -p
    2. 在命令行回显的Enter password:后输入已设置的数据库密码。   说明 在输入密码时,系统为了最大限度的保证数据安全,命令行将不做任何回显。您只需要输入正确的密码信息,然后按Enter键即可。 成功登录MySQL数据库后,命令行信息如下图所示:Ubuntu系统lnmp框架搭建WordPress
    3. 运行以下命令,退出MySQL数据库。  
      exit;

步骤七:配置PHP

  1. 运行以下命令,在Nginx网站根目录中,新建phpinfo.php文件。  
    sudo vi <网站根目录>/phpinfo.php
    <网站根目录>为变量,可通过Nginx配置文件查看。本教程中Nginx配置文件为默认文件/etc/nginx/sites-enabled/default,您可以运行cat /etc/nginx/sites-enabled/default命令查看文件内容,其中如下图所示的/var/www/html部分即为网站根目录。Ubuntu系统lnmp框架搭建WordPress因此,对应的运行命令为:  
    sudo vi /var/www/html/phpinfo.php
  2. i进入编辑模式,添加以下配置信息。 phpinfo()函数会展示PHP的所有配置信息。  
    <?php echo phpinfo(); ?>
  3. Esc退出编辑模式,然后输入:wq并按Enter键,保存并退出文件。
  4. 运行以下命令,启动PHP。  
    sudo systemctl start php7.4-fpm

步骤八:测试访问PHP配置信息页面

  1. 在本地Windows主机或其他具有公网访问能力的Windows主机中,打开浏览器。
  2. 在浏览器的地址栏输入http://<ECS实例公网IP地址>/phpinfo.php进行访问。 访问结果如下图所示,成功查看到PHP配置信息页面,表示LNMP环境部署成功。Ubuntu系统lnmp框架搭建WordPress

后续步骤

成功搭建LNMP环境后,建议您删除phpinfo.php测试文件,消除数据泄露风险。  
rm -rf <网站根目录>/phpinfo.php
本教程中网站根目录为/var/www/html,则需要运行以下命令删除测试文件。  
rm -rf /var/www/html/phpinfo.php

手动搭建WordPress(Ubuntu 21)

搭建WordPress网站

  1. 配置WordPress数据库。
    1. 进入MySQL数据库。 使用root用户登录MySQL,并输入密码。密码为您在搭建环境时为数据库设置的密码。  
      mysql -uroot -p
    2. 为WordPress网站创建数据库。

      本教程中数据库名为wordpress

       
      create database wordpress;
    3. 创建一个新用户管理WordPress库,提高安全性。

      MySQL在5.7版本后默认安装了密码强度验证插件validate_password。您可以登录MySQL后查看密码强度规则。

       
      show variables like "%password%";

      本教程中创建新用户user,新用户密码为PASSword123.

       
      create user 'user'@'localhost' identified by 'PASSword123.';
    4. 赋予用户对数据库wordpress的全部权限。  
      grant all privileges on wordpress.* to 'user'@'localhost';
    5. 使配置生效。  
      flush privileges;
    6. 退出MySQL。  
      exit;
  2. 下载并解压WordPress,然后移动至网站根目录。
    1. 进入Nginx网站根目录,下载WordPress压缩包。 本示例默认安装的是WordPress英文版本。  
      cd /usr/share/nginx/html
      wget https://wordpress.org/wordpress-5.4.2.zip
      如果您需安装WordPress中文版本,需运行命令wget https://cn.wordpress.org/latest-zh_CN.zip,下载WordPress中文版本压缩包。同时您需要注意,后续操作中压缩包的名称必须替换为latest-zh_CN.zip。
    2. 解压WordPress压缩包。  
      unzip wordpress-5.4.2.zip
    3. 将WordPress安装目录下的wp-config-sample.php文件复制到wp-config.php文件中,并将wp-config-sample.php文件作为备份。  
      cd /usr/share/nginx/html/wordpress
      cp wp-config-sample.php wp-config.php
    4. 编辑wp-config.php文件。  
      vim wp-config.php
    5. i键切换至编辑模式,根据已配置的WordPress数据库信息,修改MySQL相关配置信息,修改代码如下所示。 WordPress网站的数据信息将通过数据库的user用户保存在名为wordpress的数据库中。  
      // ** MySQL 设置 - 具体信息来自您正在使用的主机 ** //
      /** WordPress数据库的名称 */
      define('DB_NAME', 'wordpress');
      
      /** MySQL数据库用户名 */
      define('DB_USER', 'user');
      
      /** MySQL数据库密码 */
      define('DB_PASSWORD', 'PASSword123.');
      
      /** MySQL主机 */
      define('DB_HOST', 'localhost');
    6. 修改完成后,按下Esc键后,输入:wq并回车,保存退出配置文件。
  3. 修改Nginx配置文件。
    1. 运行以下命令打开Nginx配置文件。  
      sudo vim /etc/nginx/sites-enabled/default
    2. i键进入编辑模式。 在location /大括号内,将root后的内容替换为WordPress根目录。本示例中根目录为/usr/share/nginx/html/wordpress。Ubuntu系统lnmp框架搭建WordPresslocation ~ .php$大括号内,将root后的内容替换为WordPress根目录。Ubuntu系统lnmp框架搭建WordPress修改完成后按Esc键,输入:wq保存并退出配置文件。
    3. 运行以下命令重启Nginx服务。  
      systemctl restart nginx
  4. 安装并登录WordPress网站。
    1. 在本地物理机上使用浏览器访问ECS实例公网IP,进入WordPress安装页面。
    2. 填写网站基本信息,然后单击安装WordPress。 填写信息参数说明:
      • 站点标题:WordPress网站的名称。例如:demowp。
      • 用户名:登录WordPress时所需的用户名,请注意安全性。例如:testwp。
      • 密码:登录WordPress时所需的密码,建议您设置安全性高的密码。例如:Wp.123456。
      • 您的电子邮件:用于接收通知的电子邮件。例如:1234567890@aliyun.com。
    3. 单击登录。
    4. 输入在安装WordPress时设置的用户名wenqiang和密码*****,然后单击登录。 成功进入您个人的WordPress网站。
    5. 建站成功 Ubuntu系统lnmp框架搭建WordPress

       

       




上一篇:[备忘]Ubuntu升级后删除旧内核


下一篇:【快速入门Linux】4_Linux命令—目录和文件常用命令