1、实验拓扑图
1.2 实验要求
1)在Nginx服务器上搭建LNMP服务,并且能够对外提供Discuz论坛服务。(10分)
在Web1、Web2服务器上搭建Tomcat 服务。(10分)
2)为nginx服务配置虚拟主机,新增两个域名 www.kgc.com 和 www.benet.com,使用http://www.kgc.com/index.php可访问上一题的Discuz论坛页面。(10分)
使用http://www.benet.com则访问/var/www/html目录中的index.html文件的内容,内容自定义。(10分)
3)对基于www.benet.com域名的虚拟机主机的nginx服务调优:隐藏nginx版本号,缓存静态图片网页时间为1天,设置防盗链功能。(10分)
4)网关服务器搭建NFS服务,提供的文件系统使用LVM类型,共享目录名称为/opt/nfs;要求根据日期对Discuz论坛服务的访问日志进行日志分割,要求每天生成一份日志文件,保存到NFS服务共享的目录内(10分)
5)要求配置location匹配请求地址http://www.kgc.com/test/XXXX,使用户访问该路径下的文件时返回/var/share/nginx/html/目录下的文件内容。(10分)
要求使用rewrite将使用域名www.benet.com 请求以 .php 结尾的访问都跳转到域名www.kgc.com上,而且后面的参数保持不变,比如访问http://www.benet.com/bbs/index.php跳转到http://www.kgc.com/bbs/index.php。(10分)
6)在Nginx服务器上对基于www.benet.com域名的虚拟机主机设置动静分离由nginx提供静态页面服务,将对 .jsp文件的动态页面请求转发到Tomcat 服务器处理,并实现负载均衡(10分)
7)在网关服务器上设置SNAT/DNAT,使client使用网关服务器的ens36接口的IP地址访问也可实现上一题的效果。(10分)
注:IP地址自己规划
2、配置NFS共享服务
2.1 配置逻辑卷
添加可用的磁盘
创建逻辑卷:1、创建物理卷 2、创建卷组 3、 创建逻辑卷 4、格式化 5、挂载
[root@www ~]# pvcreate /dev/sdb /dev/sdc /dev/sdd
Physical volume "/dev/sdb" successfully created.
Physical volume "/dev/sdc" successfully created.
Physical volume "/dev/sdd" successfully created.
#创建物理卷
[root@www ~]# vgcreate bbs /dev/sdb /dev/sdc /dev/sdd
Volume group "bbs" successfully created
#创建卷组
[root@www ~]# lvcreate -L 40G -n nfs bbs
Logical volume "nfs" created.
#创建逻辑卷
[root@www ~]# mkfs.xfs /dev/bbs/nfs
meta-data=/dev/bbs/nfs isize=512 agcount=4, agsize=2621440 blks
= sectsz=512 attr=2, projid32bit=1
= crc=1 finobt=0, sparse=0
data = bsize=4096 blocks=10485760, imaxpct=25
= sunit=0 swidth=0 blks
naming =version 2 bsize=4096 ascii-ci=0 ftype=1
log =internal log bsize=4096 blocks=5120, version=2
= sectsz=512 sunit=0 blks, lazy-count=1
realtime =none extsz=4096 blocks=0, rtextents=0
#格式化
[root@www ~]# mount /dev/bbs/nfs /opt/nfs
#挂载
[root@www ~]# df -h
文件系统 容量 已用 可用 已用% 挂载点
/dev/mapper/centos-root 50G 7.0G 43G 14% /
devtmpfs 897M 0 897M 0% /dev
tmpfs 912M 0 912M 0% /dev/shm
tmpfs 912M 9.0M 903M 1% /run
tmpfs 912M 0 912M 0% /sys/fs/cgroup
/dev/mapper/centos-home 27G 33M 27G 1% /home
/dev/sda1 1014M 179M 836M 18% /boot
tmpfs 183M 12K 183M 1% /run/user/42
tmpfs 183M 0 183M 0% /run/user/0
/dev/mapper/bbs-nfs 40G 33M 40G 1% /opt/nfs
[root@www ~]#
#查看挂载信息
2.2 配置nfs服务
yum install -y nfs-utils
[root@www ~]# systemctl start nfs
[root@www ~]# systemctl status nfs
查看nfs状态
[root@localhost ~]# exportfs -r
[root@localhost ~]# exportfs -v
共享存储配置完成
3、配置location 模块
要求配置location匹配请求地址http://www.kgc.com/test/XXXX,使用户访问该路径下的文件时返回/var/share/nginx/html/目录下的文件内容。
location /test {
alias /var/share/nginx/html;
}
设定特制的页面
[root@www html]# cd /var/share/nginx/html
[root@www html]# ls
[root@www html]# echo "test" > a.html
测试访问
[root@www html]# curl www.kgc.com/test/a.html -L
test
[root@www html]# curl www.kgc.com/test/a.html -L
test
[root@www html]# curl www.kgc.com/test/a.html -L
test
要求使用rewrite将使用域名www.benet.com 请求以 .php 结尾的访问都跳转到域名www.kgc.com上,而且后面的参数保持不变。
server_tokens off;
server {
listen 80;
server_name www.benet.com;
root /var/www/html;
index index.html index.htm index.php;
location ~* \.php$ {
rewrite ^/(.*) http://www.kgc.com/$1;
}
location ~* \.(jpg|gif|swf|png)$ {
valid_referers none 192.168.107.190;
if ( $invalid_referer ) {
return 403;
#rewrite ^/ http://192.168.107.190/error.png;
}
}
}
~