多应用+插件架构,代码干净,二开方便,首家独创一键云编译技术,文档视频完善,免费商用码云13.8K 广告
说明: * 这篇文章针对的是BS 的Java 版本,基于Linux 来进行负载均衡的部署,Linux 版本使用的是 CentOS 7 * BS如果部署在两台不同的Linux 机器上,需要首先安装NFS 实现文件共享,如果是部署在同一台机器上可以直接跳过第一、第二步,直接看第三步的Nginx 配置 <br/> Linux 中安装NFS 分为两端,服务端和客户端,下面分别进行安装 注意:首先要保证两台Linux 机器之间可以互相访问,ping 的通 > 这里采用两台Linux 服务器进行测试,ip地址分别如下: > > 服务端Linux 地址:192.168.0.155 > > 客户端Linux 地址:192.168.0.156 #### 一、NFS 服务端安装 1\. 下载安装NFS ~~~ yum -y install nfs-utils rpcbind ~~~ 2\. 将NFS 相关服务设置成开启启动 ~~~ [root@localhost ~]# systemctl enable rpcbind [root@localhost ~]# systemctl enable nfs-server Created symlink from /etc/systemd/system/multi-user.target.wants/nfs-server.service to /usr/lib/systemd/system/nfs-server.service. [root@localhost ~]# systemctl enable nfs-lock [root@localhost ~]# systemctl enable nfs-idmap ~~~ 3\. 启动NFS 相关服务 ~~~ [root@localhost ~]# systemctl start rpcbind [root@localhost ~]# systemctl start nfs-server [root@localhost ~]# systemctl start nfs-lock [root@localhost ~]# systemctl start nfs-idmap ~~~ 4\. 创建共享的文件夹并赋予权限 > \# 级联创建文件夹 > > mkdir -p > > \# 将文件夹及其所有子文件夹权限设置成 777 > > chmod -R 777 ~~~ [root@localhost bs]# mkdir -p FileUpload/Files [root@localhost bs]# chmod -R 777 FileUpload/Files/ ~~~ 5\. 配置需要共享的目录到 /etc/exports 下 > 1.这里指定的ip 地址是固定ip,如果要给0 网段所有ip 共享可以使用:192.168.0.\* 方式设置 > > 2.exportfs -a:使exports 的修改立刻生效 > > 3.如果不知道共享文件夹的绝对路径可以进入到共享目录中使用“pwd”命令查看当前所在地址 ~~~ [root@localhost Files]# echo "/home/bs/FileUpload/Files 192.168.0.156(rw,sync,no_root_squash)" >> /etc/exports [root@localhost Files]# exportfs -a ~~~ 6\. 检查共享目录是否设置生效 ~~~ [root@localhost Files]# showmount -e ~~~ ![](https://img.kancloud.cn/84/00/840011ace33ca525540552c688b759b0_422x46.png) 7\. 配置防火墙,开放服务 > firewall-cmd --reload:重新启动防火墙使配置立即生效 ~~~ [root@localhost Files]# firewall-cmd --add-service=nfs --permanent --zone=public success [root@localhost Files]# firewall-cmd --add-service=mountd --permanent --zone=public success [root@localhost Files]# firewall-cmd --add-service=rpc-bind --permanent --zone=public success [root@localhost Files]# firewall-cmd --reload success ~~~ > 使用 iptables -L -n 命令查看当前开放端口信息 没有设置防火墙之前 ![](https://img.kancloud.cn/ed/02/ed02319c723a8693460404e56722e4b3_746x59.png) 设置了防火墙之后 ![](https://img.kancloud.cn/9e/c6/9ec6d3f133b3c5cf084cb5e620f94937_746x134.png) 到这里服务端就设置完毕了! <br/> #### 二、NFS 客户端安装 1\. 下载安装NFS ~~~ yum -y install nfs-utils rpcbind ~~~ 2\. 查看共享目录是否设置正确 > 192.168.0.155 是共享服务端的ip地址 ~~~ [root@localhost ~]# showmount -e 192.168.0.155 ~~~ ![](https://img.kancloud.cn/7f/60/7f6051d625b08ed3fc813f43abc5bbfb_385x46.png) 3\. 创建本地共享文件目录 ~~~ [root@localhost bs]# mkdir -p FileUpload/Files ~~~ 4\. 挂载远程服务器NFS分区到本地挂载点 > 挂载分区需要先切换到根目录去,否则使用绝对路径会出现挂载不到的情况 ~~~ [root@localhost bs]# cd / [root@localhost /]# mount -t nfs 192.168.0.155:/home/bs/FileUpload/Files /home/bs/FileUpload/Files ~~~ 5\. 检查分区挂载情况 > 使用 umount 命令可以取消分区挂载 > > umount 192.168.0.155:/home/bs/FileUpload/Files ~~~ [root@localhost /]# df -h ~~~ ![](https://img.kancloud.cn/38/28/3828627c726f5420fed3fbfefce8a47a_733x154.png) 6\. 配置客户端NFS 开机自动挂载 > 如果不配置的话,客户端重启后需要重新挂载才可以使用 ~~~ [root@localhost /]# vi /etc/fstab ~~~ 添加 192.168.0.155:/home/bs/FileUpload/Files /home/bs/FileUpload/Files nfs defaults 0 0 ![](https://img.kancloud.cn/3b/ce/3bced5f98c36d82e145445dd8de5fe9b_746x174.png) 使配置立即生效 ~~~ [root@localhost /]# sudo mount -a ~~~ 7\. 检验共享目录是否设置成功 服务端创建文件 ![](https://img.kancloud.cn/17/c9/17c9a5501d16354782850606ded167bb_299x123.png) 客户端自动同步 ![](https://img.kancloud.cn/de/ef/deefe3a8d67fb2fc348e7c25d9d71370_533x129.png) 客户端删除文件 ![](https://img.kancloud.cn/0f/1a/0f1abb823e2445a706f8014619ea390e_449x109.png) 服务端同步删除 ![](https://img.kancloud.cn/2d/e6/2de61c702eb9d9e3d51a7fcf3a15e81e_360x92.png) <br/> 到这里NFS 安装配置完毕! <br/> #### 三、Nginx 配置 > 这里的Nginx 是装在Windows 的机器上面 > 进入Nginx 目录下的conf 目录下,修改nginx.conf 文件 ![](https://img.kancloud.cn/17/69/176987698afae05ae5eb068f2041b6d4_712x305.png) 添加下面这两段 ``` upstream nginx-bs{ ip_hash; server 192.168.0.155:8887; server 192.168.0.156:8887; } ``` ``` location / { root html; index index.html index.htm; # 这里使用的是https,如果普通的改成http 即可 proxy_pass https://nginx-bs; } ``` 修改完成后的截图 ![](https://img.kancloud.cn/c0/59/c059cac217e612aaacfacc9b9dc5a767_910x701.png) #### 四、测试 使用安装Nginx 机器的ip + 端口进行访问,看看是否会自动转发请求 ![](https://img.kancloud.cn/8e/fb/8efb02bbae3e9bd76eeb25cd5b8dcec8_1378x613.png) 可以正常登录,并且后台的日志输出没有问题 ![](https://img.kancloud.cn/01/54/015497784fa9c89b63f1c3c188255a20_1493x490.png) ![](https://img.kancloud.cn/7a/56/7a564648a5626c129522e30c322dd18b_1643x907.png)