【玩转云耀云服务器HECS】使用HECS搭建WordPress博客平台
一、购买云服务
WordPress 博客平台需要部署到服务器上,所以需要购买一台ECS,再将服务部署上去。例如我们可以去主页购买HECS或者去领取产品试用名额来进行搭建。
1. 购买HECS
在华为云官网
按照产品
→计算
→云耀云服务器 HECS
路径,即可进入云耀云服务器 HECS
主页面。
点击立即购买
按钮 ,进入选购 HECS 详细配置页面。
之后就可以根据具体需求进行选择购买。
具体指引和操作可参考官方产品文档:https://support.huaweicloud.com/hecs/index.html
2. 产品试用
这段时间在官方开发者试用专区就有HECS的产品试用,感兴趣的小伙伴也可以到产品试用专区进行体验。具体操作如下:
①点击此处进入页面后点击“前往开发者试用专区”。
②点击热门推荐,选择HECS免费试用。不过由于产品试用火爆,需要尽快领取,若错过时间,需要到下一天的9:30后进行领取,领完即止。
③进行产品体验后即可体验产品的试用。
二、项目实战概况
项目名称:WordPress
项目简介:WordPress是一款个人博客系统,也可以把 WordPress当作一个内容管理系统(CMS)来使用,它是使用PHP语言和MySQL数据库 开发的,用户可以在支持PHP和MySQL数据库的服务器上使用自己的博客。
开发语言:PHP
应用运行环境:CentOS、Nginx、PHP、MySQL
涉及云服务:云耀云服务器HECS
金鱼哥在去年双十一活动时已经购买了HECS云耀云服务器,因此本文直接在此前购买的HECS上进行实战。
三、搭建LNMP应用运行环境
WordPress博客系统需要PHP7.4和MySQL 5.7或者MariaDB 10.3以上的版本来进行运行, 因此本次操作实战决定采用经典架构环境LNMP,L代表Linux,N代表Nginx,M代表MySQL或者MariaDB,P代表PHP。
从官方建议网页中可知,虽然还是可以安装低一点版本的PHP和数据库版本,但官方提示担心各种漏洞而受到威胁,因此肯定按着官方建议,安装所要求的版本。
WordPress搭建好后,可通过EIP进行访问,整体的应用拓扑如下图所示:
1. 安装Nginx
1.1 配置yum源
没有特别需求的情况下,可使用yum进行安装,但由于EPEL源(ECS默认配置好)中的版本是1.20,如果想安装更多历史版本或者最新版本,就需要添加nginx的官方源,官网源配置可参考官网地址:https://nginx.org/en/linux_packages.html。
# 参考官网进行源文件编辑。
[root@goldfish ~]# vim /etc/yum.repos.d/nginx.repo
[nginx-stable]
name=nginx stable repo
baseurl=http://nginx.org/packages/centos/$releasever/$basearch/
gpgcheck=1
enabled=1
gpgkey=https://nginx.org/keys/nginx_signing.key
module_hotfixes=true
[nginx-mainline]
name=nginx mainline repo
baseurl=http://nginx.org/packages/mainline/centos/$releasever/$basearch/
gpgcheck=1
enabled=0
gpgkey=https://nginx.org/keys/nginx_signing.key
module_hotfixes=true
# 查看配置好的yum源情况。
[root@goldfish ~]# yum repolist
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
repo id repo name status
base/7/x86_64 CentOS-7 - Base 10,072
epel/x86_64 Extra Packages for Enterprise Linux 7 - x86_64 13,746
extras/7/x86_64 CentOS-7 - Extras 515
nginx-stable/7/x86_64 nginx stable repo 298
updates/7/x86_64 CentOS-7 - Updates 4,385
repolist: 29,016
可使用命令 yum --showduplicates list nginx
查看源中nginx的版本。
执行一下命令进行安装:
yum -y install nginx
出现Complete
表示 Nginx 安装完成。
1.2 启动并进行测试
使用以下命令进行启动并设置开机自启动:
[root@goldfish ~]# systemctl start nginx
[root@goldfish ~]# systemctl enable nginx
可使用浏览器访问http://弹性IP地址
,若Nginx 安装成功,则会显示如下页面:
2. 安装MySQL
2.1 下载并安装
安装方式可以添加官方安装源,然后直接安装 mysql-community-server
,金鱼哥这里用另外一种安装方式,因为用官方安装源需要访问国外的网站来进行下载,速度通常都很慢,很感人,因此可以使用国内镜像源来进行下载安装。例如直接去华为云的MySQL镜像源进行下载,MySQL5.7版本的地址为:https://repo.huaweicloud.com/mysql/Downloads/MySQL-5.7/
因此可以在HECS上直接wget所需要的包,源里最新版本为5.7.38,那此次部署就安装此版本。分别下载以下软件包:
wget https://repo.huaweicloud.com/mysql/Downloads/MySQL-5.7/mysql-community-common-5.7.38-1.el7.x86_64.rpm
wget https://repo.huaweicloud.com/mysql/Downloads/MySQL-5.7/mysql-community-libs-5.7.38-1.el7.x86_64.rpm
wget https://repo.huaweicloud.com/mysql/Downloads/MySQL-5.7/mysql-community-libs-compat-5.7.38-1.el7.x86_64.rpm
wget https://repo.huaweicloud.com/mysql/Downloads/MySQL-5.7/mysql-community-client-5.7.38-1.el7.x86_64.rpm
wget https://repo.huaweicloud.com/mysql/Downloads/MySQL-5.7/mysql-community-server-5.7.38-1.el7.x86_64.rpm
在安装前,先查找是否安装过相关的mysql和mariadb的包,有的话进行卸载,以免造成冲突。
之后按着以下顺序进行安装:
rpm -ivh mysql-community-common-5.7.38-1.el7.x86_64.rpm
rpm -ivh mysql-community-libs-5.7.38-1.el7.x86_64.rpm
rpm -ivh mysql-community-libs-compat-5.7.38-1.el7.x86_64.rpm
rpm -ivh mysql-community-client-5.7.38-1.el7.x86_64.rpm
rpm -ivh mysql-community-server-5.7.38-1.el7.x86_64.rpm
期间若出现库的依赖提示,则需要把对应的库安装上,再进行安装。
[root@goldfish ~]# yum -y install libaio
[root@goldfish ~]# rpm -ivh mysql-community-server-5.7.38-1.el7.x86_64.rpm
2.2 启动并设置密码
# 启动mysql会生成临时密码(注意,别一上来就使用enable,因为很多时候会出现错误导致启动不了)。
[root@goldfish ~]# systemctl start mysqld
# 第一次可通过 grep "password" /var/log/mysqld.log 命令获取MySQL的临时密码。
[root@goldfish ~]# grep "password" /var/log/mysqld.log
2023-03-10T10:37:03.980267Z 1 [Note] A temporary password is generated for root@localhost: dilL<AVtC6g8
用该密码登录到服务端后,必须马上修改密码,不然操作查询时会报错误。
刚开始设置的密码必须符合长度,且必须含有数字,小写或大写字母,特殊字符。
[root@goldfish ~]# mysql -uroot -p'dilL<AVtC6g8'
mysql> set global validate_password_policy=0;
mysql> set global validate_password_length=1;
mysql> set password for 'root'@'localhost'=password('huawei@123');
mysql> flush privileges;
mysql> quit
设置开机自启动。
[root@goldfish ~]# systemctl enable mysqld
3. 安装PHP
3.1 添加源并安装
因没特别的需求,所以此处不使用源码编译安装的方式,而使用yum来进行安装。
而系统所带的源没有PHP高版本,因此需要其他可信源来进行安装,例如使用remi源。
[root@goldfish ~]# yum -y install http://rpms.remirepo.net/enterprise/remi-release-7.rpm
[root@goldfish ~]# yum repolist
可使用命令yum --showduplicate --enablerepo=remi --enablerepo=remi-php74 list php
来查看源中包含PHP各版本相关的软件包。
执行以下命令安装 PHP7.4 和一些所需的 PHP 扩展:
yum -y install --enablerepo=remi --enablerepo=remi-php74 php php-tidy php-common php-devel php-pdo php-mysql* php-gd php-ldap php-mbstring php-mcrypt php-fpm
注意:可能会出现由于网络超时而导致中途未能安装的包,等执行完之后,再执行多一次安装命令即可安装上。
安装完成后,若再次执行命令会出现如下的提示:
3.2 启动php-fpm服务
[root@goldfish ~]# php -v
PHP 7.4.33 (cli) (built: Feb 14 2023 09:31:03) ( NTS )
Copyright (c) The PHP Group
Zend Engine v3.4.0, Copyright (c) Zend Technologies
[root@goldfish ~]#
[root@goldfish ~]# systemctl start php-fpm
[root@goldfish ~]# systemctl enable php-fpm
Created symlink from /etc/systemd/system/multi-user.target.wants/php-fpm.service to /usr/lib/systemd/system/php-fpm.service.
[root@goldfish ~]#
[root@goldfish ~]# netstat -lntup | grep 9000
tcp 0 0 127.0.0.1:9000 0.0.0.0:* LISTEN 18871/php-fpm: mast
4. 启用PHP支持
4.1 编辑配置文件
修改nginx配置文件,配置启用PHP支持。如果担心修改配置文件出错,可备份一下默认的配置文件。
[root@goldfish ~]# cp -a /etc/nginx/conf.d/default.conf /etc/nginx/conf.d/default.conf.bak
[root@goldfish ~]# vim /etc/nginx/conf.d/default.conf
server {
listen 80;
server_name localhost;
#access_log /var/log/nginx/host.access.log main;
location / {
root /usr/share/nginx/html;
index index.html index.htm index.php;
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root /usr/share/nginx/html;
}
location ~ \.php$ {
root html;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME /usr/share/nginx/html$fastcgi_script_name;
include fastcgi_params;
}
}
4.2 测试LNMP的PHP支持
编辑PHP测试页面。
[root@goldfish ~]# echo "<?php phpinfo(); ?>" > /usr/share/nginx/html/index.php
编辑了页面后,需要重载服务。
[root@goldfish ~]# systemctl reload nginx
使用浏览器访问弹性IP地址/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 |
| wordpress |
+--------------------+
2 rows in set (0.00 sec)
至此,WordPress所需要的运行环境已经搭建完毕,接下来可以进行WordPress博客系统的安装。
四、安装并配置WordPress
1. 下载并上传软件包
1.1 下载英文版本并上传
打开WordPress官网的下载页面:https://wordpress.org/download/releases/ ,下载 tag.gz 格式的
软件包至本地。
将下载的WordPress软件包从本地上传至 HECS 中,若有小伙伴不知道如何操作,可参考以下文章:本地Windows 主机使用 WinSCP 上传文件到 Linux 云服务器。
金鱼哥习惯使用Xftp和FileZilla来进行文件上传,其实方法有很多,使用自己最习惯的工具就好。
1.2 下载中文版本并上传
对于我们的习惯,肯定想使用中文版,所以也可从官网中文网站进行下载,下载地址:https://cn.wordpress.org/download/
之后就可以直接上传到主机中,此处我们也可以使用wget命令来进行下载(现时官网路径没变,因此url可用,若变了,就需要更改为正确的地址):
wget https://cn.wordpress.org/latest-zh_CN.tar.gz -O wordpress-6.1.1-zh_CN.tar.gz
2. 解压软件包
tar -xzf wordpress-6.1.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用户和组的权限呢?
因为php-fpm启动的用户和组默认是apache,这个在配置文件中和运行的进程中可查出。
如果不设置对应的权限,当后面更换主题和插件会有提示:WordPress需要访问你网页服务器的权限。
4. 配置WordPress配置文件
4.1 复制模板文件
进入 WordPress 项目目录,将wp-config-sample.php
文件复制名为wp-config.php
的文件用作配置文件,并保留示例配置文件以作备份。
cd /usr/share/nginx/html/wordpress
cp 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]" 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' );
82:define( 'WP_DEBUG', false );
91:if ( ! defined( 'ABSPATH' ) ) {
96:require_once ABSPATH . 'wp-settings.php';
5. 安装WordPress
在浏览器地址栏输入http://弹性IP地址/wordpress
即可跳转至安装页面:
填写对应的表单信息后,即可点击安装WordPress
。
若WordPress安装完成,会如下图所示:
6. 登录管理后台
在完成安装界面输入密码选择登录
,或者在浏览器输入http://弹性IP地址/wordpress/wp-admin
进入后台登录界面并输入账号和密码即可登录管理后台。
登录管理台,可在页面见到网站仪表盘
:
7. 查看主页
点击查看站点
或者在浏览器输入http://弹性IP地址/wordpress
即可查看主页。
8. 插件安装
可以在管理界面选择想要的主题和插件,可使用在线安装的方式进行安装,也可以在线更新各种插件(PS:前提是设置好此前所说的访问权限,不然会弹出授权界面)。
安装完成后,点击启用
即可使用,并可在已安装插件中查看:
至此,已完成整个WordPress项目的部署。
五、总结
网上众多搭建WordPress的文章中有些地方不完美和不合理,例如在安装PHP版本中,webtatic源并没有7.4的版本,而WordPress6.0或以上的版本,官方已经明确建议使用PHP7.4或以上的版本,那为什么还安装低版本呢?其次,在权限设置那里,有些文章竟然使用了777的权限设置,在生产环境中,这是最忌讳的设置,怎么能随意给777的权限呢?
因此,金鱼哥决定使用华为云的HECS服务器进行实战。希望金鱼哥的分享能帮助到大家,这也是金鱼哥写下这篇文章的原因之一。
从这项目的部署使用中,使用了众多操作系统的基础,也安装了众多服务,还搭建了经典架构LNMP,之后还在此架构上搭建对应的应用。这些都是必须要掌握的工作技能,希望看到此文章的小伙伴都能掌握,都有所获。
【玩转“云耀云服务器(HECS)”有奖征文来袭!惊喜大礼包激励等你来拿!】有奖征文第20期正在火热进行中:
https://bbs.huaweicloud.com/blogs/391930
- 点赞
- 收藏
- 关注作者
评论(0)