作业一:nginx服务
二进制安装nginx包
首先安装epel-release扩展包
#yum install epel-release -y
然后安装nginx
#yum install nginx
作为web服务修改配置文件
安装完后配置文件在/etc/nginx/nginx.config中
更改配置文件中location:
location / {
root /test/html; #web网站的根目录
index index.html; web网站的默认主页。
}
让配置生效,验证配置
我们到设置的WEB根目录下设置一个主页index和一首音乐和图片:
这个主页实现的内容是一个音乐欣赏的页面:
给index.html添加读和执行权限。
设置好后启动服务:
#systemctl start nginx
#systemctl stop firewalld #关闭防火墙
接下来在本机上打开浏览器输入虚拟机的IP地址:
作业二:nfs服务
二进制安装nfs
先安装rpcbind,再安装nfs。
作为共享存储挂载在三台web的网站根目录下
服务端:
更改配置文件/etc/exports如下:
/share 192.168.16.0/24(rw,sync,fsid=0)
启动服务:
#systemctl start rpcbind.service
#systemctl start nfs-server.service
查看共享文件夹并在里面新建1.txt内容为The number is 1.:
#exportfs
客户端:
挂载服务端共享的文件夹。
mount -t nfs 192.168.16.184:/share /test/html
成功挂载后就可以在客户端的/test/html下看见服务器端建立的1.txt文件,内容是The number is 1.
实现,在任意一台web上修改的结果,其余两台都可以看到
我们用web1来修改1.txt的内容:
echo Hello,my name is web1 >> 1.txt
然后在web2和3来查看。
同理2或者3更改内容,另外两台也可以看到更改后的结果。
作业三:nginx反向代理三台web
实现基于轮询的方式调度三台web,并验证结果
更改配置文件,添加:
http {
upstream myapp1 {
server 192.168.16.90:80;
server 192.168.16.107:80;
server 192.168.16.72:80;
}
server {
listen 80;
location / {
proxy_pass http://myapp1;
}
}
}
第一次登录:连接到的是web1。
刷新:连接到的是web2。
刷新:连接到的是web3。
实现基于权重的方式调度三台web,并验证结果
实现基于hash的方式调用三台web,并验证结果
在配置文件中,加入ip_hash:
一直刷新,基本保持连接到web1.
作业四:nginx反向代理+三台web+nfs共享存储实现集群配置
结合作业二和三。把web即当作代理服务器也当作存储文件的服务器,更改share下的index.html
刷新网页,显示的都是Hello,welcone