华为云:搭建WordPress

来自CloudWiki
跳转至: 导航搜索

创建共享带宽

当部署在华为云上的项目需要访问或者对外提供服务时,公网连接时可以选择独享带宽或者共享带宽,对于业务压力和流量负载没有过高要求的情况,我们可以把多个EIP绑定在同一个共享带宽上,使该带宽资源得到最大化利用并节省开支。

进入共享带宽页面

进入华为云控制台,鼠标移动到云桌面浏览器页面中左侧菜单栏,点击服务列表->”网络”->“虚拟私有云VPC”,进入后点击左侧栏“弹性公网IP和带宽”下的“共享带宽“,打开如下图所示:

共享带宽

共享带宽可以实现多个弹性公网IP(EIP)共同使用一条带宽。同一区域下的所有已绑定EIP的弹性云服务器、裸金属服务器、弹性负载均衡等实例共用一条带宽资源,从而节省网络运营成本,同时方便运维统计。共享带宽操作灵活,不区分EIP类型及绑定实例类型,您可以随时从共享带宽中增加或移出按需计费的EIP

配置安全组

在安全组列表页点击所创建的安全组名称,进入安全组详情页面。

点击“入方向规则”->“添加规则”,并按下图添加入方向规则,配置如下:

① 优先级:1
② 策略:允许
③ 协议端口:全部放通;
④ IP地址设为0.0.0.0/0。
点击“确定”。

Cloud2021120101.png

创建虚拟私有云(VPC)

虚拟私有云(Virtual Private Cloud)是用户在华为云上申请的隔离的、私密的虚拟网络环境。用户可以自由配置VPC内的IP地址段、子网、安全组等子服务,也可以申请弹性带宽和弹性IP搭建业务系统。 3.1进入虚拟私有云页面

点击左侧栏“虚拟私有云”,

创建弹性云服务器(ECS)

该步骤创建并配置(安装WordPress,连接MySQL数据库,实现开机启动等)一台ECS,之后业务需要扩充时,只需要利用该ECS创建的镜像创建即可。

搭建LAMP(Linux,Apache,MySQL,PHP)环境

该步骤创建并配置(安装WordPress,连接MySQL数据库,实现开机启动等)一台ECS,之后业务需要扩充时,只需要利用该ECS创建的镜像创建即可。

①键入如下命令安装LAMP环境,并开启相应服务:

什么是LAMP?

LAMP指的Linux(操作系统)、ApacheHTTP 服务器,MySQL(有时也指MariaDB,数据库软件)和PHP(有时也是指Perl或Python)的第一个字母,一组常用来搭建动态网站或者服务器的开源软件,本身都是各自独立的程序,但是因为常被放在一起使用,拥有了越来越高的兼容度,共同组成了一个强大的Web应用程序平台。

安装LAMP

yum install -y httpd php php-fpm php-server php-mysql mysql


安装 MySQL 数据库:

由于使用wordpress搭建云上博客,需要使用MySQL数据库存储数据,所以这一步我们安装一下MySQL。

执行如下命令,下载并安装MySQL官方的Yum Repository。

wget http://dev.mysql.com/get/mysql57-community-release-el7-10.noarch.rpm

yum -y install mysql57-community-release-el7-10.noarch.rpm

yum -y install mysql-community-server

Dependency Installed:
  libaio.x86_64 0:0.3.109-13.el7
  mysql-community-client.x86_64 0:5.7.32-1.el7
  mysql-community-common.x86_64 0:5.7.32-1.el7

Dependency Updated:
  postfix.x86_64 2:2.10.1-9.el7

Replaced:
  mariadb-libs.x86_64 1:5.5.64-1.el7

Complete!

配置apache

配置httpd服务,输入以下命令编辑配置。

vim /etc/httpd/conf/httpd.conf

③在打开的配置文件界面,单击快捷键“shift+g”,进入配置文件最后一行。单击快捷键“i”进入编辑模式,移动光标至配置文件末尾,回车换行,拷贝粘贴以下配置代码。

ServerName localhost:80

单击快捷键“ESC”退出编辑模式,在编辑器任意位置右键粘贴以下代码,回车执行保存并退出配置文件。

:wq

下载WordPress安装软件

键入如下命令,下载WordPress安装软件:

什么是WordPress?

WordPress是使用PHP语言开发的博客平台,用户可以在支持PHP和MySQL数据库的服务器上架设属于自己的网站。也可以把 WordPress当作一个内容管理系统(CMS)来使用。

wget -c https://sandbox-experiment-resource.obs-website.cn-north-1.myhwclouds.com/30min-website/wordpress-4.9.1-zh_CN.tar.gz

运行结束,显示‘ wordpress-4.9.1-zh_CN.tar.gz’saved (WordPress安装包已下载完成)。

解压WordPress安装软件

键入如下命令,将WordPress安装包解压到目录/var/www/html:

tar -zxvf wordpress-4.9.1-zh_CN.tar.gz -C /var/www/html

开启安装包所在目录的读写权限

键入如下命令,赋予文件所在目录读写权限:

chmod -R 777 /var/www/html

开启httpd service

键入如下命令,开启httpd service :

systemctl start httpd.service

开启php-fpm service

键入如下命令,开启php-fpm service:

systemctl start php-fpm.service

查看httpd service状态

键入如下命令,查看httpd service状态:

systemctl status httpd

如下图所示,httpd状态为高亮显示的active(running)。

● httpd.service - The Apache HTTP Server
   Loaded: loaded (/usr/lib/systemd/system/httpd.service; disabled; vendor preset: disabled)
   Active: active (running) since Wed 2021-12-01 16:52:28 CST; 46s ago
     Docs: man:httpd(8)
           man:apachectl(8)
 Main PID: 8177 (httpd)
   Status: "Total requests: 0; Current requests/sec: 0; Current traffic:   0 B/sec"
   CGroup: /system.slice/httpd.service
           ├─8177 /usr/sbin/httpd -DFOREGROUND
           ├─8179 /usr/sbin/httpd -DFOREGROUND
           ├─8180 /usr/sbin/httpd -DFOREGROUND
           ├─8181 /usr/sbin/httpd -DFOREGROUND
           ├─8182 /usr/sbin/httpd -DFOREGROUND
           └─8183 /usr/sbin/httpd -DFOREGROUND


查看php-fpm service状态

键入如下命令,查看php-fpm service状态 :

systemctl status php-fpm

如下图所示,php-fpm状态为高亮显示的active(running)。

● php-fpm.service - The PHP FastCGI Process Manager
   Loaded: loaded (/usr/lib/systemd/system/php-fpm.service; disabled; vendor preset: disabled)
   Active: active (running) since Wed 2021-12-01 16:52:48 CST; 1min 18s ago
 Main PID: 8190 (php-fpm)
   Status: "Processes active: 0, idle: 5, Requests: 0, slow: 0, Traffic: 0req/sec"
   CGroup: /system.slice/php-fpm.service
           ├─8190 php-fpm: master process (/etc/php-fpm.conf)
           ├─8192 php-fpm: pool www
           ├─8193 php-fpm: pool www
           ├─8194 php-fpm: pool www
           ├─8195 php-fpm: pool www
           └─8196 php-fpm: pool www

Dec 01 16:52:48 ecs-bf74 systemd[1]: Starting The PHP FastCGI Process Manager...
Dec 01 16:52:48 ecs-bf74 systemd[1]: Started The PHP FastCGI Process Manager

将httpd服务设为开机启动

键入如下命令,将httpd服务设为开机启动 :

systemctl enable httpd


将php-fpm服务设为开机启动

键入如下命令,将php-fpm服务设为开机启动:

systemctl enable php-fpm

配置MySql

执行如下命令,启动 MySQL 数据库。

systemctl start mysqld.service

执行如下命令,查看MySQL运行状态。

systemctl status mysqld.service

● mysqld.service - MySQL Server
   Loaded: loaded (/usr/lib/systemd/system/mysqld.service; enabled; vendor preset: disabled)
   Active: active (running) since Wed 2020-10-21 22:45:23 CST; 1min 17s ago
     Docs: man:mysqld(8)
           http://dev.mysql.com/doc/refman/en/using-systemd.html
  Process: 1894 ExecStart=/usr/sbin/mysqld --daemonize --pid-file=/var/run/mysqld/mysqld.pid $MYSQLD_OPTS (code=exited, status=0/SUCCESS)
  Process: 1845 ExecStartPre=/usr/bin/mysqld_pre_systemd (code=exited, status=0/SUCCESS)
 Main PID: 1897 (mysqld)
   CGroup: /system.slice/mysqld.service
           └─1897 /usr/sbin/mysqld --daemonize --pid-file=/var/run/mysqld/mys...

Oct 21 22:45:19 iZuf642qryjwia85no22peZ systemd[1]: Starting MySQL Server...
Oct 21 22:45:23 iZuf642qryjwia85no22peZ systemd[1]: Started MySQL Server.


执行如下命令,查看MySQL初始密码。

[root@iZuf642qryjwia85no22peZ ~]# grep "password" /var/log/mysqld.log

2020-10-21T14:45:21.551949Z 1 [Note] A temporary password is generated for root@localhost: vMl=-xhVp7U6

执行如下命令,登录数据库。

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

Enter password:
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 2
Server version: 5.7.32

执行如下命令,修改MySQL默认密码。

   说明 新密码设置的时候如果设置的过于简单会报错,必须同时包含大小写英文字母、数字和特殊符号中的三类字符。
ALTER USER 'root'@'localhost' IDENTIFIED BY 'NewPassWord1.';

执行如下命令,创建wordpress库。

create database wordpress; 


执行如下命令,创建wordpress库。 执行如下命令,查看是否创建成功。

show databases;

输入exit退出数据库。

Wordpress安装和配置

本小节将在已搭建好的LAMP 环境中,安装部署 WordPress

执行如下命令,安装wordpress。

yum -y install wordpress

显示如下信息表示安装成功。

Dependency Installed:
  libicu.x86_64 0:50.2-4.el7_7
  php-IDNA_Convert.noarch 0:0.8.0-2.el7
  php-PHPMailer.noarch 0:5.2.27-1.el7
  php-fedora-autoloader.noarch 0:1.0.1-2.el7
  php-getid3.noarch 1:1.9.20-1.el7
  php-intl.x86_64 0:5.4.16-48.el7
  php-simplepie.noarch 0:1.3.1-4.el7

Complete!

修改WordPress配置文件。

1)执行如下命令,修改wp-config.php指向路径为绝对路径。

# 进入/usr/share/wordpress目录。
cd /usr/share/wordpress
# 修改路径。
ln -snf /etc/wordpress/wp-config.php wp-config.php
# 查看修改后的目录结构。
ll

2)执行如下命令,移动wordpress到Apache根目录。

# 在Apache的根目录/var/www/html下,创建一个wp-blog文件夹。
mkdir /var/www/html/wp-blog
mv * /var/www/html/wp-blog/

3)执行以下命令修改wp-config.php配置文件。

在执行命令前,请先替换以下三个参数值。

  • database_name_here为之前步骤中创建的数据库名称,本示例为wordpress。
  • username_here为数据库的用户名,本示例为root。
  • password_here为数据库的登录密码,本示例为NewPassWord1.。
sed -i 's/database_name_here/wordpress/' /var/www/html/wp-blog/wp-config.php
sed -i 's/username_here/root/' /var/www/html/wp-blog/wp-config.php
sed -i 's/password_here/NewPassWord1./' /var/www/html/wp-blog/wp-config.php

4)执行以下命令,查看配置文件信息是否修改成功。

cat -n /var/www/html/wp-blog/wp-config.php
    16   * @link https://codex.wordpress.org/Editing_wp-config.php
    17   *
    18   * @package WordPress
    19   */
    20
    21  // ** MySQL settings - You can get this info from your web host ** //
    22  /** The name of the database for WordPress */
    23  define( 'DB_NAME', 'wordpress' );
    24
    25  /** MySQL database username */
    26  define( 'DB_USER', 'root' );
    27
    28  /** MySQL database password */
    29  define( 'DB_PASSWORD', 'NewPassWord1.' );
    30
    31  /** MySQL hostname */
    32  define( 'DB_HOST', 'localhost' );

执行如下命令,重启Apache服务。

systemctl restart httpd

测试Wordpress

完成以上所有步骤后,就可以测试我们基于ECS所搭建的云上博客了。

1. 打开浏览器并访问http://<ECS公网IP>/wp-blog/wp-admin/install.php

2. 根据以下信息完成wordpress初始化配置。

   Site Title:站点名称,例如:Hello ADC。
   Username:管理员用户名,例如:admin。
   Password:访问密码,例如:JtC^7fA$*@m*NWwGR$。
   Your Email:email地址,建议为真实有效的地址。若没有,可以填写虚拟email地址,但将无法接收信息,例如:admin@admin.com。

Cloud201021-2.png

Cloud201021-3.png

Cloud201021-4.png

Cloud201021-5.png