zoukankan      html  css  js  c++  java
  • 保证服务器高可用性-灾难恢复(2)APP服务器的配置流程

    上一篇文章写到了灾难恢复中WEB服务器的配置。其实说白了很简单,就是在另一个地方模拟出原始服务器集群的环境。


    这个文章主要谢谢APP服务器的配置。


    灾难恢复呢,对于APP服务器来说,无非包括两方面的内容:

    • DB的配置,保证新的服务器也能连接到特定的DB服务器。
    • 可以接收到新的WEB服务器的请求。

    DB的配置呢,无非就是配置一下DabaSource,测试连接这些的,直接在管理控制台上就可以配置了。(记住有的时候配置完DB之后需要重启Application Server甚至Node Agent才会使变更生效。)

    接下来就是如何保证APP服务器可以接收到新的WEB服务器的请求了。也很简单:

    1. 应用程序在用那些Virtual Host,那就把Virtual Host修改一下,在里面的Alias设置里,把新的WEB服务器的地址全都添加进去就好了。
    2. 重新生成Plugin,并且拷贝到WEB服务器上。(或者不重新生成,直接在WEB服务器上把Plugin文件里面所有旧的IP地址改成新的就好了。)

    ——如果确实想要重新生成Plugin文件的话,一定要确保Application部署到了所定义的WEB服务器上!

    如何查看?

    在IBM Console,打开Enterprise Application,然后找到对应的Application,点击进去,然后点击“View Modules”,打开之后就可以看到这个应用程序到底部署到了哪些模块之上。

    一般来说,一个应用程序,

    • 如果部署到了Cluster上面,那么这个程序就已经可以正常执行了,可以通过:http://<APP服务器的IP地址>:<端口号>/URI 来访问到。
    • 如果出了部署到了Cluster上面,而且还部署到了在IBM Console里面定义的WEB服务器上面,那么就可以正常生成Plugin了。

    生成Plugin的做法:

    打开IBM Console,找到WEB Servers,打开,然后勾选上要产生Plugin的WEB服务器(注意,这些不是说真的在APP服务器上完全做出了一个WEB服务器环境,这里只是一个WEB服务器的定义,可以作为一个载体,用来生成Plugin等操作),勾选完之后,点击“Generate Plugin”即可看到生成的Plugin的路径了。然后找到生成的Plugin,把里面的内容替换掉WEB服务器上的Plugin里面的内容,重启WEB服务器即可。

    另外,想通过:http://<APP服务器的IP地址>:<端口号>/URI 来访问APP服务器上的应用的时候,有时候这个应用服务器并不是在绑定的默认的9080,那么如何查看它所绑定的端口呢?

    还是打开IBM Console,找到Application Servers,点开对应的服务器,然后找到Ports这个项目,点击Ports前面的+号,就可以看到很多端口了。找到“WC_default”所对应的端口,这个就是应用程序服务器所绑定的为应用程序留出来的端口了。

    到此为止,这两篇文章大概就说清楚在灾难恢复中需要配置的东西了。写起来很简单,项目也不多,但是确实在实际操作中会产生各种各样的问题。比如我遇到过的:

    • 配置一切正常,但是应用服务器启动不了。

    Troubleshooting:Websphere不管遇到什么情况的问题,先看LOG,看SystemOut.log这个文件,内容最全了。

      • 如果看到了端口被占用因此无法启动的话,那很大一部分的可能就是应用服务器从旧的克隆成新的,但是之前的Java进程还在运行,但是新的服务器因为IP变了,所以应用程序服务器也基本上不可能识别出来那些旧的进程了。所以就可以打开任务管理器,把所有Java进程全部杀掉,然后把Nodeagent和Application Server依次重启。
      • 如果看到了“无法解析URI”或者之类的信息,那情况就比较复杂了,也许是应用程序在启动的时候会用到一些Server名,然后必须要能解析到Server的IP地址才可以正常启动。。。这种时候呢就说不定到底是哪方面的问题了,如果Application团队不在的话,也许可以看看hosts文件是否有一些特别的内容,也许需要添加上一些记录才能是WAS识别。
    • 其他奇奇怪怪的问题。。。想起来再补充好了。。。。。。

    反正一点特别重要,要学会查看LOG,看不懂的可以去IBM网站上或者Google里搜(注意,是Google,不是Baidu),基本上可以得到一定的解释的。

  • 相关阅读:
    用select模拟一个socket server
    用select (多路复用)模拟一个 socket server
    IO模式
    IO多路复用
    进程、线程和协程的理解
    进程、线程和协程--自己的理解
    二维数组的初始化,遍历
    数组的练习
    练习1
    数组的内存结构
  • 原文地址:https://www.cnblogs.com/delly/p/3849769.html
Copyright © 2011-2022 走看看