单机部署只看第一节即可,集群部署看第一节和第二节,其他请参考后面的章节。

1. 单机部署

重要提示:如果不知道什么是contextPath就老老实实的按照文档来,解压到TOMCAT_HOME/webapps/ROOT!!!如果你比较懂,那么请随意!

1. 请确保Java和Tomcat安装目录不包含空格,例如请勿将Java安装到 C:\Program Files 目录中,JAVA某些API不支持目录中包含空格。

2. 移除TOMCAT_HOME\webapps目录下的所有文件和目录。如果有重要数据,请注意备份。

3. 在TOMCAT_HOME\webapps目录下新建ROOT目录,注意必须是大写的ROOT。

4. 解压finder.war中的所有文件到TOMCAT_HOME\webapps\ROOT,解压之后的目录结构应该如下:

TOMCAT_HOME\webapps\ROOT

+ error

+ META-INF

+ WEB-INF

- favicon.ico

- index.html

- license.txt

4. 请确保当前启动Tomcat的用户对TOMCAT_HOME目录拥有写权限,如果没有写权限,系统将无法登录。

5. 启动tomcat。

6. 最后一步: license确认, 访问http://ip:port/finder,使用管理员帐号登录,显示license页面,点击同意之后,部署成功。

单机部署之后需要做一些简单设置,如果是准备进行集群部署,不要做以下设置:

1. 使用admin登录,点击顶部的设置菜单进入后台,进入主机管理菜单,将当前主机默认的工作空间删除或者修改。

2. 进入系统设置-安全设置,重新生成安全key和签名key,点击保存并同步到集群,单机部署完成。

重要提示:主机名和工作空间名称一旦确定,请勿随意修改,如果你已经为当前主机做了权限设置,修改主机名和工作空间名称之后需要重新设置权限。

2. 集群部署

应用场景:多台机器,每台机器都有自己的日志文件。

集群部署要求每台机器都必须部署finderweb,finderweb集群中的每个节点即是server又是agent。节点之间要求http互通,可以是端口互通,也可以是通过nginx互通,总之能够过通过http互相访问。

集群部署和动态添加机器请务必仔细阅读部署文档,并严格按照文档来,否则可能导致整个集群都无法访问。如果误操作导致整个集群不可用,请分别登录每台机器重新部署并按照本文档重新设置。

假设有三台机器,IP分别是192.168.1.1, 192.168.1.2, 192.168.1.3, 我们假设192.168.1.1这台机器是master, 其他两台是slave, 现在要在这三台机器上部署finder:

首先按照单机部署的方式分别在三台机器上部署好finder并启动tomcat; 部署完成之后务必先登录这台机器确认License,否则将无法使用。

请注意接下来的所有操作都是在master这台机器上操作,不要登录其他机器做操作。

1. 使用admin账号登录192.168.1.1这台机器,点击顶部的管理后台菜单,进入主机管理菜单,此时只能看到一个master主机。第一步需要先将master设置好。

2. 修改master主机默认的name和url(http://www.myfinder.com/finder改成当前主机真正的访问地址),该地址务必要填写正确。然后根据情况添加工作空间。

3. 依次添加另外两台机器,同时为每台机器配置好工作空间:全部添加完主机后务必在主机列表中点击从master同步。此时添加主机的时候,新主机必须已经启动并能正常访问,在添加的时候master会向新主机发送一个新的指令告诉新主机当前的master的name和新主机的name,所以前一步编辑master务必要先做。

4. 所有主机都被添加进来之后,进入主机列表页,依次点击从master同步。前面的步骤编辑完主机之后,所有的数据存储在master上,因此需要同步到集群的其他机器上。

5. 进入系统设置-安全设置,重新生成安全key和签名key,点击保存并同步到集群,集群部署完成。

集群部署成功之后,可以根据情况决定是否做负载均衡:

Finder集群被设计为对外提供幂等服务,因此无论访问那台机器都可以访问到集群内所有机器上的文件。

第一种方式:只暴露其中的一台机器,例如通过nginx只暴露master出去给用户访问,其他的机器对用户不可见。

第二种方式:在nginx上做负载均衡,通过nginx只暴露一个统一的访问地址,例如:http://www.myfinder.com/finder。所有机器对用户不可见。

以上无论哪种方式都需要集群内机器的tomcat开放的端口是互通的,例如你不能使用iptables只开放80端口,你需要同时将tomcat使用的端口也开放,否则集群内的机器就无法互通了。

其他方式

FinderWeb的集群功能提供了管理多台服务器上的文件的功能,也可以使用其他方式来管理多台服务器上的文件,下面这种方式是用户 @______偏执狂┑ 提供的一种方案,不想在多台机器部署的用户,可以参考这种方案。

1. 首先在服务器上安装NFS,Windows下可以使用samba。

2. 将其他服务器上的目录挂载或者共享给部署FinderWeb的服务器上。

3. 在FinderWeb中配置不同的工作空间即可。

3. 动态添加机器

如果以后需要将其他机器添加到集群,请按照下面的步骤添加:

第一种方式(强烈建议):

1. 按照单机部署的方式在新机器上部署好finderweb;

2. 登录现有集群环境,管理后台-安全设置,将 会话key和安全key 拷贝出来备用;

3. 修改新机器的 ~/WEB-INF/classes/META-INF/conf/finder.conf 文件,使用上一步拷贝出来的会话key和安全key修改finder.conf中的会话key和安全key并重启新机器的tomcat;

4. 使用管理员账号登录到集群,在主机管理中将新机器加入进来,此操作集群会向新机器发出重命名指令和master指令,告诉新机器以后我是master,你的新名字是xxx:添加完主机后务必在主机列表中点击从master同步。

5. 至此,新机器加入集群完成。

第二种方式:

这种方式是支持群中的 @骑猪的大叔 想到的方案,特别感谢。

1. 按照单机部署的方式在新机器上部署好finder;

2. 使用管理员账号登录到集群,将安全key和签名key重置为:00000000-0000-0000-0000-00000000

3. 使用管理员账号登录到集群,在主机管理中将新机器加入进来,此操作集群会向新机器发出重命名指令和master指令,告诉新机器以后我是master,你的新名字是xxx:添加完主机后务必在主机列表中点击从master同步。

4. 使用管理员账号登录到集群,在安全设置中重新生成安全Key和签名key,点击保存;

5. 至此,新机器加入集群完成。

4. 系统升级

finderweb的最终输出只有一个jar文件,这使得系统集成和应用升级非常简单,只需要替换jar文件即可完成系统升级,并且完全向下兼容。

首先到官网 http://www.finderweb.net/download.html 下载最新的升级包:finder-web-x.x.x.jar,注意是.jar文件,不是.war文件。

通过后台升级

1. 使用管理员帐号登录后台,在集群环境已经就绪的情况下不需要专门登录到master,登录其中任意一台都可以,如果使用了负载均衡,直接访问统一入口即可;

2. 进入系统更新,选择好要升级的主机(安全起见,请在系统空闲时间分批次升级,并先升级或者最后升级master),单击系统升级菜单,选择已经下载的.jar文件,点击确定即可。升级完成之后系统会自动重启无需手动重启。

重要提示:

1. 请确保你的系统设置了 JAVA_HOME 环境变量,在某些windows server系统下,如果没有设置JAVA_HOME环境变量,可能导致重启失败。

2. 早期版本的后台升级功能存在bug,windows系统升级完成之后无法删除旧版的文件(由于还在使用中),导致升级失败,需要手动删除旧版文件并手动重启Tomcat。

手动升级

1. 手动替换finder-web-x.x.x.jar;

2. 手动重启Tomcat;

5. 其他应用服务器

容器: 指tomcat, resin等,java web程序需要在容器内运行。

如果你使用的是其他应用服务器,例如resin等,finder的自动重启功能将无法使用,但是可以通过手动创建重启脚本的方式来解决。

1. 首先编写finder_restart.sh文件,windows环境下为finder_restart.bat文件,编写完成之后放到容器运行时的工作目录,finder会检查这个文件,如果存在则不创建,否则自动生成一个,自动生成仅支持tomcat,如果不是tomcat将会报错。注意:这个文件只需要三到五行代码即可,不需要写很复杂的脚本,示例如下:

linux:

#!/bin/sh

WORK_DIRECTORY=/web/resin/bin // 定义当前服务器的工作目录

echo stop tomcat

${WORK_DIRECTORY}/shutdown.sh // shutdown.sh改为服务器的关闭脚本

kill -9 $1 // $1为finder重启时传递过来的当前容器的进程id

echo start tomcat

${WORK_DIRECTORY}/startup.sh // startup.sh改为服务器的启动脚本

echo start success

windows:

@ECHO OFF

@set WORK_DIRECTORY=/web/resin/bin // 定义当前服务器的工作目录

@SET JAVA_PROCESS_ID=%1 // %1为finder重启时传递过来的当前容器的进程id

@ECHO stop tomcat

call %WORK_DIRECTORY%\shutdown.bat // shutdown.sh改为服务器的关闭脚本

if not "%JAVA_PROCESS_ID%"=="" taskkill /F /pid %JAVA_PROCESS_ID%

@echo start tomcat

call %WORK_DIRECTORY%\startup.bat // startup.sh改为服务器的启动脚本

@ECHO start success

注意事项,如果Java或者Tomcat安装目录包含空格,重启功能将不可用,请确保Java和Tomcat安装目录不包含空格。

在重启的过程中脚本需要做三件事:第一步,尝试关闭服务器;第二,杀死服务器进程,第二步起补刀作用,强制杀死进程;第三步,启动服务器。

为了确保重启的可靠性和重启脚本的简单,finder的重启操作采用进程镜像的方式,这样做的可靠性很高,几乎可以确保100%重启成功,而且不需要编写复杂的脚本。

6. 定时重启

需求场景:定时任务重启集群中的finder系统或者只重启部分机器。

1. 创建重启脚本;

curl --H'Security-Key: 88946950-98e7-47d5-a651-5662131f63a9' URL

Security-Key 集群内部通讯的安全Key, 从后台安全设置中拷贝出来即可。

Windows系统可以选择安装windows版的curl

URL的写法有三种;

# http://IP:PORT/finder?action=agent.node.restart 重启指定的机器

# http://DOMAIN/finder?action=agent.node.restart&host=www.myfinder.com 重启指定的机器

# http://DOMAIN/finder?action=agent.cluster.restart 重启集群内所有的机器

# 第一种写法使用ip:port的方式直接调用目标机上部署的finder;

# 第二种写法使用域名的方式(如果配置了负载均衡),通过host参数访问目标机上部署的finder,域名也可以使用ip:port,ip:port可以是集群内任意一台机器;

# 第三种写法是重启集群内全部机器,前两种只会重启一台机器,域名也可以使用ip:port,ip:port可以是集群内任意一台机器;

2. 在操作系统中配置定时任务;

windows:开始 - 程序 - 附件 - 系统工具 - 任务计划

linux: 创建cron定时任务

7. 特殊配置

以下配置不是必须的,有特殊需求的可以按此操作

1. Finder中~/WEB-INF/classes/META-INF/conf中的文件均可移动到${user.home}/skinx/${APP_NAME}/META-INF/conf目录中。

其中${user.home}指当前操作系统用户的用户目录,windows下为:C:\Users\${YOUR_NAME},linux下为当前启动tomcat的用户:/home/${YOUR_NAME}。请确保当前用户对这个目录拥有写权限。

${APP_NAME}默认为finder,如需指定,请在~/WEB-INF/classes目录下新建app.properties文件,并写入一行代码:name=xxxx

系统在启动的时候会首先检查${user.home}/skinx/${APP_NAME}/META-INF/conf目录是否存在,如果存在则所有的配置文件和应用数据都从该目录加载,否则从~/WEB-INF/classes/META-INF/conf加载。

另2.2.6及以后的版本没有cookie.properties这个配置文件,如果是从老版本升级到新版的可以删除该文件。

由于配置文件目录会存储系统运行过程中产生的用户数据和权限数据,因此强烈建议将该目录从应用目录迁移到用户目录。

8. 权限设置

1. Finder中只有一个用户是管理员,其他用户都是普通用户,请在后台 - 安全设置中设置管理员帐号。

2. 管理员帐号不需要配置任何权限,管理员帐号可以操作所有主机和工作空间,并拥有任何工作空间的任何权限。例外情况:如果工作空间为只读的,管理员也只有读权限。

3. 普通用户必须赋权才能看到或者操作对应的工作空间。赋权需要先赋主机权限再赋文件权限。

web服务器的文档的部分路径是如何工作的,FinderWeb - 文档中心相关推荐

  1. 转: 三大WEB服务器对比分析(apache ,lighttpd,nginx) (2008年的旧文,仅供参考之用)...

    from:  http://www.blogjava.net/daniel-tu/archive/2008/12/29/248883.html 三大WEB服务器对比分析(apache ,lighttp ...

  2. Mr.J-- HTTP学习笔记(五)-- Web服务器

    Web 服务器实现了 HTTP 和相关的 TCP 连接处理. 负责管理 Web 服务器提供的资源, 以及对 Web 服务器的配置. 控制及扩展方面的管理. 我的专栏:  HTTP学习笔记 Web服务器 ...

  3. web服务器遭受命令注入攻击怎么办。

    代码注入是指攻击者通过网站类型注入相应的代码,这个代码以当前网站用户的权限执行系统命令,在高级事件中,攻击者可能溢出来提权导致整个web服务器的沦丧. 倘若攻击路径到/shell了,这种情况就很严重了 ...

  4. 搭建Python自带静态Web服务器

    学习目标 能够知道搭建Python自带Web服务器 1. 静态Web服务器是什么? 可以为发出请求的浏览器提供静态文档的程序. 平时我们浏览百度新闻数据的时候,每天的新闻数据都会发生变化,那访问的这个 ...

  5. Linux下的web服务器搭建

    Web服务器:专门处理HTTP请求的服务器,常被称为Web服务器. 有时间好好研究这个. 另外可以参照  mac/linux安装php那篇一起看看 零. 一.httpd简介(也可称为apache) 常 ...

  6. Web服务器的工作原理

    了解WEB服务器的工作原理和相关概念是后台开发人员的必修课,这篇文章来自 : Web服务器的工作原理 很多时候我们都想知道,web容器或web服务器(比如Tomcat或者jboss)是怎样工作的?它们 ...

  7. Web服务器有哪几种?

    当我们打开电脑,通过浏览器看到的网站,所有网站服务器多是我们所说的web服务器,具体解释就是一种驻留在Internet上的计算机程序,web服务器通过存储网站文件,放置大小不一各类数据文件,来进行工作 ...

  8. Forefront_TMG_2010-TMG发布Web服务器

    1.环境拓扑图: 2.准备DMZ区域的Web服务器: 安装Web服务器: 在DMZ区域的Web服务器进行测试: 3.TMG发布Web服务器: 打开TMG管理控制台,新建"网站发布规则&quo ...

  9. Web 服务器-Apache详解

    文章目录 一.讲在 Apache 之前 二.Apache 详解 2.1 概述 2.2 工作模式 修改方式: 2.3 相关文件保存位置 2.4 配置文件详解 2.5 Apache 实验 2.5.1 Ap ...

最新文章

  1. 【控制】《鲁棒控制-线性矩阵不等式处理方法》-俞立老师-第6章-区域极点配置
  2. 青少年蓝桥杯_2020_steam考试_中级组_第一题
  3. 用于JMX访问的Apache Ant任务
  4. 三大运营商公布11月运营数据:中国移动固网业务表现亮眼
  5. Spring 相关jar包下载及其地址(官方下载地址 )
  6. Android手机健康类APP市场分析
  7. Arduino连接GPS模块
  8. 伍德里奇计量经济学第五版第四章计算机操作,伍德里奇计量经济学第四章
  9. 开宗明义—UEFI介绍 (一)
  10. 使用PHP+LibreOffice实现word转html的功能
  11. HTML页面基本结构。
  12. 学校计算机协会面试自我介绍,个人社团面试自我介绍范文三篇
  13. 小赛毛游C记——分支和循环语句(1)
  14. linux 查找删除目录,Linux运维知识之Linux系统下find命令递归删除查找目录的方法...
  15. Qt数字电子钟(根据进位计算实现)
  16. 计算机系统启动密码怎么设置在哪里,如何设置电脑开机密码呢?教你设置系统登陆密码...
  17. fanfou+wiki
  18. php jsapi支付没有走回调,微信支付成功没有执行回调路径
  19. 长篇好文:提问的智慧
  20. 房地产小程序开发-地产小程序开发

热门文章

  1. 一份简单的在 Linux下编译及调试 C 代码的指南
  2. Swift - 给图片添加文字水印(图片上写文字,并可设置位置和样式)
  3. 无名岛外贸电商 远程操作linux网站常用命令,整理收集 Linux SSH命令 (
  4. AndroidManifest.xml文件剖析
  5. 深入解析windows操作系统。。。。
  6. hystrix原理_go-hystrix熔断机制
  7. ylinux系统找到软件_电脑用了段时间发现多处一些软件该怎么办?
  8. SQL Server基础之存储过程
  9. 计算机网络 陆魁军 ppt,计算机网络的应用基础概述.doc
  10. css中调整高度充满_CSS(十三).高度如何铺满全屏