华为云:搭建WordPress
目录
创建共享带宽
当部署在华为云上的项目需要访问或者对外提供服务时,公网连接时可以选择独享带宽或者共享带宽,对于业务压力和流量负载没有过高要求的情况,我们可以把多个EIP绑定在同一个共享带宽上,使该带宽资源得到最大化利用并节省开支。
进入共享带宽页面
进入华为云控制台,鼠标移动到云桌面浏览器页面中左侧菜单栏,点击服务列表->”网络”->“虚拟私有云VPC”,进入后点击左侧栏“弹性公网IP和带宽”下的“共享带宽“,打开如下图所示:
共享带宽
共享带宽可以实现多个弹性公网IP(EIP)共同使用一条带宽。同一区域下的所有已绑定EIP的弹性云服务器、裸金属服务器、弹性负载均衡等实例共用一条带宽资源,从而节省网络运营成本,同时方便运维统计。共享带宽操作灵活,不区分EIP类型及绑定实例类型,您可以随时从共享带宽中增加或移出按需计费的EIP
配置安全组
在安全组列表页点击所创建的安全组名称,进入安全组详情页面。
点击“入方向规则”->“添加规则”,并按下图添加入方向规则,配置如下:
① 优先级:1 ② 策略:允许 ③ 协议端口:全部放通; ④ IP地址设为0.0.0.0/0。 点击“确定”。
创建虚拟私有云(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)来使用。
运行结束,显示‘ 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。