IP |
HOSTNAME |
SERVICE |
SYSTEM |
192.168.131.132 |
proxy-nfs |
nginx+nfs-server |
CentOS 7.6 |
192.168.131.131 |
nginx01 |
nginx+nfs-client |
CentOS 7.6 |
192.168.131.130 |
nginx02 |
nginx+nfs-client |
CentOS 7.6 |
環境準備
[root@localhost ~]
CentOS Linux release 7.6.1810 (Core)
[root@localhost ~]
SELinux status: disabled
[root@localhost ~]
● firewalld.service - firewalld - dynamic firewall daemon
Loaded: loaded (/usr/lib/systemd/system/firewalld.service; disabled; vendor preset: enabled)
Active: inactive (dead)
Docs: man:firewalld(1)
[root@localhost ~]
[root@localhost ~]
[root@localhost ~]
部署nginx-proxy
[root@porxy-nfs ~]
if [ -e /etc/nginx/nginx.conf ]
then
echo 'Already installed'
exit 0
else
/usr/bin/yum -y install epel* && /usr/bin/yum -y install nginx
fi
if [ -f /etc/nginx/nginx.conf ];then
proxy="upstream nfs-share { server 192.168.131.131 weight=8;server 192.168.131.130 weight=6;}"
/usr/bin/sed -ri "/^http/a $proxy" /etc/nginx/nginx.conf
/usr/bin/sed -ri "/^ *location \/ \{$/a proxy_pass http://nfs-share\;" /etc/nginx/nginx.conf
fi
/usr/sbin/nginx -t
if [ $? -ne 0 ]
then
echo "config error"
exit 2
else
echo "config success "
fi
/usr/bin/systemctl enable nginx --now
/usr/bin/ps -ef | /usr/bin/grep [n]ginx
if [ $? -eq 0 ]
then
echo 'Start nginx successful'
else
echo 'Start nginx faild please check again'
fi
[root@porxy-nfs ~]
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful
config success
Created symlink from /etc/systemd/system/multi-user.target.wants/nginx.service to /usr/lib/systemd/system/nginx.service.
root 13283 10234 0 09:07 pts/0 00:00:00 sh install_nginx_proxy.sh
root 13589 1 0 09:07 ? 00:00:00 nginx: master process /usr/sbin/nginx
nginx 13590 13589 0 09:07 ? 00:00:00 nginx: worker process
Start nginx successful
部署nfs-server
[root@porxy-nfs ~]
test -s /etc/exports
if [ $? -eq 0 ]
then
/usr/bin/yum -y install rpcbind nfs-utils
echo "/share 192.168.131.132/24 (rw,sync,root_squash,sid=0)" > /etc/exports
mkdir -p /share
chmod -R o+w /share
systemctl enable rpcbind.service --now && systemctl enable nfs-server.service --now
iptables -F && iptables -X
share=`showmount -e`
access_IP=`awk '{print $2}' /etc/exports`
echo "NFS was successfully installed. The directory you shared with us is: $share $access_IP"
exit
else
echo "NFS was installed"
exit
fi
[root@porxy-nfs ~]
NFS was successfully installed. The directory you shared with us is: 192.168.131.132/24
部署nginx01&nginx02
[root@nginx01 ~]
if [ -e /etc/nginx/nginx.conf ]
then
echo 'Already installed'
exit 0
else
/usr/bin/yum -y install epel* && /usr/bin/yum -y install nginx
fi
/usr/sbin/nginx -t
if [ $? -ne 0 ]
then
echo "config error"
exit 2
else
echo "config success "
fi
/usr/bin/systemctl enable nginx --now
/usr/bin/ps -ef | /usr/bin/grep [n]ginx
if [ $? -eq 0 ]
then
echo 'Start nginx successful'
else
echo 'Start nginx faild please check again'
fi
[root@nginx01 ~]
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful
config success
Created symlink from /etc/systemd/system/multi-user.target.wants/nginx.service to /usr/lib/systemd/system/nginx.service.
root 22300 7245 0 09:28 pts/0 00:00:00 sh install_nginx.sh
root 23036 1 0 09:30 ? 00:00:00 nginx: master process /usr/sbin/nginx
nginx 23037 23036 0 09:30 ? 00:00:00 nginx: worker process
Start nginx successful
部署nfs-client
[root@nginx01 ~]
iptables -F && iptables -F
yum -y install rpcbind nfs-utils
systemctl enable rpcbind.service --now && systemctl enable nfs-server.service --now
showmount -e 192.168.131.132
if [ $? -eq 0 ]
then
mount -t nfs 192.168.131.132:/share /usr/share/nginx/html
echo "mount -t nfs 192.168.131.132:/share /usr/share/nginx/html" > ~/.bashrc
else
mount fiald !
exit 1
fi
[root@nginx01 ~]
Redirecting to /bin/systemctl start rpcbind.service
Redirecting to /bin/systemctl start nfs.service
Export list for 192.168.131.132:
/share (everyone)
測試nfs共用nginx網站目錄
[root@porxy-nfs ~]
[root@porxy-nfs ~]
hello world
[root@porxy-nfs ~]
[root@porxy-nfs ~]
linux
[root@nginx01 ~]
192.168.131.132 - - [10/Aug/2020:10:02:45 +0800] "GET /test.html HTTP/1.0" 200 12 "-" "curl/7.29.0" "-"
[root@nginx02 ~]
192.168.131.132 - - [10/Aug/2020:10:02:39 +0800] "GET /test.html HTTP/1.1" 200 12 "-" "curl/7.29.0" "-"