office web apps 在线问答预览
最近在做项目时,需要用到在线文档预览,看过明道的一篇搭建office web apps服务的文章,但是由于时间的关系,没有仔细研究,这几天有时间,就拿出来研究了下,折腾了几天终于完成了部署,然后就搬过来做下记录。
优点
- 现有代码改动量很小,几乎可以忽略不计。
- 无需自己写代码,只需一台服务器即可
- 支持文档类型很全面,doc,ppt,xls,docx,pptx,xlsx,pdf。
- 手机和pc都支持,支持文档缓存,分页浏览。
一、服务器环境要求
服务器:两台服务器,一台为转换server,另外一台为域控server。(安装office web apps的服务器必须加域才能安装成功,如果没有加域后面步骤会出现错误,疑难问题里面会介绍)
系统要求:转换服务器使用Window Server 2008 R2 64bit SP1或者以上,NET Framework 4.5,KB2592525,Windows PowerShell 3.0,IIS,保证80 443 809端口不被占用,确保当前机器没有安装office,确保当前机器没有安装Exchange,sharepoint,lync server,sql server
说明:服务器带宽和内存越高越好,测试发现比较耗性能,原因得从服务的实现原理上讲起。office web apps服务会通过用户提供的文档src,从src服务器上把文档下载下来,然后进行转换,根据文档名称进行缓存,转换完成以后返回。 带宽越大下载过程使用的时间越短,服务器性能越好转换速度越快。

二、软件下载
本文安装步骤所需的软件我都放在百度云盘了,可以进行下载。下载地址:http://pan.baidu.com/s/1hrBeYqw

三、域控服务器部署
请根据我的另一篇文章:《域控服务器安装教程》完成部署。
四、转换服务器部署
此次操作使用的是 Windows Server 2008 r2 操作系统。
注意:请严格按照下列顺序进行安装,不然可能会出现问题,很难解决!如果遇到需要重启,请重启后继续操作。
1、安装 .NET Framework4.5。
2、安装 IIS7。
1)打开服务器管理,添加角色,选择 Web 服务器,点击下一步,添加所需功能。

2)勾选 “应用程序开发” 功能,其他默认,点击下一步。

3)安装补丁。
Windows Server 2008 R2 x64 Edition 更新程序 (KB2592525)_Windows6.1-KB2592525-x64.msu
4)安装powershell。
Windows6.1-KB2506143-x64.msu
5)安装墨迹支持。
打开服务器管理,添加功能,添加墨迹和手写服务下边的墨迹支持。

6)安装office web apps。
打开下载好的 wacserver.exe 文件双击进行安装。

勾选接受条款,点击继续。

文件位置默认,点击 立即安装。

等待安装完成即可!
7)安装语言包。
wacserverlanguagepack.exe
8)安装office web apps sp1补丁包
wacserversp2013-kb2880558-fullfile-x64-glb.exe
9)通过PowerShell配置Office web apps
注意,进行到此步骤的时候,要注销电脑,使用域账户登陆操作。
右键管理员方式运行 PowerShell

启动 office 服务器场、输入以下命令。
Import-Module OfficeWebApps
部署 office 服务器场,输入以下命令(其中的参数需要根据自己的服务器进行修改)。
New-OfficeWebAppsFarm -InternalURL http://xx.domin.com -ExternalURL http://xx.domin.com -AllowHttp -EditingEnabled -OpenFromUrlEnabled
office 服务场参数说明:
New-OfficeWebAppsFarm 的使用及各参数含义可以去微软官网查看:http://technet.microsoft.com/zh-cn/library/jj219436.aspx
-InternalURL:内网浏览地址,http://xx.domin.com 其中 xx表示计算机名 domin.com 表示域名
-ExternalURL:外网浏览地址,一般为服务器的IP地址
-AllowHttp 允许80端口访问
-OpenFromUrlEnabled 允许通过url方式进行预览
-CacheLocation 缓存文件存放路径 默认是C:\ProgramData\Microsoft\OfficeWebApps\Working\d
-CacheSizeInGB 最大缓存文件大小 单位GB 默认为15GB
关于-InternalURL的怎么设置,可以计算机右键-》属性进行查看 计算机全名则是需要的地址

执行完命令就可以在iis中查看了,可以看到自动添加了两个站点,通过上面的地址http://xx.domin.com 进行浏览,出现下面的界面则表示整个安装完成了。

可以通过 http://xx.domin.com/hosting/discovery 查看描述。
当然,通过IP也是可以访问的 http://ip地址/hosting/discovery。

使用过程中如果想修改服务配置,可以通过Set-OfficeWebAppsFarm命令进行修改
Set-OfficeWebAppsFarm -AllowHttp
使用以下地址预览文档
- //注意,文档地址需要外网能访问到
- http://xx.domin.com/op/embed.aspx/src=http://www.baidu.com/test.docx
五、疑难问题解决
1、New-OfficeWebAppsFarm : 登录失败: 未知的用户名或错误密码
- PS C:\Users\Administrator> New-OfficeWebAppsFarm -InternalURL "http://xxxx" -AllowHttp -EditingEnabled
- New-OfficeWebAppsFarm : 登录失败: 未知的用户名或错误密码。
- 所在位置 行:1 字符: 1
- + New-OfficeWebAppsFarm -InternalURL "http://xxxx" -AllowHttp -EditingE ...
- + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- + CategoryInfo : NotSpecified: (:) [New-OfficeWebAppsFarm], AuthenticationException
- + FullyQualifiedErrorId : System.Security.Authentication.AuthenticationException,Microsoft.Office.Web.Apps.Adminis
- tration.NewFarmCommand
遇到这种问题,可能是你在转换服务器没有注销用户,需要再转换服务器注销用户,切换使用域服务器的账户登陆!
2、HTTP 错误 500.21
- HTTP 错误 500.21 - Internal Server Error
- 处理程序“DiscoveryService”在其模块列表中有一个错误模块“ManagedPipelineHandler”
出现这种错误是第一步安装的.net framework4.5未在iis中注册导致的。
以管理员方式打开cmd,运行以下命令
cd C:\Windows\Microsoft.NET\Framework64\v4.0.30319 .\aspnet_regiis.exe -iru
出现如下提示即解决!
- Microsoft (R) ASP.NET RegIIS 版本 4.0.30319.17929
- 用于在本地计算机上安装和卸载 ASP.NET 的管理实用工具。
- 版权所有(C)
- Microsoft Corporation。
- 保留所有权利。
- 开始安装 ASP.NET (4.0.30319.17929)。 .............
- ASP.NET (4.0.30319.17929)安装完毕。
- iisreset /restart /noforce
- 正在尝试停止...
- Internet 服务已成功停止
- 正在尝试启动...
- Internet 服务已成功启动
3、文件太大解决方案(>10M)
服务默认支持的最大文件大小是10M,大于10M会报错。可以通过以下步骤解决此问题
打开文件目录为C:\Program Files\Microsoft Office Web Apps\OpenFromUrlHost 中的文件 Settings_Service.ini
在内容最后添加以下内容(512000/1024M,可以根据自己的需求设定、后面不要加分号)。
OpenFromUrlMaxFileSizeInKBytes=(System.Int32)512000
修改 C:\Program Files\Microsoft Office Web Apps\OpenFromUrlWeb 下的Settings_Service.ini,进行相同的修改
重启office web apps服务即可!
4、文档地址为ip时预览报错
比如文档地址为http://10.5.192.168/A.docx 这个时候预览会报错 ,而相应的地址为http://mydoc.com/A.docx 域名的则是好的。这个问题估计是微软自己的安全验证问题,这也算时微软留下来的一个坑,暂时没有想到解决方案。
office web apps 在线问答预览的更多相关文章
- office web app server 文件预览部署&& wopi 集成使用
对于需要进行office 套件文档预览的时候大部分大家使用的是插件,或者类似的,解决方案,微软已经为我们提供了比较好的解决 方案 office web app server (目前名称是office ...
- office web apps server 问题和解决办法
New-OfficeWebAppsFarm –InternalURL "http://owa.zjkhlib.com" –AllowHttp –EditingEnabled 错误1 ...
- 在线文档预览方案-office web apps续篇
上一篇在线文档预览方案-office web apps发布后收到很多网友的留言提问,所以准备再写一篇,一来介绍一下域控服务器安装,总结一下大家问的多的问题,二来宣传预览服务安装与技术支持的事情. 阅读 ...
- 在线文档预览方案-office web apps
最近在做项目时,要在手机端实现在线文档预览的功能.于是百度了一下实现方案,大致是将文档转换成pdf,然后在通过插件实现预览.这些方案没有具体实现代码,也没有在线预览的地址,再加上项目时间紧迫.只能考虑 ...
- [转载]在线文档预览方案-Office Web Apps
最近在做项目时,要在手机端实现在线文档预览的功能.于是百度了一下实现方案,大致是将文档转换成pdf,然后在通过插件实现预览.这些方案没有具体实现代码,也没有在线预览的地址,再加上项目时间紧迫.只能考虑 ...
- 微软office web apps 服务器搭建之在线文档预览(一)
office web apps安装 系统要求为Windows Server 2012, 注意:转换文档需要两台服务器,一台为转换server,另外一台为域控server.(至于为什么要两台,这个请自行 ...
- [Office Web Apps]实现在线office文档预览
摘要 在使用office web apps实现office文档在线预览的时候,需要注意的地方. web api web api作为owa在线预览服务回调的接口,这里面核心代码片段如下: using H ...
- 微软office web apps 服务器搭建之在线文档预览(二)
上一篇文章已经介绍了整个安装过程了.只要在浏览器中输入文档转换server的ip,会自动跳转,出现如下页面. 那么就可以实现本地文档预览了,你可以试试.(注意:是本地哦,路径不要写错,类似“\\fil ...
- office web apps 整合到自己项目中(wopi实现在线预览编辑)
借助office web apps实现在线预览和在线编辑 我所有的代码都是用go语言编写,你可以直接编译后使用,不用再有其他的操作. 最近项目实在太忙,这几天才有时间,这次是重头戏,要好好琢磨一下怎么 ...
随机推荐
- python小知识点汇总
一 写mysql 场景:自动化用例中需要构造数据,写入redis 表中已有该primary_key的记录,在现有基础上更新字段 表中无该记录,需要插入 # 请求传入table字段,db.table,c ...
- IDEA实用教程(五)——配置IDEA的JVM内存值
---恢复内容开始--- 四. 配置IDEA的JVM内存值 IDEA默认配置的JVM内存值比较低,如果硬件配置较高,可以修改该设置. 该设置需要在工程界面进行. 该操作仅建议内存8G以上,64位操作系 ...
- REST is not the Best for Micro-Services GRPC and Docker makes a compelling case
原文:https://hackernoon.com/rest-in-peace-grpc-for-micro-service-and-grpc-for-the-web-a-how-to-908cc05 ...
- 【清北学堂】广州OI学习游记
\(Day~0\) 早上\(9\)点多才爬起来,然后水了道题. 下午从[数据删除]出发,颠簸了将近\(5\)个小时终于抵达广州. 一出地铁站--卧槽这天,卧槽这风,要下雨的节奏? 没过两分钟倾盆大雨. ...
- P1280 尼克的任务[区间覆盖dp]
题目描述 尼克每天上班之前都连接上英特网,接收他的上司发来的邮件,这些邮件包含了尼克主管的部门当天要完成的全部任务,每个任务由一个开始时刻与一个持续时间构成. 尼克的一个工作日为N分钟,从第一分钟开始 ...
- redis 发展史 应用场景
引言 在Web应用发展的初期,那时关系型数据库受到了较为广泛的关注和应用, 原因是因为那时候Web站点基本上访问和并发不高.交互也较少. 而在后来,随着访问量的提升,使用关系型数据库的Web站点多多少 ...
- [Angular 8] Lazy loading with dynamic loading syntax
@NgModule({ declarations: [AppComponent, HomeComponent], imports: [ BrowserModule, MatSidenavModule, ...
- 004_simulink建立子系统
1. 按照<001_创建simulink>文件内容修改 2. 在选中的位置右键,选择create subsystem selection 3. 得到如图所示 4. 双击subsystem进 ...
- oom killer 详解
一.oom killer理解和日志分析:知识储备 oom killer日志分析,这是前篇,准备一些基础知识 带着问题看: 1.什么是oom killer 是Linux内核设计的一种机制,在内存不足的时 ...
- KMP解决字符串最小循环节相关问题
经典问题 : 给出一个由某个循环节构成的字符串,要你找出最小的循环节,例如 abababab 最小循环节当是 ab ,而类似 abab 也可以成为它的循环节,但并非最短. 分析 : 对于上述问题有两个 ...