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

相关文章
|
11天前
|
Linux Shell
Linux 中 Tail 命令的 9 个实用示例
Linux 中 Tail 命令的 9 个实用示例
38 6
Linux 中 Tail 命令的 9 个实用示例
|
16天前
|
Linux 应用服务中间件 nginx
|
2天前
|
机器学习/深度学习 存储 Linux
linux中强大且常用命令:find、xargs、grep
linux中强大且常用命令:find、xargs、grep
25 9
|
2天前
|
SQL 移动开发 Linux
linux下find、grep命令详解
linux下find、grep命令详解
35 8
|
9天前
|
存储 Linux 编译器
linux中vim介绍以及常用命令大全
linux中vim介绍以及常用命令大全
31 8
|
7天前
|
设计模式 Java Linux
Linux的20个常用命令
Linux的23个常用命令
Linux的20个常用命令
|
11天前
|
机器学习/深度学习 安全 网络协议
Web安全-Linux网络命令
Web安全-Linux网络命令
13 1
|
4月前
|
安全
SiteGround如何设置WordPress网站自动更新
iteGround Autoupdate功能会自动帮我们更新在他们这里托管的所有WordPress网站,这样做是为了保证网站安全,并且让它们一直保持最新状态。他们会根据我们选择的设置自动更新不同版本的WordPress,包括主要版本和次要版本。在每次自动更新之前,他们都会为我们的网站做一个完整的备份,这样如果有什么问题,我们可以轻松地恢复到之前的状态。在本文中,我们将介绍如何在SiteGround中设置WordPress网站自动更新。
528 0
SiteGround如何设置WordPress网站自动更新
|
4月前
|
关系型数据库 MySQL Apache
怎么在树莓派上搭建WordPress博客网站,并发布到外网可访问?
怎么在树莓派上搭建WordPress博客网站,并发布到外网可访问?
567 1
|
2月前
【wordpress教程】wordpress博客网站添加非法关键词拦截
有的网站经常被恶意搜索,站长们不胜其烦。那我们如何屏蔽恶意搜索关键词呢?下面就随小编一起来解决这个问题吧。
54 1