多协议、性能稳定、丰富API的流媒体服务器软件
如何卸载Wowza 老版本,然后安装新版本?

在已经安装了Wowza Streaming Engine的机器上,如果要安装一个新版本的Wowza Streaming Engine,我一般不推荐升级安装,而是把原有的老版本卸载掉, 然后全新安装新版本。为什么呢?因为安装新版本的过程太简单了,没必要在老版本上打升级包。



那么首先就遇到一个问题,如何卸载原有的老版本,然后再安装新版本?

我们重点说Linux 环境 (Window环境下卸载软件这个图形界面下太简单了,没必要说了)

首先,建议您在进行下面的操作时使用root用户,如果是非root用户,那你遇到问题时要确认您当前的系统用户是否有对应的权限。

1、首先下载最新版本的安装包:
wget https://www.wowza.com/downloads/WowzaStreamingEngine-4-8-14+9/WowzaStreamingEngine-4.8.14+9-linux-x64-installer.run
	

注意: 如果服务器没联网,那你用其它办法将这个最新版本的安装包上传到服务器上。


2、将现有的Wowza服务停止
service WowzaStreamingEngine stop
以及
service WowzaStreamingEngineManager stop
	
注: 为了确认服务已经停止,你可以用以下命令确认Wowza使用的Java进程已经退出
ps -ef | grep java
	


3、卸载老版本的Wowza Streaming Engine

非常简单,只要在Wowza安装目录下,执行uninstall命令即可。
cd /usr/local/WowzaStreamingEngine
./uninstall
	
按提示,确认卸载就可以了,这一步它不会把整个目录都删掉,它会保留conf和content目录下的文件。另外它会删除/usr/local/WowzaStreamingEngine的软链接。

注: Wowza每次安装时,都会在/usr/local/下创建携带自己版本号的目录,把程序安装在这个目录下,然后另外创建一个软链接/usr/local/WowzaStreamingEngine指向这个目录。

请看下图,它是个例子:

wowza

另外,经过测试,发现卸载后,conf/live/Application.xml也被删除了(不知道什么原因),所以如果你老版本Wowza在这个live 应用下添加了一些配置参数,可以先单独把这个文件备份出来。

4、安装Wowza Streaming Engine新版本

回到第一步你下载最新版本安装包压缩文件所在目录
chmod +x WowzaStreamingEngine-4.8.14+9-linux-x64-installer.run
./WowzaStreamingEngine-4.8.14+9-linux-x64-installer.run
注意: 安装过程中,需要输入license key,你要提前准备好,用的时候直接粘贴拷贝就行。这东西保存在conf/Server.license文件里。

5、用原有版本的主要配置文件覆盖新版本的配置文件(可选步骤)

首先说明,这一步是可选的,不是必须的。只有当老版本的Wowza上有一些你改动、添加的配置时,才需要这一步。如果以前就是默认安装的,之后没啥配置修改,就不用这一步了。

另外,如果老版本和新版本跳跃很大(举个例子,比如从4.5.0到4.8.0),这一步要特别小心,因为老版本的配置文件不一定完全适用于最新版本。即使适用,也可能缺少一些新版本特有的配置参数。 如果版本跳跃很小(举个例子,从4.7.8到4.8.0), 配置文件基本不会有什么变化。当然了,为了谨慎期间,你在覆盖前,对两边的配置文件做个对比,也是好习惯。

涉及到的配置文件主要包括:
/usr/local/WowzaStreamingEngine/conf/Server.license
/usr/local/WowzaStreamingEngine/conf/Server.xml
/usr/local/WowzaStreamingEngine/conf/VHost.xml
/usr/local/WowzaStreamingEngine/conf/Tune.xml
/usr/local/WowzaStreamingEngine/conf/PushPublishMap.txt
/usr/local/WowzaStreamingEngine/conf/StartupStreams.xml
/usr/local/WowzaStreamingEngine/conf/log4j.properties
/usr/local/WowzaStreamingEngine/content/*.stream
/usr/local/WowzaStreamingEngine/transcoder/templates/*.xml
/usr/local/WowzaStreamingEngine/conf/live/Application.xml
/usr/local/WowzaStreamingEngine/conf/live/PushPublishMap.xml
重要的是,这些文件,哪些要覆盖,你自己要大概清楚,有些文件你的项目用到了,有些压根就没用过。 没用过的当然就不要考虑备份和覆盖的事情了。


6、最后,重启Wowza Streaming Engine就行了(我基本上不用restart,都是先停止,然后将logs下的历史日志都删掉,然后再启动,这样有啥问题,看日志比较容易)

service WowzaStreamingEngine stop
以及
service WowzaStreamingEngineManager stop


service WowzaStreamingEngine start
以及
service WowzaStreamingEngineManager start


至此,卸载老版本,安装新版本的过程结束!你登录到Wowza的管理界面,检查一下,业务上该做什么测试,自己测一下。

如果有问题,要不要回滚?一般情况下,是不需要的。有问题,看看具体是什么问题,修改对应的配置参数即可。

只有一种情况会涉及到回滚,就是你利用Wowza 的API开发了一些自定义模块(Custom Module),发现升级后不能用了,比如某个API变化了。 而你的业务必须要用这些自定义模块,你也来不及改写这个Module。这时候就必须得回滚了。

那你还是按这个文档,卸载当前版本,然后安装老版本。当然,老版本的安装包你要保留。Wowza官网上通常只提供最新版本的安装包。

最后,为了避免这种问题,你最好是在测试机器上安装新版本,测试并验证OK后,再到生产环境升级。