将PHP产品和Tomcat产品上传目录挂载到NFS

Posted 蜜蜂点滴

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了将PHP产品和Tomcat产品上传目录挂载到NFS相关的知识,希望对你有一定的参考价值。

一、服务器准备

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<<EOF

/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 <<EOF

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 <<EOF

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用户。

将PHP产品和Tomcat产品上传目录挂载到NFS

将PHP产品和Tomcat产品上传目录挂载到NFS

正确。

2、测试web02(Tomcat)

浏览器输入:192.168.198.138:8080

将PHP产品和Tomcat产品上传目录挂载到NFS

正常访问。

新建一博文:

将PHP产品和Tomcat产品上传目录挂载到NFS

成功。

四、Nginx静态web服务环境搭建&NFS提供静态站点存储

以上是关于将PHP产品和Tomcat产品上传目录挂载到NFS的主要内容,如果未能解决你的问题,请参考以下文章

microk8s上给Pod挂载NFS

NFS共享存储服务的部署

NFS 开机自动挂载共享目录

用NFS挂载根文件系统

Linux Web集群架构详细(亲测可用!!!)

通过NFS服务器将设备目录挂载到Windows目录