WordPress是一种使用PHP语言开发的开源内容管理系统(CMS),也常被用作博客平台。
- 开发语言:PHP
数据库:MySQL、mariadb(或其他兼容的数据库系统)
授权方式:GNU通用公共许可证下发布,属于免费开源项目
一、准备工作
-
选择一台Ubuntu服务器作为Web服务器(172.20.80.110),它将运行Apache和PHP来处理WordPress的请求。
-
选择另一台Ubuntu服务器作为数据库服务器(172.20.80.211),它将运行MySQL来存储WordPress的数据库信息。
hostname | IP | 虚拟机 |
---|---|---|
ley-web | 170.20.80.110 | ubuntu-22.04.4-desktop-amd64.iso |
ley-mariadb | 172.20.80.211 | ubuntu-22.04.4-desktop-amd64.iso |
-
确保网络连接:
确保两台服务器之间的网络连接正常(网络模式是桥接),可以通过SSH等方式进行远程管理。同时,确保Web服务器能够通过网络访问数据库服务器(ping 172.20.80.211)。
【参考文章】:VitualBox的网络模式+网络配置 -
更新系统:在两台服务器上分别运行以下命令来更新系统:sudo apt update && sudo apt upgrade -y
二、在Web服务器上安装和配置LAMP环境
1.安装启动Apache
sudo apt install apache2 -y
sudo systemctl start apache2
sudo systemctl enable apache2
2.安装PHP及其扩展
sudo apt install php php-mysql -y
这个扩展是WordPress运行所需的,确保安装了所有必要的PHP扩展。
3.测试Apache和PHP
vim /var/www/html/info.php
创建一个PHP测试文件,如/var/www/html/info.php,内容如下:
php
<?php
phpinfo();
?>
在浏览器中访问http://172.20.80.110/info.php,查看PHP配置信息,确保PHP已正确安装并配置。
三、在数据库服务器上安装和配置MySQL
1. 安装MySQL
sudo apt install mariadb-server
sudo mysql_secure_installation
按照提示设置MySQL的root密码和其他安全选项,确定数据库的操作权限。
2. 创建WordPress数据库和用户
登录MySQL:
mysql -u root -p
执行以下SQL语句来创建WordPress所需的数据库和用户:
CREATE DATABASE wordpress;
CREATE USER ‘root’@‘%’ IDENTIFIED BY ‘123456’;
GRANT ALL PRIVILEGES ON wordpress.* TO ‘root’@‘%’;
FLUSH PRIVILEGES;
四、下载并配置WordPress
1.下载WordPress
在Web服务器上,使用wget命令下载WordPress安装包:
cd /var/www/html
sudo wget https://wordpress.org/latest.tar.gz
#下载wordpress安装包
2.解压安装包到当前目录
sudo tar xzvf latest.tar.gz
将解压后的WordPress文件移动到Apache的根目录,并删除不需要的文件:
sudo mv wordpress/* .
sudo rm -rf wordpress latest.tar.gz
3.在Web服务器上配置WordPress
复制wp-config-sample.php为wp-config.php,并编辑该文件:
sudo cp wp-config-sample.php wp-config.php
sudo vim wp-config.php
在文件中配置数据库连接信息,如数据库名(wordpress)、用户名(root)、密码(123456)和主机名(172.20.80.211)。
设置文件权限:
为了确保Apache能够正确读取和写入WordPress文件,需要设置适当的文件权限:
sudo chown -R www-data: /var/www/html/wordpress
sudo chmod -R 755 /var/www/html/wordpress
sudo systemctl restart apache2
五、验证和访问
1.在浏览器中访问WordPress
打开浏览器,输入Web服务器的IP地址(http://172.20.80.211/wp-admin),你将看到WordPress的安装页面。
按照页面上的提示完成安装过程,设置站点标题、管理员账户和密码等信息。
2.分布式环境验证
确保WordPress前端(Web服务器)和后端数据库(MySQL服务器)之间的连接正常。
mysql -h 172.20.80.211 -u root -p 3306
-h IP地址
-u 用户
-p 端口
你可以通过查看WordPress的日志文件来检查是否有任何连接错误。
测试WordPress的各项功能,如发布文章、编辑页面、上传图片等,确保分布式环境配置正确。
六、报错
错误一:Ubuntu和windows都无法访问wordpress
1. 防火墙设置
可以选择关闭防火墙,也可以是 ufw 防火墙允许从任何 IP 地址到本机的 3306 端口的 TCP 连接。
ufw allow 3306/tcp
2. 数据库的回环地址
在默认情况下,MySQL 只监听本地回环地址(127.0.0.1),这意味着只有本地计算机上的客户端才能连接到 MySQL 服务器,所以为了让web端可以访问连接MySQL服务器,需要改回环地址。
2.1 修改方式
- 方式一:如果你希望允许远程客户端连接到 MySQL 服务器,你需要修改 bind-address 参数的值为 0.0.0.0 或者指定一个具体的 IP 地址。设置为 0.0.0.0:表示 MySQL 服务器将监听所有可用的网络接口,这样任何具有正确连接信息的客户端都可以连接到 MySQL 服务器。但请注意,这可能会带来安全风险,因为 MySQL 服务器将对所有网络接口开放。
- 方式二:设置为具体的 IP 地址:表示 MySQL 服务器将只监听该 IP 地址上的连接请求。这可以提高安全性,因为只有知道该 IP 地址的客户端才能连接到 MySQL 服务器。这里可以设置web服务器的IP(172.20.80.110)
这里采用方式一,因为我下载的是mariadb,不是MySQL,mariadb修改回环IP的配置文件隐藏的比较深
cd /etc/mysql/mariadb.conf.d
vim 50-server-cnf
错误二:Windows无法访问wordpress,ubuntu可以访问的话
- 那么就是wordpress缺少一个插件
Ubuntu访问wordpress在插件那一栏搜索relative URL,安装并启动该插件;安装完插件后,还需配置,进入cd /var/www/html目录下,编辑vim wp-config.php文件,插入
define(‘WP_SITEURL’, ‘http://’ . $_SERVER[‘HTTP_HOST’]);
define(‘WP_HOME’, ‘http://’ . $_SERVER[‘HTTP_HOST’]);
这两行命令,退出,重启apache2,windows输入网址http://172.20.80.110/wp-admin即可访问
【参考文章】https://blog.csdn.net/2301_79558858/article/details/140902623?spm=1001.2101.3001.6650.3&utm_medium=distribute.pc_relevant.none-task-blog-2%7Edefault%7EYuanLiJiHua%7EPosition-3-140902623-blog-121293836.235%5Ev43%5Epc_blog_bottom_relevance_base3&depth_1-utm_source=distribute.pc_relevant.none-task-blog-2%7Edefault%7EYuanLiJiHua%7EPosition-3-140902623-blog-121293836.235%5Ev43%5Epc_blog_bottom_relevance_base3&utm_relevant_index=6