使用华为开发者空间搭建WordPress博客平台【华为开发者空间】

举报
金鱼哥 发表于 2024/11/25 11:46:10 2024/11/25
【摘要】 华为开发者空间是华为云为全球开发者打造的专属开发空间,汇聚昇腾、鸿蒙、鲲鹏、GaussDB、欧拉等各项根技术的开发资源及工具,致力于让每一位开发者拥有一台云主机。每台主机都预装了直观的可视化操作系统,并集成流行编程语言的运行时插件,解决本地开发环境中配置复杂、稳定性不足和依赖等问题,为开发者提供性能强大、安全、稳定、高效的开发环境。本文讲解如何使用华为开发者空间搭建WordPress博客平台。

一、项目概况

项目名称:WordPress

官网地址:https://wordpress.org

项目简介:WordPress是一款个人博客系统,也可以把 WordPress当作一个内容管理系统(CMS)来使用,它是使用PHP语言和MySQL数据库开发的,用户可以在支持PHP和MySQL数据库的服务器上搭建自己的博客。

开发语言:PHP

应用运行环境:Euler、Nginx、PHP、MySQL

涉及云服务:华为开发者空间


二、免费领取华为开发者空间云主机

1. 领取云主机

如果还没有华为开发者空间云主机,可点击链接 ,即可领取免费专属云主机。

image-20241124144134848.png

领取成功后,就可以根据个人使用情况来配置云主机。

image-20241124151653277.png

安装完成后,即可通过浏览器进行访问。

image-20241124152414967.png

image-20241124154353611.png

详细具体操作可参考官方指南:开发者空间云主机免费领取指南


2. 打开命令行终端和修改主机名

可在云主机桌面中点击右键来打开命令行终端,进入到命令行终端后,系统会默认登录到developer 用户,如下图所示:

image-20241124154842119.png

如果有开发者在测试或者学习环境中不习惯在每条命令前使用 sudo ,可使用命令 sudo -i 直接登录到 root 用户。本文章以 root 用户来执行操作命令。

image-20241124154938925.png

可使用命令 hostnamectl hostname 来修改主机名字。

image-20241124155301726.png


三、搭建LNMP应用运行环境

WordPress博客系统最新版本需要PHP7.4和MySQL 8.0或者MariaDB 10.5以上的版本来进行运行, 因此本次操作实战决定采用经典架构环境LNMP,L代表Linux,N代表Nginx,M代表MySQL或者MariaDB,P代表PHP。

image-20241124155830562.png

从官方建议网页中可知,虽然还是可以安装低一点版本的PHP和数据库版本,但官方提示担心各种漏洞而受到威胁,因此肯定按着官方建议,安装所要求的版本。

image-20241124160033187.png


1. 安装Nginx

1.1 使用默认yum源进行安装

没有特别需求的情况下,可使用 yum 命令进行安装,而开发者空间云主机已经默认配置好常用的几个安装源,因此可以直接进行安装,而不再需要配置其他安装源。云主机默认欧拉源中的 nginx 版本是1.21,可使用命令 yum --showduplicates list nginx查看源中nginx的版本。

image-20241124163918412.png

执行以下命令进行安装:

yum -y install nginx

image-20241124164256254.png

出现Complete表示 Nginx 安装完成。

image-20241124164410880.png


1.2 启动并进行测试

使用以下命令进行启动并设置开机自启动:

[root@goldfish ~]# systemctl start nginx
[root@goldfish ~]# systemctl enable nginx

可使用浏览器访问地址http://127.0.0.1/,若Nginx 安装成功,则会显示如下页面:

image-20241124164949594.png


2. 安装MySQL

2.1 安装MySQL

开发者空间云主机默认配置好的yum源中就有MySQL8.0的版本,因此可以直接进行安装,而不再需要配置其他安装源。可使用命令 yum --showduplicates list mysql-server查看源中MySQL的版本。

image-20241124165506425.png

执行以下命令进行安装:

yum -y install mysql-server

image-20241124165759780.png


2.2 启动并设置密码

在MySQL8.0的后续版本中,安装完成后会用空密码,但具体是使用空密码来登录,还是使用临时密码来登录,可在启动后查看服务日志相关信息来明确。

[root@goldfish ~]# systemctl start mysqld
[root@goldfish ~]# grep "password" /var/log/mysql/mysqld.log

image-20241124171659736.png

使用空密码(提示输入密码时直接敲回车)登录到服务端后,建议马上修改密码。

建议修改的密码长度不小于6位,且含有数字,小写或大写字母,特殊字符。

[root@goldfish ~]# mysql -uroot -p

mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY 'Huawei@123';
mysql> flush privileges;
mysql> quit

image-20241124172705474.png

设置开机自启动。

[root@goldfish ~]# systemctl enable mysqld

image-20241124172805165.png


3. 安装PHP

3.1 使用默认yum源进行安装

因没特别的需求,所以此处不使用源码编译安装的方式,而使用yum源来进行安装。
而且系统所带的默认安装源有PHP高版本,因此可直接进行安装。

[root@goldfish ~]# yum --showduplicates list php

image-20241124173852439.png

执行以下命令安装 PHP 和一些所需的 PHP 扩展:

yum -y install php php-tidy php-common php-devel php-pdo php-mysql* php-gd php-ldap php-mbstring php-fpm

image-20241124174404907.png

image-20241124174432155.png


3.2 启动php-fpm服务

PHP8.0版本中的 php-fpm 默认使用 socket 的形式来进行侦听,不同以往旧版本默认使用9000端口来进行侦听。

[root@goldfish ~]# php -v
PHP 8.0.30 (cli) (built: May  7 2024 20:11:27) ( NTS )
Copyright (c) The PHP Group
Zend Engine v4.0.30, Copyright (c) Zend Technologies
[root@goldfish ~]# systemctl start php-fpm
[root@goldfish ~]# systemctl enable php-fpm
[root@goldfish ~]# netstat -l | grep php
unix  2      [ ACC ]     STREAM     LISTENING     106433   /run/php-fpm/www.sock

image-20241124200540453.png

从配置文件中可查出具体侦听配置。

[root@goldfish ~]# grep -v ";\|^$" /etc/php-fpm.d/www.conf | grep listen

image-20241124175951815.png


4. 启用PHP支持

4.1 编辑配置文件

在安装旧的PHP版本后,需要在Nginx中配置好对应的PHP支持,但在高版本的yum源安装后,会安装好对应的配置支持文件,因此只需要明确安装过程中是否已经有对应的配置文件,若有,那安装后即可使用,若没有,则需要进行配置。

而开发者空间云主机中的安装源版本已经带有对应的配置文件,只需要明确对应的配置即可,如下图所示:

image-20241124201110763.png

查看对应的配置文件进行明确。

[root@goldfish ~]# cat /etc/nginx/conf.d/php-fpm.conf
# PHP-FPM FastCGI server
# network or unix domain socket configuration

upstream php-fpm {
        server unix:/run/php-fpm/www.sock;
}
[root@goldfish ~]# 
[root@goldfish ~]# cat /etc/nginx/default.d/php.conf
# pass the PHP scripts to FastCGI server
#
# See conf.d/php-fpm.conf for socket configuration
#
index index.php index.html index.htm;

location ~ \.(php|phar)(/.*)?$ {
    fastcgi_split_path_info ^(.+\.(?:php|phar))(/.*)$;

    fastcgi_intercept_errors on;
    fastcgi_index  index.php;
    include        fastcgi_params;
    fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
    fastcgi_param  PATH_INFO $fastcgi_path_info;
    fastcgi_pass   php-fpm;
}

image-20241124201306521.png

因此,不需要额外配置即可直接使用。


4.2 测试LNMP的PHP支持

编辑PHP测试页面。

[root@goldfish ~]# echo "<?php phpinfo(); ?>" > /usr/share/nginx/html/index.php

编辑页面后,需要重载服务。

[root@goldfish ~]# systemctl reload nginx

image-20241124185801886.png

使用浏览器访问http://127.0.0.1/index.php,显示如下图页面,说明PHP安装成功。

image-20241124183405178.png


5. 数据库设置

登录数据库并创建WordPress系统所用的数据库wordpress和对应的用户wordpressuser,并使用密码Huawei@123

# 使用此前设置的密码“Huawei@123”进行登录。
[root@goldfish ~]# mysql -uroot -p
Enter password: 

mysql> create database wordpress;
mysql> grant all privileges on wordpress.* to wordpressuser@'localhost' identified by 'Huawei@123' with grant option;
mysql> flush privileges;
mysql> quit

image-20241124190943738.png

测试所创建用户能否登录:

[root@goldfish ~]# mysql -uwordpressuser -p
Enter password: 

mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| performance_schema |
| wordpress          |
+--------------------+
3 rows in set (0.00 sec)

image-20241124191132121.png

至此,WordPress所需要的运行环境已经搭建完毕,接下来可以进行WordPress博客系统的安装。


四、安装并配置WordPress

1. 下载软件包

1.1 下载英文版本

打开WordPress官网的下载页面:https://wordpress.org/download/releases/ ,下载 tag.gz 格式的
软件包至本地。

image-20241124191533492.png


1.2 下载中文版本

对于我们的习惯,肯定想使用中文版,所以也可从官方中文网站进行下载,下载地址为:https://cn.wordpress.org/download/

image-20241124193016666.png

可在浏览器的下载管理中查看到所下载的软件包。

image-20241124193146072.png


2. 解压软件包

[root@goldfish ~]# cp -a /home/developer/下载/wordpress-6.7.1-zh_CN.tar.gz .
[root@goldfish ~]# tar -xzf wordpress-6.7.1-zh_CN.tar.gz 

image-20241124193339581.png


3. 移动目录并设置权限

将解压出来的项目目录移动至nginx页面目录下,并设置目录权限。

[root@goldfish ~]# mv wordpress /usr/share/nginx/html/
[root@goldfish ~]# chown -R apache:apache /usr/share/nginx/html/wordpress/

image-20241124193629103.png

有小伙伴可能会问,为什么是设置apache用户和apache组的权限呢?

因为php-fpm启动的用户和组默认是apache,这个在配置文件中和运行的进程中均可查出。

image-20241124193715722.png


如果不设置对应的权限,当后面更换主题和插件时会有提示:WordPress需要访问你网页服务器的权限。

image-20221130220501389.png


4. 配置WordPress配置文件

4.1 复制模板文件

进入 WordPress 项目目录,将wp-config-sample.php文件复制名为wp-config.php的文件用作配置文件,并保留示例配置文件以作备份。

cd /usr/share/nginx/html/wordpress
cp -a wp-config-sample.php wp-config.php

4.2 编辑WordPress的配置文件

编辑配置文件,把DB_NAME(数据库名称)、DB_USER(数据库用户名)、DB_PASSWORD(数据库密码)更改为之前所配置的设置。

vim wp-config.php
// ** Database settings - You can get this info from your web host ** //
/** The name of the database for WordPress */
define( 'DB_NAME', 'wordpress' );

/** Database username */
define( 'DB_USER', 'wordpressuser' );

/** Database password */
define( 'DB_PASSWORD', 'Huawei@123' );

/** Database hostname */
define( 'DB_HOST', 'localhost' );

/** Database charset to use in creating database tables. */
define( 'DB_CHARSET', 'utf8' );

/** The database collate type. Don't change this if in doubt. */
define( 'DB_COLLATE', '' );
# 可罗列配置文件的配置选项进行查看。
[root@goldfish wordpress]# grep -n "^[a-z]\|^[A-Z]" wp-config.php
23:define( 'DB_NAME', 'wordpress' );
26:define( 'DB_USER', 'wordpressuser' );
29:define( 'DB_PASSWORD', 'Huawei@123' );
32:define( 'DB_HOST', 'localhost' );
35:define( 'DB_CHARSET', 'utf8' );
38:define( 'DB_COLLATE', '' );
51:define( 'AUTH_KEY',         'put your unique phrase here' );
52:define( 'SECURE_AUTH_KEY',  'put your unique phrase here' );
53:define( 'LOGGED_IN_KEY',    'put your unique phrase here' );
54:define( 'NONCE_KEY',        'put your unique phrase here' );
55:define( 'AUTH_SALT',        'put your unique phrase here' );
56:define( 'SECURE_AUTH_SALT', 'put your unique phrase here' );
57:define( 'LOGGED_IN_SALT',   'put your unique phrase here' );
58:define( 'NONCE_SALT',       'put your unique phrase here' );
88:define( 'WP_DEBUG', false );
97:if ( ! defined( 'ABSPATH' ) ) {
102:require_once ABSPATH . 'wp-settings.php';

image-20241124194618903.png


5. 安装WordPress

在浏览器地址栏输入http://127.0.0.1/wordpress 即可跳转至安装页面:

image-20241124194755100.png

填写对应的表单信息后,即可点击安装WordPress

image-20241124195210684.png

若WordPress安装完成,会如下图所示:

image-20221130223013574.png


6. 登录管理后台

在完成安装界面输入密码选择登录,或者在浏览器输入http://127.0.0.1/wordpress/wp-admin 进入后台登录界面并输入账号和密码即可登录管理后台。

image-20221130223607224.png

登录管理台,可在页面见到网站仪表盘

image-20241124195510641.png


7. 查看主页

点击查看站点或者在浏览器输入http://127.0.0.1/wordpress 即可查看主页。

image-20241124195707625.png

image-20241124195748354.png


8. 插件安装

可以在管理界面选择想要的主题和插件,可使用在线安装的方式进行安装,也可以在线更新各种插件(PS:前提是设置好此前所说的访问权限,不然会弹出授权界面)。

image-20241124195950544.png

安装完成后,点击启用即可使用,并可在已安装插件中查看:

image-20241124200037434.png


至此,已完成整个WordPress项目的部署。


五、总结

image-20230310230152426.png

网上众多搭建WordPress的文章中有些地方不完美和不合理,例如在安装PHP版本中,webtatic源并没有对应的高版本,而WordPress6.0或以上的版本,官方已经明确建议使用PHP7.4或以上的版本,那为什么还安装低版本呢?其次,在权限设置那里,有些文章竟然使用了777的权限设置,在生产环境中,这是最忌讳的设置,怎么能随意给777的权限呢?还有此次安装的PHP高版本已经默认不再使用端口侦听,而直接使用socket来进行运行,现网众多分享都还未提及此方式。

因此,金鱼哥决定使用华为开发者空间提供的云主机直接进行实战。希望金鱼哥的分享能帮助到大家,这也是金鱼哥写下这篇文章的原因之一。

从这项目的部署使用中,使用了众多操作系统的基础,也安装了众多服务,还搭建了经典架构LNMP,之后还在此架构上搭建对应的应用。这些都是必须要掌握的工作技能,希望看到此文章的小伙伴都能掌握,都有所获。


我正在参加【有奖征集 第34期】华为开发者空间一行代码快速上云,参与视频、文章投稿赢2000元开发者礼包
链接:https://bbs.huaweicloud.com/blogs/438987

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。