WordPress分布式部署-保姆级教程

前言

  • WordPress分布式部署是将WordPress博客系统的各个组件(如前端页面、数据库、PHP解析等)部署在多个物理或虚拟服务器上,以实现更高的可用性、可扩展性和负载均衡。
  • 目的:通过分布式部署,可以优化资源利用、提高系统性能、增强数据安全性,并降低因单点故障导致的服务中断风险。

实验目的

 1、学习 Linux 操作系统:通过在 Ubuntu 上安装和配置 WordPress,可以深入
了解 Linux 操作系统的基本命令和文件系统结构。
2、掌握 Web 服务器配置:将学习如何安装和配置 Web 服务器(如 Apache 或
Nginx),并了解如何管理和优化服务器设置以支持 WordPress。
3、理解数据库管理:WordPress 需要数据库(通常是 MySQL 或 MariaDB),
可以通过安装和配置数据库,了解数据库的基本操作和管理。
4、增强编程与开发技能:可以通过修改 WordPress 主题和插件,提升他们的 PHP、
HTML、CSS 和 JavaScript 编程技能,理解动态网站的构建过程。
5、网站管理与维护技能:通过实际操作,学生可以学习如何管理和维护一个网
站,包括备份、更新、故障排除和安全性配置等。
6、培养项目管理能力:在部署 WordPress 的过程中,需要规划、实施和评估项
目,这将提升我们的项目管理能力。
7、安全性意识:通过学习如何保护 WordPress 网站,将了解网络安全的基本概
念,包括防止攻击和数据泄露的方法。

实验内容

1、联网方式选择 NAT 并且远程连接成功
2、安装搭建 wordpress
3、分布式搭建 wordpress,两台 ubuntu 虚拟机,一台 windows 主机

实验结果

1、联网 NAT 方式远程连接

根据实验要求 ubuntu 连网方式需要用 NAT 方式连接
virtualbox里面关闭虚拟机,打开工具栏选择网络,点击 NAT 网络创建,在下方找到端口转发并添加如下

 注意:

子系统ip为ubuntu ip,子系统端口为ubuntu中ssh开放端口。127.0.0.1是一个特殊的IP地址,被称为本地回环地址或环回地址。在网络设备中,网络接口上的127.0.0.1地址本质上是本机对自己的网络地址。当网络设备需要通过本机自己来转发数据包时,就会使用这个地址。因此,将端口转发到127.0.0.1,实际上是将外部网络的连接请求转发到本机上的特定服务或应用程序。因为ubuntu的网段和主机网段不一样所以需要端口转发。

为了操作方便,我们进行远程连接

在Ubuntu上安装SSH服务器通常使用apt包管理器。首先,确保系统已经更新到最新版本,然后安装openssh-server。

启动并检查SSH服务

sudo apt update 

sudo apt install openssh-server

安装完成后,启动SSH服务并检查其状态。

sudo systemctl start ssh 

sudo systemctl status ssh

如果服务未启动,可以使用上述命令中的start选项来启动服务。

配置SSH

编辑SSH配置文件/etc/ssh/sshd_config,根据需要修改以下选项:

Port:设置SSH端口号(默认为22,但建议更改为其他端口以提高安全性)。

ListenAddress:设置监听地址(默认为0.0.0.0,表示监听所有网络接口)。

PermitRootLogin:设置是否允许root用户登录

PasswordAuthentication:设置是否允许密码认证

修改配置文件后,重启SSH服务以使更改生效,并且需要关闭防火墙

systemctl stop ufw

返回电脑终端输入密令:ssh -Y vboxuser@127.0.0.1 -p 22

其中,“用户名”是Ubuntu服务器上的用户名,“服务器IP地址”是Ubuntu服务器的IP地址,“端口号”是SSH端口号(如果使用的是默认端口22,则可以省略“-p 端口号”部分)。进行身份验证,如图远程登陆成功。

2、安装搭建WordPress
 2.1 LAMP安装

WordPress 的安装的依赖项是先要安装 LAMP 环境,LAMP并不是指的是台灯,而是 Linux、Apache、MySQL、PHP。在 Linux 操作系统上面安装 Apache 网页服务器、MySQL 数据库、以及 PHP 网页开发工具,这就是最典型的、最传统的网站建站技术栈之一了,WordPress 网站就需要这一套环境了。在安装LAMP之前,要确保更新系统包索引并升级所有安装的包,打开终端输入以下命令:

sudo apt update 
sudo apt upgrade -y

输入以下命令安装Apache2、PHP和MariaDB(MySQL的分支):

sudo apt install apache2 php libapache2-mod-php php-mysql mariadb-server -y

安装过程中,系统会提示你设置MySQL的root密码,请确保设置一个强密码并妥善保管。

2.2 配置数据库和用户权限

安全配置MariaDB,使用mysql_secure_installation脚本保护MariaDB,设置root密码,删除匿名用户,禁止远程root登录,以及删除测试数据库和对安全MariaDB的访问。登录MariaDB控制台,输入以下命令登录MariaDB:

sudo mysql -u root -p

创建WordPress数据库和用户,在MariaDB控制台中,输入以下SQL命令创建数据库和用户,并授予权限:

CREATE DATABASE wordpressdb;  (创建一个名叫“wordpressdb”的数据库)
CREATE USER 'wordpressuser'@'localhost' IDENTIFIED BY 'yourpassword';  (创建一个用户名为wordpressuser,其密码为yourpassword)
GRANT ALL PRIVILEGES ON wordpressdb.* TO 'wordpressuser'@'localhost'; 
FLUSH PRIVILEGES;  (使其命令生效)
EXIT;

这样,你就成功地为wordpressuser用户在localhost上创建了账户,设置了密码,并赋予了wordpressdb数据库的所有权限。注意:在实际操作中,使用ALL PRIVILEGES可能会带来安全风险,因为它赋予用户数据库上的所有权限。在生产环境中,你应该仅授予用户所需的最小权限集。另外,避免在SQL语句中直接包含明文密码,这可能会导致安全问题。如果可能,使用配置文件或环境变量来管理密码。

2.3 配置Apache

启动Apache服务,如果Apache服务未启动,则使用以下命令启动:

sudo systemctl start apache2

确保Apache已启动,并配置正确的虚拟主机和端口。通常,默认配置已经足够,但如果有特殊需求,可以编辑/etc/apache2/sites-enabled/000-default.conf文件。

2.4 下载并安装WordPress

下载WordPress,访问WordPress中文官网,下载最新版本的WordPress压缩包,或者使用wget命令在终端中下载,并解压:

sudo wget https://cn.wordpress.org/latest-zh_CN.tar.gz

sudo tar -zxvf latest-zh_CN.tar.gz

移动WordPress文件到网站目录,假设网站目录为/var/www/html,则使用以下命令移动文件并添加权限:

sudo mv wordpress/* /var/www/html/ 
sudo chown -R www-data:www-data /var/www/html
2.5 配置WordPress

编辑WordPress配置文件,使用文本编辑器(如nano)编辑/var/www/html/wp-config-sample.php文件,重命名为wp-config.php,输入以下命令:

sudo nano /var/www/html/wp-config-sample.php

打开之后,在里面找到以下内容:

define( 'DB_NAME', 'wordpressdb' );

/** Database username */
define( 'DB_USER', 'wordpressuser' );

/** Database password */
define( 'DB_PASSWORD', 'yourpassword' );

/** Database hostname */
define( 'DB_HOST', 'localhost' );

/** Database charset to use in creating database tables. */
define( 'DB_CHARSET', 'utf8' );

/** The database collate type. Don't change this if in doubt. */
define( 'DB_COLLATE', '' );

将database_name_here、username_here和password_here替换为之前创建的数据库名称、用户和密码,其他不用动。然后按Ctlr+O保存文件,按Enter键,然后使用Ctrl+X退出。

重启重启 apache 和 mysql,输入以下命令:

sudo systemctl restart apache2
sudo systemctl restart mysql.service
3、克隆并进行远程连接

克隆是在虚拟机关闭状态下进行的,点击复制,进行完全复制。

 

打开克隆机(ubuntu-mysql)查看IP,IP为10.0.2.5。关闭虚拟机设置端口转发,根据端口转发规则,端口不能冲突,这里选择81端。

 然后打开MobaXterm进行远程连接

 

 4、分布式搭建

Ubuntu ip:10.0.2.15 安装apache、php、wordpress

Ubuntu-mysql ip:10.0.2.5 安装mysql

4.1 apache2连接windows

关闭server,配置端口转发

测试:在windows中输入http://your_server_ip/wp-admin

还是会出现拒绝访问的错误,但是访问http://your_server_ip/wp-admin/install.php是没有问题的,搜了以下是发现要让本地的网页能为公共互联网的用户访问到,必须有符合现行互联网规范的地址,即URL。但WordPress本身并不自带生成URL地址的功能,我们必须通过为WordPress安装插件来实现这一功能。还是回到WordPress的主界面,在左侧我们能找到插件选项,点开后在搜索框输入relative URL,就能找到这款插件,接着点击安装启用即可。

 

完成URL插件的安装后,我们还需要对WordPress本身进行一项小修改,我们要教会WordPress正确应对外部访问请求,因此我们要打开Ubuntu命令行界面,输入命令,转入站点根目录

cd /var/www/html

转入站点根目录后,再输入命令对WordPress的配置文件进行编辑。

nano wp-config.php

 在WordPress编辑界面,我们要找到如下位置,输入两行命令,分别为:

define('WP_SITEURL', 'http://' . $_SERVER['HTTP_HOST']);
define('WP_HOME', 'http://' . $_SERVER['HTTP_HOST']);

 

确认命令输入无误后,就可以按快捷键Ctrl+X退出编辑,系统会询问我们是否保存更改,我们输入Y即可。

进入windows继续输入http://your_server_ip/wp-admin,出现如下界面

但是会发现登录不进去,也就是说连接不了数据库

4.2 Wordpress连接数据库

打开ubuntu-mysql中的数据库

mysql -u root -p

查看数据库中的所有用户

Select User,Host from mysql.user;

可以看到lij这个用户已经被赋有所有权限,退出mysql。输入命令行:

nano /etc/mysql/mysql.conf.d/mysqld.cnf

修改数据库的配置文件,修改bind-address = 0.0.0.0 MySQL 服务器将监听所有可用的网络接口上的默认 MySQL 端口(通常是 3306)。

退出保存,输入命令行“systemctl restart mysql”重启数据库。

返回ubuntu-mysql,输入mysql -u lij -h 10.0.2.5 -p

进入/var/www/html/wp-config.php文件中,确认一遍表信息是否有误

在windows中输入http://your_server_ip/wp-admin

登录成功!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值