公司需求:
共享静态文件,比如discuz需要共享的目录是 data/attachment,dedecms需要共享upload。
nginx主web server:192.168.14.103
nginx从web server:192.168.14.104
主站点的静态文件需要全部共享到另外一台机器。
主nginx操作:
$ sudo yum install -y nfs-utils rpcbind
$ sudo vim /etc/exports
写入如下内容:
/data/wwwroot/www.discuz.com/data/attachment 192.168.14.0/20(rw,sync,all_squash,anonuid=1040,anongid=1040)
/data/wwwroot/www.dedecms.com/uploads 192.168.14.0/20(rw,sync,all_squash,anonuid=1050,anongid=1050)
---------------------
$ systemctl restart nfs
$ sudo chmod 777 /data/wwwroot/www.discuz.com/data/attachment/
$ sudo chmod 777 /data/wwwroot/www.dedecms.com/uploads/
从web server:
$ showmount -e 192.168.14.103
$ sudo mount -t nfs 192.168.14.103:/data/wwwroot/www.discuz.com/data/attachment/ /data/wwwroot/www.discuz.com/data/attachment/
$ sudo mount -t nfs 192.168.14.103:/data/wwwroot/www.dedecms.com/uploads/ /data/wwwroot/www.dedecms.com/uploads/
从web server 查看挂载:
[admin@Centos-1 uploads]$ df -h
文件系统 容量 已用 可用 已用% 挂载点
/dev/sda3 15G 5.2G 9.6G 36% /
devtmpfs 911M 0 911M 0% /dev
tmpfs 920M 0 920M 0% /dev/shm
tmpfs 920M 8.6M 912M 1% /run
tmpfs 920M 0 920M 0% /sys/fs/cgroup
/dev/sda1 197M 110M 87M 56% /boot
tmpfs 184M 0 184M 0% /run/user/0
tmpfs 184M 0 184M 0% /run/user/1000
192.168.14.103:/data/wwwroot/www.discuz.com/data/attachment 15G 4.8G 10G 33% /data/wwwroot/www.discuz.com/data/attachment
192.168.14.103:/data/wwwroot/www.dedecms.com/uploads 15G 4.8G 10G 33% /data/wwwroot/www.dedecms.com/uploads
这样就轻轻松松的实现了静态文件共享,此功能扩展性极强。如果需要保持discuz这两个站点的内容一模一样,我们怎么做?
思路如下:
保证连接同一个数据库,使用不同的表前缀,然后再把整站的站点目录共享出去(只需要配置vhost即可),是不是就有这种功能了呢? Tomcat另说~