最近在做项目时,需要用到在线文档预览,看过明道的一篇搭建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

使用以下地址预览文档

  1.  
    //注意,文档地址需要外网能访问到
  2.  
    http://xx.domin.com/op/embed.aspx/src=http://www.baidu.com/test.docx

五、疑难问题解决

1、New-OfficeWebAppsFarm : 登录失败: 未知的用户名或错误密码

  1.  
    PS C:\Users\Administrator> New-OfficeWebAppsFarm -InternalURL "http://xxxx" -AllowHttp -EditingEnabled
  2.  
    New-OfficeWebAppsFarm : 登录失败: 未知的用户名或错误密码。
  3.  
    所在位置 行:1 字符: 1
  4.  
    + New-OfficeWebAppsFarm -InternalURL "http://xxxx" -AllowHttp -EditingE ...
  5.  
    + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  6.  
    + CategoryInfo : NotSpecified: (:) [New-OfficeWebAppsFarm], AuthenticationException
  7.  
    + FullyQualifiedErrorId : System.Security.Authentication.AuthenticationException,Microsoft.Office.Web.Apps.Adminis
  8.  
    tration.NewFarmCommand

遇到这种问题,可能是你在转换服务器没有注销用户,需要再转换服务器注销用户,切换使用域服务器的账户登陆!

2、HTTP 错误 500.21

  1.  
    HTTP 错误 500.21 - Internal Server Error
  2.  
    处理程序“DiscoveryService”在其模块列表中有一个错误模块“ManagedPipelineHandler”

出现这种错误是第一步安装的.net framework4.5未在iis中注册导致的。

以管理员方式打开cmd,运行以下命令

cd C:\Windows\Microsoft.NET\Framework64\v4.0.30319 .\aspnet_regiis.exe -iru

出现如下提示即解决!

  1.  
    Microsoft (R) ASP.NET RegIIS 版本 4.0.30319.17929
  2.  
    用于在本地计算机上安装和卸载 ASP.NET 的管理实用工具。
  3.  
    版权所有(C)
  4.  
    Microsoft Corporation。
  5.  
    保留所有权利。
  6.  
     
  7.  
    开始安装 ASP.NET (4.0.30319.17929)。 .............
  8.  
    ASP.NET (4.0.30319.17929)安装完毕。
  9.  
    iisreset /restart /noforce
  10.  
    正在尝试停止...
  11.  
    Internet 服务已成功停止
  12.  
    正在尝试启动...
  13.  
    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 在线问答预览的更多相关文章

  1. office web app server 文件预览部署&& wopi 集成使用

    对于需要进行office 套件文档预览的时候大部分大家使用的是插件,或者类似的,解决方案,微软已经为我们提供了比较好的解决 方案 office web app server (目前名称是office ...

  2. office web apps server 问题和解决办法

    New-OfficeWebAppsFarm –InternalURL "http://owa.zjkhlib.com" –AllowHttp –EditingEnabled 错误1 ...

  3. 在线文档预览方案-office web apps续篇

    上一篇在线文档预览方案-office web apps发布后收到很多网友的留言提问,所以准备再写一篇,一来介绍一下域控服务器安装,总结一下大家问的多的问题,二来宣传预览服务安装与技术支持的事情. 阅读 ...

  4. 在线文档预览方案-office web apps

    最近在做项目时,要在手机端实现在线文档预览的功能.于是百度了一下实现方案,大致是将文档转换成pdf,然后在通过插件实现预览.这些方案没有具体实现代码,也没有在线预览的地址,再加上项目时间紧迫.只能考虑 ...

  5. [转载]在线文档预览方案-Office Web Apps

    最近在做项目时,要在手机端实现在线文档预览的功能.于是百度了一下实现方案,大致是将文档转换成pdf,然后在通过插件实现预览.这些方案没有具体实现代码,也没有在线预览的地址,再加上项目时间紧迫.只能考虑 ...

  6. 微软office web apps 服务器搭建之在线文档预览(一)

    office web apps安装 系统要求为Windows Server 2012, 注意:转换文档需要两台服务器,一台为转换server,另外一台为域控server.(至于为什么要两台,这个请自行 ...

  7. [Office Web Apps]实现在线office文档预览

    摘要 在使用office web apps实现office文档在线预览的时候,需要注意的地方. web api web api作为owa在线预览服务回调的接口,这里面核心代码片段如下: using H ...

  8. 微软office web apps 服务器搭建之在线文档预览(二)

    上一篇文章已经介绍了整个安装过程了.只要在浏览器中输入文档转换server的ip,会自动跳转,出现如下页面. 那么就可以实现本地文档预览了,你可以试试.(注意:是本地哦,路径不要写错,类似“\\fil ...

  9. office web apps 整合到自己项目中(wopi实现在线预览编辑)

    借助office web apps实现在线预览和在线编辑 我所有的代码都是用go语言编写,你可以直接编译后使用,不用再有其他的操作. 最近项目实在太忙,这几天才有时间,这次是重头戏,要好好琢磨一下怎么 ...

随机推荐

  1. Hive安装配置详解步骤以及hive使用mysql配置

    Hive是一个数据仓库基础工具在Hadoop中用来处理结构化数据.它架构在Hadoop之上,总归为大数据,并使得查询和分析方便.并提供简单的sql查询功能,可以将sql语句转换为MapReduce任务 ...

  2. Hadoop安装-单机-伪分布式简单部署配置

    最近在搞大数据项目支持所以有时间写下hadoop随笔吧. 环境介绍: Linux: centos7 jdk:java version "1.8.0_181 hadoop:hadoop-3.2 ...

  3. Google hacking 语法

    a b c 自动对词进行拆分匹配 拆分标准 空格 "a b c " 把a b c 当成一个整体去查 " a*b" *通配符 里面是一个或者多个 以a开头 b结尾 ...

  4. Notepad++ 连接远程 NppFTP

    远程连接 1.自动安装: 插件——> Plugin Manager——>ShowPlugin Manager——>勾选NppFTP插件——>Install ​ 2. 手动安装 ...

  5. js基础知识1

    本博客转自某不知名程序员 1. JavaScript基础分为三个部分: ECMAScript:JavaScript的语法标准.包括变量.表达式.运算符.函数.if语句.for语句等. DOM:操作网页 ...

  6. python中IO多路复用、协程

    一.IO多路复用 IO多路复用:检测多个socket是否已经发生变化(是否已经连接成功/是否已经获取数据)(可读/可写) import socket def get_data(key): client ...

  7. 使用宏定义来判断是a和b 的大小

    #include <stdio.h> #include <math.h> #define MAX(a, b) (a) > (b) ? printf("a > ...

  8. 12-Vue的使用-安装 - 条件渲染

    一.安装 1. 去vue官网:  https://cn.vuejs.org/ 2. 引入vue.js文件 <body> <script src="vue.js"& ...

  9. SIGAI机器学习第十五集 支持向量机2

    讲授线性分类器,分类间隔,线性可分的支持向量机原问题与对偶问题,线性不可分的支持向量机原问题与对偶问题,核映射与核函数,多分类问题,libsvm的使用,实际应用 大纲: SVM求解面临的问题 SMO算 ...

  10. mysql查询重复数据

    SELECT * FROM oa_user ) ORDER BY UserName oa_user表名,UserName需要查重复的字段名