基于Linux命令实现WordPress手动建站
1. 创建资源
在实验开始之前,您需要创建相关实验资源。
1.在实验室页面,单击创建资源。
2.(可选)在实验室页面左侧导航栏中,单击云产品资源列表,可查看本次实验资源相关信息(例如IP地址、用户信息等)。
说明:资源创建过程需要1~3分钟。
2. 手动部署LNMP环境
1)准备编译环境
a.远程连接需要部署LNMP环境的ECS实例,点击右侧 Web Terminal。实验环境已经提供了一个连接好的ECS服务器。
b.关闭防火墙
i. 复制粘贴下方命令进行执行,查看当前防火墙的状态。
systemctl status firewalld
说明:
如果防火墙的状态参数是inactive,则防火墙为关闭状态。
如果防火墙的状态参数是active,则防火墙为开启状态。
ii. 关闭防火墙。如果防火墙为关闭状态可以忽略此步骤
如果您想临时关闭防火墙,需要运行以下命令:
systemctl stop firewalld
如果您想永久关闭防火墙,需要依次运行以下命令:
关闭防火墙
systemctl stop firewalld
实例开机时,禁止启动防火墙服务
systemctl disable firewalld
c.关闭SELinux
i. 运行命令
getenforce
查看SELinux的当前状态
如果SELinux状态参数是Disabled,则SELinux为关闭状态。
如果SELinux状态参数是Enforcing,则SELinux为开启状态。
ii. 关闭SELinux。如果SELinux为关闭状态可以忽略此步骤
SELinux关闭的方式分为临时关闭和永久关闭,请您根据自身业务需求进行选择
2)安装Nginx
a.运行以下命令安装Nginx
yum -y install nginx
b.运行以下命令查看Nginx版本
nginx -v
返回结果如下所示,表示Nginx安装成功
3)安装MySQL
c. 运行以下命令更新YUM源
rpm -Uvh http://dev.mysql.com/get/mysql57-community-release-el7-9.noarch.rpm
d. 运行以下命令安装MySQL
yum -y install mysql-community-server --nogpgcheck
注意:如果您使用的操作系统内核版本为el8,可能会提示报错信息No match for argument。您需要先运行命令yum module disable mysql禁用默认的MySQL模块,再安装MySQL
e. 运行以下命令查看MySQL版本号
mysql -V
返回结果如下所示,表示MySQL安装成功
f. 运行以下命令启动MySQL
systemctl start mysqld
g. 依次运行以下命令设置开机启动MySQL
systemctl enable mysqld
systemctl daemon-reload
4)安装PHP
a.更新YUM源
ⅰ. 运行以下命令添加epel源
yum install \ https://repo.ius.io/ius-release-el7.rpm \ https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
出现提示输入y
ⅱ. 运行以下命令添加Webtatic源
rpm -Uvh https://uk.repo.webtatic.com/yum/el7/webtatic-release.rpm
b.运行以下命令安装PHP
yum -y install php70w-devel php70w.x86_64 php70w-cli.x86_64 php70w-common.x86_64 php70w-gd.x86_64 php70w-ldap.x86_64 php70w-mbstring.x86_64 php70w-mcrypt.x86_64 php70w-pdo.x86_64 php70w-mysqlnd php70w-fpm php70w-opcache php70w-pecl-redis php70w-pecl-mongodb
c.运行以下命令查看PHP版本
php -v
返回结果如下所示,表示安装成功
5)配置Nginx
a.运行以下命令备份Nginx配置文件
cp /etc/nginx/nginx.conf /etc/nginx/nginx.conf.bak
b.修改Nginx配置文件,添加Nginx对PHP的支持
ⅰ. 运行以下命令打开Nginx配置文件
vim /etc/nginx/nginx.conf
ⅱ. 按 i 进入编辑模式
ⅲ. 在server大括号内,修改或添加下列配置信息。
除下面提及的需要添加或修改的配置信息外,其他配置保持默认值即可,添加location /配置信息如下:
location / { index index.php index.html index.htm; } location ~ .php$ { root /usr/share/nginx/html; fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params; }
添加或修改配置信息后,文件内容如下图所示:
ⅳ. 按下 Esc 键后,输入 :wq 并回车以保存关闭配置文件
c.运行以下命令启动Nginx服务
systemctl start nginx
d.运行以下命令设置Nginx服务开机自启动
systemctl enable nginx
6)配置MySQL
a.运行以下命令查看/var/log/mysqld.log文件,获取并记录root用户的初始密码
grep 'temporary password' /var/log/mysqld.log
命令行返回结果如下,其中cthgjUNTh8,t为MySQL的初始密码(初始密码以显示的为准)。在下一步重置root用户密码时,会使用该初始密码。
b.运行以下命令配置MySQL的安全性
mysql_secure_installation
ⅰ. 输入MySQL的初始密码,输入上一步获取的root用户初始密码
ⅱ. 为MySQL设置新密码
注意:
输入新密码。长度为8至30个字符,必须同时包含大小写英文字母、数字和特殊符号。特殊符号包含()` ~!@#$%^&*-+=|{}[]:;‘<>,.?/
确认使用新密码,输入y。
#新密码设置完成后,需要再次验证新密码。
再次输入新密码,并输入y进行确认。
ⅲ. 输入 y 删除匿名用户
ⅳ. 输入 y 禁止使用root用户远程登录MySQL
ⅴ. 输入 y 删除test库以及用户对test库的访问权限
ⅵ. 输入 y 重新加载授权表
7)配置PHP
a.新建并编辑phpinfo.php文件,用于展示PHP信息
ⅰ. 运行以下命令新建phpinfo.php文件
vim <网站根目录>/phpinfo.php
说明:<网站根目录>是您在nginx.conf配置文件中location ~ .php$大括号内,配置的root参数值,如下图所示
本文配置的网站根目录为/usr/share/nginx/html,因此需要运行以下命令新建phpinfo.php文件:
vim /usr/share/nginx/html/phpinfo.php
ⅱ. 按 i 进入编辑模式
ⅲ. 输入下列内容,函数phpinfo()会展示PHP的所有配置信息
<?php echo phpinfo(); ?>
ⅳ. 按 Esc 键后,输入 :wq 并回车,保存关闭配置文件
b.运行以下命令启动PHP-FPM
systemctl start php-fpm
c.运行以下命令设置PHP-FPM开机自启动
systemctl enable php-fpm
8)测试访问LNMP配置信息页面
a.在本地Windows主机或其他具有公网访问能力的Windows主机中,打开浏览器。
b.在浏览器的地址栏输入 http://<ECS实例公网IP地址>/phpinfo.php 进行访问。
说明:ECS公网地址在云产品资源列表查询。
访问结果如下图所示,表示LNMP环境部署成功。
3. 手动搭建WordPress
1)配置WordPress数据库
a. 进入MySQL数据库
使用root用户登录MySQL,并输入密码。密码为您在搭建环境时为数据库设置的密码
mysql -uroot -p
b. 为WordPress网站创建数据库;本教程中数据库名为wordpress
create database wordpress;
c. 创建一个新用户管理WordPress库,提高安全性。
MySQL在5.7版本后默认安装了密码强度验证插件validate_password。您可以登录MySQL后查看密码强度规则
show variables like "%password%";
说明:本实验中创建新用户user,新用户密码为PASSword123.
create user 'user'@'localhost' identified by 'PASSword123.';
d. 赋予用户对数据库wordpress的全部权限
grant all privileges on wordpress.* to 'user'@'localhost' identified by 'PASSword123.';
e. 使配置生效
flush privileges;
f. 输入 exit 退出MySQL
exit;
2)下载WordPress,并移动至网站根目录
a. 下载WordPress
通过yum命令下载的WordPress保存在/usr/share/wordpress目录下
yum -y install wordpress
b. 将下载的WordPress移动至网站根目录
mv /usr/share/wordpress /usr/share/nginx/html/wordpress
3)修改WordPress配置文件
a. 进入移动后的WordPress路径下,软连接配置文件wp-config.php
cd /usr/share/nginx/html/wordpress ln -snf /etc/wordpress/wp-config.php wp-config.php
b. 编辑wp-config.php文件
vim wp-config.php
c.按 i 键切换至编辑模式,根据已配置的WordPress数据库信息,修改MySQL相关配置信息,修改代码如下所示。
WordPress网站的数据信息将通过数据库的user用户保存在名为wordpress的数据库中
d. 修改完成后,按下 Esc 键后,输入 :wq 并回车,保存退出配置文件
4)修改Nginx配置文件
a. 运行以下命令打开Nginx配置文件
vim /etc/nginx/nginx.conf
b.按 i 键进入编辑模式
在server大括号内,将root后的内容替换为WordPress根目录。本示例中根目录为/usr/share/nginx/html/wordpress。
在location ~ .php$大括号内,将root后的内容替换为WordPress根目录
c. 修改完成后,按下 Esc 键后,输入 :wq 并回车,保存退出配置文件
d. 运行以下命令重启Nginx服务
systemctl restart nginx
5)安装并登录WordPress网站
a.在本地物理机上使用浏览器访问ECS实例公网IP,进入WordPress安装页面
b.填写网站基本信息,然后单击安装WordPress。
参数说明:
- 站点标题:WordPress网站的名称。例如:demowp。
- 用户名:登录WordPress时所需的用户名,请注意安全性。例如:testwp。
- 密码:登录WordPress时所需的密码,建议您设置安全性高的密码。例如:Wp.123456。
- 您的电子邮件:用于接收通知的电子邮件。例如:1234567890@aliyun.com。
c. 单击登录
d. 输入在安装WordPress时设置的用户名testwp和密码Wp.123456,然后单击登录。
成功进入您个人的WordPress网站
实验地址:https://developer.aliyun.com/adc/scenario/580e6c87467d4048b74dbc046fb1e037