一、环境部署
mysql 172.16.1.10 数据库
web01 10.0.0.11 172.16.1.11 web节点
web02 10.0.0.12 172.16.1.12 web节点
nfs 172.16.1.13 共享存储
lb 10.0.0.14 172.16.1.14 负载均衡
二、安装部署
1.web01 web02 安装nginx php-fpm
2.nfs 安装nfs
3.lb 安装nginx
4.mysql 安装mariadb
三、WordPress的操作部署
1.单节点的部署
1)web01【10.0.0.11 172.16.1.11】
#1.准备wordpress的代码?放到某个指定的位置 [root@web01 ~]# mkdir /code [root@web01 ~]# tar xf wordpress-5.2.3-zh_CN.tar.gz -C /code/ [root@web01 ~]# ll /code/ drwxr-xr-x 5 oldman oldman 4096 9月 5 2019 wordpress #2.修改权限 进程以什么样的方式去访问一个文件或目录,取决于该进程运行的身份对这个文件或目录拥有什么权限 1.将 nginx php 的用户 身份 统一修改 为 www [root@web01 ~]# groupadd -g 666 www [root@web01 ~]# useradd -u666 -g666 www 修改nginx运行身份 [root@web01 ~]# sed -i ‘/^user/c user www;‘ /etc/nginx/nginx.conf 修改php-fpm的运行身份 [root@web01 ~]# sed -i ‘/^user/c user = www‘ /etc/php-fpm.d/www.conf [root@web01 ~]# sed -i ‘/^group/c group = www‘ /etc/php-fpm.d/www.conf 重启nginx和php [root@web01 ~]# systemctl restart nginx php-fpm 2.授权代码的权限为www [root@web01 ~]# chown -R www.www /code/wordpress/
#3.配置nginx,添加一个wordpress的网站
2)mysql:数据库的配置【172.16.1.10】
#1.安装并启动数据库
[root@mysql ~]#yum install mariadb mariadb-server -y
[root@mysql ~]#systemctl enable mariadb
[root@mysql ~]#systemctl start mariadb
#2.mysql要配置对应的用户和密码
[root@mysql ~]#mysqladmin password ld.com
#3.创建一个存放WordPress的库
[root@mysql ~]# mysql -uroot -pld.com
MariaDB [(none)]>
MariaDB [(none)]> create database wordpress; #创建一个 wordpress的 库
MariaDB [(none)]> show databases; #查看所有的库
+--------------------+
| Database |
+--------------------+
| information_schema |
| mysql |
| performance_schema |
| test |
| wordpress | <----
+--------------------+
5 rows in set (0.00 sec)
#4.创建一个远程登录数据库的用户
[root@mysql ~]#mysql -uroot -pld.com
3)修改web01-----------
4)配置域名劫持
若为windows,找 C:\Windows\System32\drivers\etc\hosts
若为macos: ,请编辑 /etc/hosts
5)测试访问
在浏览器上访问 blog.ld.com 然后检查是否有异常,有异常则处理异常。
2.多节点部署
单台web服务器能抗住的访问是有限的,配置多台web服务器能提升更高的访问速度,能够接收更多的用户请求。从而达到提高冗余和它的性能的目的。所以我们再加入另一个访问节点
web02
保持和web01一模一样的配置
PS:真正的企业中,没有安装向导,没有重新安装的必要,直接拷一份过去即可。
1)nginx+PHP环境
#1.web01上执行的操作
[root@web01 ~]# scp /etc/yum.repos.d/nginx.repo root@172.16.1.12:/etc/yum.repos.d/nginx.repo
[root@web01 ~]# scp php.zip root@172.16.1.12:~
#web02上执行的操作
[root@web02 ~]# unzip php.zip #解压web01推送过来的压缩包
[root@web02 ~]# yum remove php-mysql php php-fpm php-common -y #若之前有安装过,则可能发生冲突,所以要先移除之前的旧版本
[root@web02 ~]# yum localinstall php/*.rpm #通过本地方式安装所有的rpm
[root@web02 ~]# yum install nginx -y
2)nginx的配置、PHP的配置【配置文件、权限修改】
推送web01上的nginx配置、php配置、至web02
[root@web01 ~]# scp -rp /etc/nginx root@172.16.1.12:/etc/
[root@web01 ~]# scp -rp /etc/php-fpm.d/www.conf root@172.16.1.12:/etc/php-fpm.d/www.conf
[root@web01 ~]# scp -rp /etc/php.ini root@172.16.1.12:/etc/php.ini
3)代码推送
将web01上的代码推送一份至web02
[root@web01 ~]# scp -rp /code root@172.16.1.12:/
4)启动服务:nginx+PHP
完善
[root@web02 ~]# groupadd -g 666 www
[root@web02 ~]# useradd -u 666 -g 666 www
[root@web02 ~]# systemctl restart nginx php-fpm
[root@web02 ~]# systemctl enable nginx php-fpm
[root@web02 ~]# chown -R www.www /code/ #因为推送过来的代码权限发生了变化,所以需要做一次修改
5)配置域名劫持
若为windows,找 C:\Windows\System32\drivers\etc\hosts
若为macos: ,请编辑 /etc/hosts
10.0.0.12 blog.ld.com
6)测试
将web01的nginx关掉,看web02能否正常登录
3.nfs共享存储
扩展多个节点,会导致静态资源的丢失:例如user上传了一份图片到了web01上,当user2进行查看时,却被分配到了web02上,而此时我们的web02并没有user1上传的图片,导致看到的资源不一致。而且太多的节点导致空间不足,这时候我们引入了nfs存储,可保证静态资源的一致,而且节省了web节点的空间,极大的解决了容量不足的问题。
安装一台NFS服务器,配置并共享一个目录 #第一步:安装nfs服务器 思路:任何一个服务,都是 安装 配置 启动。 #安装配置 [root@nfs ~]# yum install nfs-utils -y [root@nfs ~]# vim /etc/exports /data/blog 172.16.1.0/24(rw,sync,all_squash,anonuid=666,anongid=666) #重启 [root@nfs ~]# systemctl restart nfs [root@nfs ~]# systemctl enable nfs #初始化环境 [root@nfs ~]# groupadd -g 666 www [root@nfs ~]# useradd -u666 -g666 www [root@nfs ~]# rm -rf /data/ [root@nfs ~]# mkdir /data/blog -p [root@nfs ~]# chown -R www.www /data/blog/ #第二步:找到网站静态资源存放的路径,然后进行NFS的共享。( 不是必须的 ) 地址:http://blog.ld.com/wp-content/uploads/2020/04/timg.jpeg 路径:/code/wordpress/wp-content/uploads/2020/04/timg.jpeg 需要共享的目录:/code/wordpress/wp-content/uploads/
#第三步:在所有的web节点执行如下操作: [root@web02 ~]# mount -t nfs 172.16.1.13:/data/blog /code/wordpress/wp-content/uploads/ [root@web01 ~]# mount -t nfs 172.16.1.13:/data/blog /code/wordpress/wp-content/uploads/ #第三步:测试 web02上传 web01查看,如果没有问题,说明共享存储对接完成。
4.负载均衡lb
多个web节点访问有2种方式:DNS轮询和负载均衡。
DNS依赖web节点为公网ip,这样导致服务器不安全,而且DNS轮询机制没有健康检查的功能,体验较差
负载均衡仅需要一台服务器对外,所有后端的节点走的是内网,这样保证了其安全性,而且它对后端的web节点有健康检查的机制。
#1.负载均衡的blog配置:10.0.0.14
原文:https://www.cnblogs.com/llddhh/p/12846712.html