一、准备环境
1、首先要获取一个博客网站的代码,如WordPress、Discuz等,可以从网上下载网站代码,本项目采用WordPress。
2、准备8台主机,包括3台web服务器(192.168.88.11/12/13)、2台调度器(192.168.88.5/6)、1台数据库服务器(192.168.88.21)、1台NFS服务器(192.168.88.31)和1台客户机(192.168.88.10)。
二、搭建Nginx网站(在3台web服务器上进行)
1、安装nginx与php相关软件,包括nginx、mysql-server、php、php-fpm、php-mysqlnd、php-json等。
2、修改nginx配置文件,实现动静分离:vim /etc/nginx/nginx.conf
location / {
root html;
index index.php index.html;
}
location ~ \.php$ {
root html;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
include fastcgi.conf;
}
3、编写一个简单的动态页面:vim /usr/local/nginx/html/test.php
<html>
<head>
<title>web1</title>
</head>
<body>
<h1>I am web1</h1>
<hr>nice to meet you</hr>
</body>
</html>
4、在客户机进行访问测试:curl 192.168.88.11,将出现以下页面
三、配置数据库与WordPress
1、配置数据库(在数据库服务器上进行)
1)安装Mysql数据库
2)运行Mysql,创建一个名为wordpress的数据库:create database wordpress character set utf8mb4;
3)为数据库创建一个登录用户和密码:create user wpuser01@'%' identified by 'wordpress';
4)给用户授权:grant all privileges on wordpress.* to wpuser01@‘%’;
2、配置WordPress(在web1上进行)
1)获取WordPress安装包,并解压到/usr/share/nginx/html
2)修改/usr/share/nginx/html目录权限,将所有者与所属组设置为apache
3)访问192.168.88.11,根据提示进行初始化(使用上面数据库创建的用户信息)
注意:注销登陆后,如果再次登陆,需访问192.168.88.11/wp-login.php
3、迁移数据库(在web1上进行)
搭建好WordPress网站后,已有数据保存在web1上的wordpress数据库中,需要将该数据库迁移到数据库服务器上。
1)备份wordpress数据库中的数据:mysqldump wordpress > wordpress.sql
2)将数据库拷贝到数据库服务器:scp wordpress.sql 192.168.88.21:/root/
3)在数据库服务器上导入数据:mysql wordpress < wordpress.sql
4)修改配置文件,将数据库地址指向新的数据库服务器:vim /usr/share/nginx/html/wp-config.php
31 /** Database hostname */
32 define( 'DB_HOST', '192.168.88.21' );
5)重启nginx服务
4、访问测试(在客户机进行)
1)停止web1上的数据库服务,wordpress网站仍然可以访问
2)停止database上的数据库服务,wordpress将不能访问
5、查询数据库中的内容(在数据库服务器上进行)
mysql> show databases; #查看有哪些数据库
mysql> use wordpress; #切换到wordpress数据库
mysql> show tables; #查看wordpress库中有哪些表
mysql> select * from wp_posts; #查看wp_posts表中的内容
四、项目的数据存储
WordPress网站搭建起来后,会将文字数据保存到数据库中,而将非文字数据(如图片、视频、压缩包等)保存到相应的文件目录中
1、登录WordPress,在平台内发一篇文章,文章内容包含文字和图片
2、在数据库服务器的数据库中查看文字数据,在最新的一条记录中,可以查看到图片的保存位置:
mysql --> use wordpress; --> select * from wp_posts;
3、在web1主机的文件系统中查看图片文件:ls /usr/share/nginx/html/wp-content/uploads/
#该路径是固定位置,其后的2023/01是年和月目录;每个月上传的图片,都会保存到相应的月份目录