实验目标:搭建lnmp,nfs,lvs
实验拓扑:
实验步骤:
安装nginx网站:
把nginx-rpm包使用xftp上传到8.6服务器上
进入nginx-rpm目录,安装nginx网站
[root@web1 ~]# cd nginx-rpm/
[root@web1 nginx-rpm]# rpm -ivh *.rpm --nodeps –force
启动nginx服务
[root@web1 ~]# systemctl start nginx
删除/etc/nginx/conf.d目录下的default.conf文件
[root@web1 conf.d]# rm -rf default.conf
在/etc/nginx/conf.d目录中创建,conf结尾文件
[root@web1 conf.d]# vim blog.conf
检查nginx文件是否有问题,并重启nginx服务
[root@web1 ~]# nginx -t
行一末尾出现ok,行二末尾出现successful则表示配置文件没问题
上传论坛软件到/目录下
[root@web1 /]# unzip wordpress-4.9.4-zh_CN.zip??????? #解压
[root@web1 /]# chmod -R 777 wordpress??????????????????????????? #设置目录可读可写
??????
安装MySQL数据库
使用xftp把mysql安装包上传到8.7服务器上
进入mysql-rpm目录安装myql,并启动数据库
[root@mysql ~]# cd mysql5.6-rpm/
[root@mysql mysql5.6-rpm]# rpm -ivh *.rpm --nodeps –force
?????? [root@mysql ~]# systemctl start mysqld
进入mysql数据库,创建blog库,和李四用户
安装php解析器
使用xftp上传PHP-rpm软件包
进入php-rpm目录安装php
[root@php ~]# cd php-rpm/
[root@php php-rpm]# rpm -ivh *.rpm --nodeps –force
启动php解析器
[root@php ~]#systemctl start php-fpm
?????? 如果安装nginx启动出现报错,journalctl -xe查看问题所在
?????? 查看journalctl -xe
?????? 安装openssl软件,解决问题出现
?????? Yum -y install openssl
4、修改php配置文件指定nginx服务器,和php解析
vim /etc/php-fpm.d/www.conf
定位并修改为:
listen = 192.168.8.6:9000
listen.allowed_clients = 192.168.8.8
5、在nginx服务器论坛目录上传到php服务器中,设置可读可写
[root@web1 ~]#scp -rp /wordpress root@192.168.8.8:/
[root@php /]# chmod -R 777 wordpress/
6、测试是否正常访问
数据库和用户名必须和在mysql服务器中的用户和库保持一致否则连接出错
由于mysql服务不在一台服务器上需要指定数据库主机的ip地址
在8.10上安装第二台nginx:
1、使用xftp把nginx-rpm,上传到8.10服务器上
2、进入nginx-rpm目录,安装nginx网站
[root@web2 ~]# cd nginx-rpm/
[root@web2 nginx-rpm]# rpm -ivh *.rpm --nodeps –force
3、启动nginx服务
[root@web2 ~]# systemctl start nginx
4、删除/etc/nginx/conf.d目录下的default.conf文件
[root@web2 conf.d]# rm -rf default.conf
5、上传web1网站服务的配置文件到web2
[root@web1 ~]# scp -rp /etc/nginx/* root@192.168.8.10:/etc/nginx/
6、将web1论坛目录,上传到web2服务器上
[root@web1 ~]# scp -rp /wordpress root@192.168.8.10:/
在php配置文件中添加8.10主机
[root@php /]#vim /etc/php-fpm.d/www.conf
定位并修改为:
listen = 192.168.8.6:9000
listen.allowed_clients = 192.168.8.8,192.168.8.10
测试是否正常访问
安装nfs共享存储
1、在全新服务器上安装nfs软件
[root@nfs ~]# yum -y install nfs-utils? rpcbind
2、创建挂载点
[root@nfs ~]# mkdir -p /nfs/blog
3、发布共享目录
[root@nfs ~]# vim /etc/exports
/nfs/blog?? * (rw,sync,no_root_squash)
重新启动nfs和rpcbind
[root@nfs ~]# systemctl restart rpcbind
?????? [root@nfs ~]# systemctl restart nfs
在nginx服务器上查看nfs共享目录
[root@web1 ~]# showmount -e 192.168.8.9
[root@web2 /]# showmount -e 192.168.8.9
6、把wordpress的内容目录挂载到nfs
?????? [root@web1 ~]#cd /wordpress
?????? [root@web1 ~]#cp -rp wp-content/? wp-contentbak
?????? [root@web1 ~]#mount -t nfs 192.168.8.9:/nfs/blog? wp-content
7、设置永久挂载
[root@web1 ~]#vim /etc/fstab
添加:
192.168.8.9:/nfs/log? /wordpress/wp-content?? nfs???? defaults,_netdev?? 0 0
?????? 保存退出
搭建负载均衡
1、负载均衡使用的是nginx
[root@lvs ~]#yum -y install epel-release
[root@lvs ~]#yum -y install nginx
2、配置负载均衡
[root@lvs ~]#vim /etc/nginx/conf.d/lb1.conf
添加:
upstream webcluster {
??????? server 192.168.8.10:80;
??????? server 192.168.8.50:80;
}
server {
??????? listen 80;
??????? server_name blog.benet.com;
??????? location / {
??????????????? proxy_pass????? http://webcluster;
??????????????? proxy_set_header Host $http_host;
??????????????? proxy_set_header X-Real-IP $remote_addr;
??????????????? proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
??????? }
}
3、访问负载均衡服务器ip是否能轮询web1,和web2
nginx1和nginx2,动态查看nginx访问日志
tail -f /var/log/nginx/access.log