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

本文涉及的产品
云服务器 ECS,每月免费额度200元 3个月
云服务器ECS,u1 2核4GB 1个月
简介: 本场景将提供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

相关文章
|
2天前
|
监控 Linux Perl
【专栏】Linux 命令小技巧:显示文件指定行的内容
【4月更文挑战第28天】本文介绍了Linux中显示文件指定行内容的方法,包括使用`head`和`tail`命令显示文件头尾部分,利用`sed`的行号指定功能以及`awk`处理文本数据。文章还列举了在代码审查、日志分析和文本处理中的应用场景,并提醒注意文件编码、行号准确性及命令组合使用。通过练习和实践,可以提升Linux文本文件处理的效率。
|
2天前
|
运维 网络协议 Linux
【专栏】运维工程师工作时最常用的 20 个 Linux 命令有哪些?建议收藏
【4月更文挑战第28天】本文介绍了运维工程师常用的20个Linux命令,包括`ls`、`cd`、`pwd`、`mkdir`、`rm`、`cp`、`mv`、`cat`、`more`、`less`、`head`、`tail`、`grep`、`find`、`chmod`、`chown`、`chgrp`、`ps`、`top`和`ifconfig`,帮助提升工作效率。此外,还提到了其他常用的命令如`df`、`free`、`tar`、`ssh`、`scp`、`ping`、`netstat`、`iptables`、`systemctl`、`hostname`等,建议运维人员掌握以应对各种运维场景。
|
3天前
|
Linux
【Linux】深入理解ls命令
【Linux】深入理解ls命令
|
1天前
|
Linux Shell 开发工具
【Linux】:文本编辑与输出命令 轻松上手nano、echo和cat
【Linux】:文本编辑与输出命令 轻松上手nano、echo和cat
8 0
|
1天前
|
Linux 数据安全/隐私保护
Linux常用命令大全:一杯水时间让你掌握!(附目录和快捷键)(下)
Linux常用命令大全:一杯水时间让你掌握!(附目录和快捷键)
9 2
|
1天前
|
Linux Shell Python
Linux常用命令大全:一杯水时间让你掌握!(附目录和快捷键)(上)
Linux常用命令大全:一杯水时间让你掌握!(附目录和快捷键)
13 2
|
1天前
|
缓存 网络协议 Linux
Linux 网络命令大全,详细归纳!
【4月更文挑战第24天】
21 3
Linux 网络命令大全,详细归纳!
|
2天前
|
运维 监控 Linux
【专栏】别再只会使用简单的 ping 命令了,Linux 中这些高级 ping 命令可以提高工作效率!
【4月更文挑战第28天】Linux中的ping命令不仅用于基础网络连通性检查,还有许多高级功能。了解如`-c`(设置数据包数量)、`-i`(设置间隔时间)和`-w`(设置超时时间)等选项能提升效率。进阶技巧包括自定义数据包大小(`-s`)、详细统计信息(`-v`)、持续ping(`-t`)、指定源地址(`-S`)和多目标ping。这些在网络性能测试、故障排查和监控中极其有用。注意权限、参数选择,并结合其他工具以准确解读结果。提升网络管理技能,善用ping命令的全部潜力。
|
2天前
|
监控 Linux
【专栏】如何检查 Linux 内存使用量是否耗尽?这 5 个命令堪称绝了!
【4月更文挑战第28天】在 Linux 中,掌握检查内存使用情况至关重要,因为内存问题可能导致系统性能下降甚至崩溃。本文介绍了 5 个常用的检查内存命令:1) `free` 提供内存和交换区的详细信息;2) `top` 显示进程信息及内存使用;3) `vmstat` 输出系统综合信息,包括内存动态变化;4) `pidstat` 监控特定进程的内存使用;5) `/proc/meminfo` 文件提供系统内存详细数据。了解和使用这些命令能帮助用户及时发现并解决内存相关问题,确保系统稳定运行。
|
2天前
|
Linux 网络安全 数据处理
【专栏】Linux 超级强大的十六进制 dump 工具:XXD 命令,我教你应该如何使用!
【4月更文挑战第28天】Linux下的xxd命令是一个强大的二进制数据处理工具,用于十六进制转储和数据分析。它可以显示文件的十六进制和ASCII表示,方便查看内容、分析数据结构和比较文件。xxd支持指定输出格式、写入文件、数据提取和转换等功能。在网络安全分析、程序调试和数据恢复等领域有广泛应用。通过掌握xxd,用户能更深入理解和处理二进制数据。