一、服务器准备
172.16.1.7 web01 nfs客户端
172.16.1.8 web02 nfs客户端
172.16.1.31 nfs01 nfs服务端
二、部署
1、nfs01部署
把以下内容复制到install_nfs_server.sh脚本
[root@nfs01/server/scripts]#vim install_nfs_server.sh
#web01 web02 nfs01必须有相同的用户为mifengweb
useradd mifengweb -u 1002 -s /sbin/nologin -M
#服务端
#1、安装软件
#rpm -qa nfs-utils rpcbind
yum install nfs-utils rpcbind -y
rpm -qa nfs-utils rpcbind
#2、启动服务
#1)启动rpcbind服务
systemctl status rpcbind
#rpcinfo -p localhost
systemctl start rpcbind
#systemctl status rpcbind
systemctl enable rpcbind
#rpcinfo -p localhost
#2)启动NFS服务
systemctl start nfs
systemctl enable nfs
#systemctl status nfs
#创建需要共享的目录并授权
mkdir -p /data/blog
mkdir -p /data/JPressblog
chown -R mifengweb.mifengweb /data/blog
chown -R mifengweb.mifengweb /data/JPressblog/
#NFS配置文件 /etc/exports,注意不要把原来的内容覆盖
cat >>/etc/exports<
/data/blog 172.16.1.0/24(rw,sync,anonuid=1002,anongid=1002)
/data/JPressblog 172.16.1.0/24(rw,sync,anonuid=1002,anongid=1002)
EOF
#2)查看结果
#tail -2 /etc/exports
#3)重启服务
systemctl reload nfs
#4)查看结果
#showmount -e localhost
#5)把本地服务器端作为客户端进行挂载测试
mount -t nfs 172.16.1.31:/data/blog /mnt
df -h
2、web01部署(PHP)
把以下内容复制到install_nfs_clien.sh脚本
[root@web01/server/scripts]#vim install_nfs_client.sh
#web01服务器:前面搭建web01时已经创建;
#必须确保web01 web02 nfs01的用户mifengweb uid和gid都为1002
useradd mifengweb -u 1002 -s /sbin/nologin -M
#usermod -u 1002 mifengweb
#groupmod -g 1002 mifengweb
#vim /etc/php-fpm.d/www.conf
#把文件里的user和group都改为mifengweb。
#备份
cp -r /application/nginx/html/blog/wp-content/uploads/2020/ /data/
#图片等复制到nfs01服务器上
scp -rp -P 52113 /application/nginx/html/blog/wp-content/uploads/2020 172.16.1.31:/data/blog
#确定挂载点
#/application/nginx/html/blog/wp-content/uploads
###客户端
#1、安装软件
# rpm -qa rpcbind
yum install rpcbind -y
#为了使用showmount命令安装相应软件:
yum install nfs-utils -y
# rpm -qa rpcbind
#2、启动服务
systemctl start rpcbind
systemctl enable rpcbind
systemctl status rpcbind
#挂载
#ssh -p52113 root@172.16.1.31
showmount -e 172.16.1.31
mount -t nfs 172.16.1.31:/data/blog /application/nginx/html/blog/wp-content/uploads
df -h
#开机自动挂载
cat >>/etc/fstab <
172.16.1.31:/data/blog /application/nginx/html/blog/wp-content/uploads nfs defaults,intr 0 0
EOF
#开机启动挂载必须启动的服务
chown -R +x /etc/fstab
#journalctl -xe
systemctl start remote-fs.target
systemctl enable remote-fs.target
3、web02服务器(Tomcat)
#开机启动
#vim /etc/rc.local
#/application/tomcat/bin/startup.sh
#备份
cp -r /application/tomcat/webapps/ROOT/attachment/20200421/ /data/
#创建用户
useradd mifengweb -u 1002 -s /sbin/nologin -M
#图片等复制到nfs01服务器上
scp -rp -P 52113 /application/tomcat/webapps/ROOT/attachment/20200421/ 172.16.1.31:/data/JPressblog
#确定挂载点
#/application/tomcat/webapps/ROOT/attachment/
###客户端
#1、安装软件
# rpm -qa rpcbind
yum install rpcbind -y
#为了使用showmount命令安装相应软件:
yum install nfs-utils -y
# rpm -qa rpcbind
#2、启动服务
systemctl start rpcbind
systemctl enable rpcbind
systemctl status rpcbind
#挂载
showmount -e 172.16.1.31
mount -t nfs 172.16.1.31:/data/JPressblog /application/tomcat/webapps/ROOT/attachment
#开机自动挂载
cat >>/etc/fstab <
172.16.1.31:/data/JPressblog /application/tomcat/webapps/ROOT/attachment nfs defaults,intr 0 0
EOF
chown -R +x /etc/fstab
#开机启动挂载必须启动的服务
systemctl start remote-fs.target
systemctl enable remote-fs.target
三、测试
1、测试web01(PHP)
浏览器输入:blog.mifengdiandi.xyz
新建一片博文:
如果上传图片时错误:请查看/application/nginx/html/blog/wp-content/uploads,属主是不是mifengweb用户。
正确。
2、测试web02(Tomcat)
浏览器输入:192.168.198.138:8080
正常访问。
新建一博文:
成功。
四、Nginx静态web服务环境搭建&NFS提供静态站点存储