使用华为开发者空间搭建WordPress博客平台【华为开发者空间】
一、项目概况
项目名称:WordPress
项目简介:WordPress是一款个人博客系统,也可以把 WordPress当作一个内容管理系统(CMS)来使用,它是使用PHP语言和MySQL数据库开发的,用户可以在支持PHP和MySQL数据库的服务器上搭建自己的博客。
开发语言:PHP
应用运行环境:Euler、Nginx、PHP、MySQL
涉及云服务:华为开发者空间
二、免费领取华为开发者空间云主机
1. 领取云主机
如果还没有华为开发者空间云主机,可点击链接 ,即可领取免费专属云主机。
领取成功后,就可以根据个人使用情况来配置云主机。
安装完成后,即可通过浏览器进行访问。
详细具体操作可参考官方指南:开发者空间云主机免费领取指南
2. 打开命令行终端和修改主机名
可在云主机桌面中点击右键来打开命令行终端,进入到命令行终端后,系统会默认登录到developer
用户,如下图所示:
如果有开发者在测试或者学习环境中不习惯在每条命令前使用 sudo
,可使用命令 sudo -i
直接登录到 root
用户。本文章以 root
用户来执行操作命令。
可使用命令 hostnamectl hostname
来修改主机名字。
三、搭建LNMP应用运行环境
WordPress博客系统最新版本需要PHP7.4和MySQL 8.0或者MariaDB 10.5以上的版本来进行运行, 因此本次操作实战决定采用经典架构环境LNMP,L代表Linux,N代表Nginx,M代表MySQL或者MariaDB,P代表PHP。
从官方建议网页中可知,虽然还是可以安装低一点版本的PHP和数据库版本,但官方提示担心各种漏洞而受到威胁,因此肯定按着官方建议,安装所要求的版本。
1. 安装Nginx
1.1 使用默认yum源进行安装
没有特别需求的情况下,可使用 yum
命令进行安装,而开发者空间云主机已经默认配置好常用的几个安装源,因此可以直接进行安装,而不再需要配置其他安装源。云主机默认欧拉源中的 nginx
版本是1.21,可使用命令 yum --showduplicates list nginx
查看源中nginx的版本。
执行以下命令进行安装:
yum -y install nginx
出现Complete
表示 Nginx 安装完成。
1.2 启动并进行测试
使用以下命令进行启动并设置开机自启动:
[root@goldfish ~]# systemctl start nginx
[root@goldfish ~]# systemctl enable nginx
可使用浏览器访问地址http://127.0.0.1/
,若Nginx 安装成功,则会显示如下页面:
2. 安装MySQL
2.1 安装MySQL
开发者空间云主机默认配置好的yum源中就有MySQL8.0的版本,因此可以直接进行安装,而不再需要配置其他安装源。可使用命令 yum --showduplicates list mysql-server
查看源中MySQL的版本。
执行以下命令进行安装:
yum -y install mysql-server
2.2 启动并设置密码
在MySQL8.0的后续版本中,安装完成后会用空密码,但具体是使用空密码来登录,还是使用临时密码来登录,可在启动后查看服务日志相关信息来明确。
[root@goldfish ~]# systemctl start mysqld
[root@goldfish ~]# grep "password" /var/log/mysql/mysqld.log
使用空密码(提示输入密码时直接敲回车)登录到服务端后,建议马上修改密码。
建议修改的密码长度不小于6位,且含有数字,小写或大写字母,特殊字符。
[root@goldfish ~]# mysql -uroot -p
mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY 'Huawei@123';
mysql> flush privileges;
mysql> quit
设置开机自启动。
[root@goldfish ~]# systemctl enable mysqld
3. 安装PHP
3.1 使用默认yum源进行安装
因没特别的需求,所以此处不使用源码编译安装的方式,而使用yum源来进行安装。
而且系统所带的默认安装源有PHP高版本,因此可直接进行安装。
[root@goldfish ~]# yum --showduplicates list php
执行以下命令安装 PHP 和一些所需的 PHP 扩展:
yum -y install php php-tidy php-common php-devel php-pdo php-mysql* php-gd php-ldap php-mbstring php-fpm
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
从配置文件中可查出具体侦听配置。
[root@goldfish ~]# grep -v ";\|^$" /etc/php-fpm.d/www.conf | grep listen
4. 启用PHP支持
4.1 编辑配置文件
在安装旧的PHP版本后,需要在Nginx中配置好对应的PHP支持,但在高版本的yum源安装后,会安装好对应的配置支持文件,因此只需要明确安装过程中是否已经有对应的配置文件,若有,那安装后即可使用,若没有,则需要进行配置。
而开发者空间云主机中的安装源版本已经带有对应的配置文件,只需要明确对应的配置即可,如下图所示:
查看对应的配置文件进行明确。
[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;
}
因此,不需要额外配置即可直接使用。
4.2 测试LNMP的PHP支持
编辑PHP测试页面。
[root@goldfish ~]# echo "<?php phpinfo(); ?>" > /usr/share/nginx/html/index.php
编辑页面后,需要重载服务。
[root@goldfish ~]# systemctl reload nginx
使用浏览器访问http://127.0.0.1/index.php
,显示如下图页面,说明PHP安装成功。
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
测试所创建用户能否登录:
[root@goldfish ~]# mysql -uwordpressuser -p
Enter password:
mysql> show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| performance_schema |
| wordpress |
+--------------------+
3 rows in set (0.00 sec)
至此,WordPress所需要的运行环境已经搭建完毕,接下来可以进行WordPress博客系统的安装。
四、安装并配置WordPress
1. 下载软件包
1.1 下载英文版本
打开WordPress官网的下载页面:https://wordpress.org/download/releases/ ,下载 tag.gz 格式的
软件包至本地。
1.2 下载中文版本
对于我们的习惯,肯定想使用中文版,所以也可从官方中文网站进行下载,下载地址为:https://cn.wordpress.org/download/
可在浏览器的下载管理中查看到所下载的软件包。
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
3. 移动目录并设置权限
将解压出来的项目目录移动至nginx页面目录下,并设置目录权限。
[root@goldfish ~]# mv wordpress /usr/share/nginx/html/
[root@goldfish ~]# chown -R apache:apache /usr/share/nginx/html/wordpress/
有小伙伴可能会问,为什么是设置apache用户和apache组的权限呢?
因为php-fpm启动的用户和组默认是apache,这个在配置文件中和运行的进程中均可查出。
如果不设置对应的权限,当后面更换主题和插件时会有提示:WordPress需要访问你网页服务器的权限。
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';
5. 安装WordPress
在浏览器地址栏输入http://127.0.0.1/wordpress
即可跳转至安装页面:
填写对应的表单信息后,即可点击安装WordPress
。
若WordPress安装完成,会如下图所示:
6. 登录管理后台
在完成安装界面输入密码选择登录
,或者在浏览器输入http://127.0.0.1/wordpress/wp-admin
进入后台登录界面并输入账号和密码即可登录管理后台。
登录管理台,可在页面见到网站仪表盘
:
7. 查看主页
点击查看站点
或者在浏览器输入http://127.0.0.1/wordpress
即可查看主页。
8. 插件安装
可以在管理界面选择想要的主题和插件,可使用在线安装的方式进行安装,也可以在线更新各种插件(PS:前提是设置好此前所说的访问权限,不然会弹出授权界面)。
安装完成后,点击启用
即可使用,并可在已安装插件中查看:
至此,已完成整个WordPress项目的部署。
五、总结
网上众多搭建WordPress的文章中有些地方不完美和不合理,例如在安装PHP版本中,webtatic源并没有对应的高版本,而WordPress6.0或以上的版本,官方已经明确建议使用PHP7.4或以上的版本,那为什么还安装低版本呢?其次,在权限设置那里,有些文章竟然使用了777的权限设置,在生产环境中,这是最忌讳的设置,怎么能随意给777的权限呢?还有此次安装的PHP高版本已经默认不再使用端口侦听,而直接使用socket来进行运行,现网众多分享都还未提及此方式。
因此,金鱼哥决定使用华为开发者空间提供的云主机直接进行实战。希望金鱼哥的分享能帮助到大家,这也是金鱼哥写下这篇文章的原因之一。
从这项目的部署使用中,使用了众多操作系统的基础,也安装了众多服务,还搭建了经典架构LNMP,之后还在此架构上搭建对应的应用。这些都是必须要掌握的工作技能,希望看到此文章的小伙伴都能掌握,都有所获。
我正在参加【有奖征集 第34期】华为开发者空间一行代码快速上云,参与视频、文章投稿赢2000元开发者礼包
链接:https://bbs.huaweicloud.com/blogs/438987
- 点赞
- 收藏
- 关注作者
评论(0)