基于Linux命令实现WordPress手动建站

简介: 本场景将提供1台Linux云服务器实例,通过Linux命令实现WordPress的部署实践。

基于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

相关文章
|
3天前
|
Linux
在 Linux 系统中,“cd”命令用于切换当前工作目录
在 Linux 系统中,“cd”命令用于切换当前工作目录。本文详细介绍了“cd”命令的基本用法和常见技巧,包括使用“.”、“..”、“~”、绝对路径和相对路径,以及快速切换到上一次工作目录等。此外,还探讨了高级技巧,如使用通配符、结合其他命令、在脚本中使用,以及实际应用案例,帮助读者提高工作效率。
18 3
|
3天前
|
监控 安全 Linux
在 Linux 系统中,网络管理是重要任务。本文介绍了常用的网络命令及其适用场景
在 Linux 系统中,网络管理是重要任务。本文介绍了常用的网络命令及其适用场景,包括 ping(测试连通性)、traceroute(跟踪路由路径)、netstat(显示网络连接信息)、nmap(网络扫描)、ifconfig 和 ip(网络接口配置)。掌握这些命令有助于高效诊断和解决网络问题,保障网络稳定运行。
16 2
|
3天前
|
安全 网络协议 Linux
本文详细介绍了 Linux 系统中 ping 命令的使用方法和技巧,涵盖基本用法、高级用法、实际应用案例及注意事项。
本文详细介绍了 Linux 系统中 ping 命令的使用方法和技巧,涵盖基本用法、高级用法、实际应用案例及注意事项。通过掌握 ping 命令,读者可以轻松测试网络连通性、诊断网络问题并提升网络管理能力。
18 3
|
6天前
|
Linux
在 Linux 系统中,`find` 命令是一个强大的文件查找工具
在 Linux 系统中,`find` 命令是一个强大的文件查找工具。本文详细介绍了 `find` 命令的基本语法、常用选项和具体应用示例,帮助用户快速掌握如何根据文件名、类型、大小、修改时间等条件查找文件,并展示了如何结合逻辑运算符、正则表达式和排除特定目录等高级用法。
30 6
|
7天前
|
监控 Linux 开发者
如何在 Linux 中优雅的使用 head 命令,用来看日志简直溜的不行
`head` 命令是 Linux 系统中一个非常实用的工具,用于快速查看文件的开头部分内容。本文介绍了 `head` 命令的基本用法、高级用法、实际应用案例及注意事项,帮助用户高效处理文件和日志,提升工作效率。
21 7
|
7天前
|
监控 Linux Perl
Linux 命令小技巧:显示文件指定行的内容
在 Linux 系统中,处理文本文件是一项常见任务。本文介绍了如何使用 head、tail、sed 和 awk 等命令快速显示文件中的指定行内容,帮助你高效处理文本文件。通过实际应用场景和案例分析,展示了这些命令在代码审查、日志分析和文本处理中的具体用途。同时,还提供了注意事项和技巧,帮助你更好地掌握这些命令。
21 4
|
6天前
|
缓存 网络协议 Linux
Linux ip命令常用操作
Linux的 `ip`命令是一个强大且灵活的网络管理工具,能够执行从基本的网络接口配置到高级的路由和VLAN管理等多种操作。通过熟练掌握这些常用操作,用户可以更加高效地管理和配置Linux系统的网络环境。无论是在日常管理还是故障排除中,`ip`命令都是必不可少的工具。
11 2
|
4月前
【wordpress教程】wordpress博客网站添加非法关键词拦截
有的网站经常被恶意搜索,站长们不胜其烦。那我们如何屏蔽恶意搜索关键词呢?下面就随小编一起来解决这个问题吧。
80 1
|
1月前
|
XML 搜索推荐 机器人
五个 WordPress 插件可提高网站参与度
五个 WordPress 插件可提高网站参与度
|
1月前
|
缓存 弹性计算 应用服务中间件
如何使用 Wordpress?托管, 网站, 插件, 缓存
如何使用 Wordpress?托管, 网站, 插件, 缓存