虽然windows也支持docker,但是在only-office由于外网镜像原因,网上那些使用docker部署的情况往往失效,现在讲一下exe版的onlyoffice服务的部署。其中需要的各种安装包我已经整合好了,里面也有安装方式,就不用在这听我啰嗦了,链接: https://pan.baidu.com/s/13Wr2xVQX4IfW2jFw8zgrAg .
提取码:3bep

erlang的安装

onlyoffice需要rabbitmq服务,而rabbit需要erlang环境,而这两个是有着严格的版本要求的,不要随便下载,先去官网查看对应版本号。
首先双击运行安装otp,重点就是:安装路径不要有空格和汉字!安装路径不要有空格和汉字!安装路径不要有空格和汉字!
安装完成之后,需要配置全局环境变量:
在这里插入图片描述
在这里插入图片描述
配置完成之后windows+R,输入cmd打开命令行,输入 erl 查看有如下情形就是安装成功。
在这里插入图片描述

安装rabbitmq

执行下载的rabbit安装的exe文件,同样重点安装路径不要有空格和中文,安转完成之后找到安装路径下的sbin文件夹下打开命令行执行如下命令
在这里插入图片描述

rabbitmq-plugins.bat enable rabbitmq_management

如果报错,请检查erlang和rabbitmq版本是否对应正确或者安装路径有无空格和汉字,目前我所遇见的错误只有这两种。
如果未报错那么在当前cmd窗口下继续执行

net start RabbitMQ

浏览器输入地址:http://localhost:15672,输入默认账号:guest 密码:guest,能进入RabbitMQ界面了
如果上述一切正常但是无法进入RabbitMQ界面,那么在开始菜单找到下面图标点击,再执行net start RabbitMQ
在这里插入图片描述

安装postgreSql

记得安装时第一次让你配置的口令一定要记住,因为接下来都会用到
同样,到安装文件夹下的bin目录下cmd执行以下命令,输入上面的口令

psql -U postgres -c "CREATE DATABASE onlyoffice;"
psql -U postgres -c "CREATE USER onlyoffice WITH password 'onlyoffice';"
psql -U postgres -c "GRANT ALL privileges ON DATABASE onlyoffice TO onlyoffice;"

安装redis

没什么好说的,直接点击下一步到结束就好。

安装onlyoffice-documentserver

主角终于登场了,找到exe文件所在的地址,记住不要双击执行,因为会默认绑定80端口,后期可以在配置文件中修改,但是不如直接一步到位。
在文件所在目录下执行

onlyoffice-documentserver.exe /DS_PORT=你想要的端口号

然后一直点击下一步到结束,打开欢迎页面,在底部有两行命令,按需执行就好。至此安装完成,以下附前端调用代码:

<div id="placeholder" class="nav" style="width: 100%; height: 100%"></div>
const word = ["doc", "docm", "docx", "dot", "dotm", "dotx", "epub", "fodt", "fb2", "htm", "html", "mht", "odt", "ott", "oxps", "pdf", "rtf", "txt", "djvu", "xml", "xps"];
const cell = ["csv", "fods", "ods", "ots", "xls", "xlsm", "xlsx", "xlt", "xltm", "xltx"];
const slide = ["fodp", "odp", "otp", "pot", "potm", "potx", "pps", "ppsm", "ppsx", "ppt", "pptm", "pptx"];
//文件地址
const filePath = 'G:\文档\xxxx.docx';
const fileName = filePath.spilt(':')[1].spilt('.')[0];
const fileType = filePath.spilt('.')[1];
let type = '';
if (word.indexOf(fileType.toLowerCase()) > -1) {
	type = "word";
} else if (cell.indexOf(fileType.toLowerCase()) > -1) {
	type = "cell";
} else {
	type = "slide";
}
const docEditor = new DocsAPI.DocEditor("placeholder", {//placeholder为要放入的位置
	"document": {
		"fileType": fileType.toLowerCase(),//文件类型
		"key": fileName,//docserver会通过key读取缓存,如果文档进行修改要修改key值
		 "title": "在线预览",//显示文档标题
		"url": filePath //可以为静态地址,也可为方法地址
	},
	"documentType": type,//onlyoffice可打开word、excel、ppt==word/cell/slide
	"type": "desktop",//"mobile"是移动端,不写默认是pc端
	"height": "100%",
	"weight": "100%",//两个都100%一般不好使,最好通过计算当前页面给一个初始化值
	"editorConfig": {
		"callbackUrl": "",//回调地址,一定要保证docserver可以请求到,否则开不开文件
        "lang": "zh-CN",//中文显示
        "mode": "view",//只读view,编辑edit
	}
});

更多参数请看https://api.onlyoffice.com/editors/config/.

Logo

权威|前沿|技术|干货|国内首个API全生命周期开发者社区

更多推荐