如何将 Nginx 与 WebSphere 应用程序服务器配合使用?
ibm was (websphere application server)通常与ibm http server一起使用,但是如果您遇到问题,那么这份快速指南将对您有所帮助。
ihs基于apache http服务器,它能工作,但是就性能而言,没有什么能超过nginx web服务器。
nginx的市场份额在百万最繁忙网站中逐渐增加。
让我们来看看如何将nginx与ibm was集成起来。以下演示在linux环境中进行。
我假设您已经安装了was和nginx。如果没有,请参考以下快速指南安装nginx
- 登录到web服务器
- 使用以下命令安装
yum install epel-release yum install nginx
使用nginx时需要注意一些要点。
- 您不需要使用websphere插件,而是使用proxy_pass代替
- 您可以将所有请求转发到websphere,也可以通过location指令中的上下文根转发
- 您需要在nginx配置文件中手动指定所有jvm主机和端口
让我们开始吧…
- 登录到nginx服务器
- 备份nginx.conf文件(默认安装位置为/etc/nginx/nginx/conf)
- 在
http
块下添加以下upstream
upstream wasservers { server localhost:9080; server localhost:9081; }
在上面的示例中,我创建了一个名为”wasservers“的上游后端,并配置了两个jvm。您可以根据需要配置多个。
注意:如果您的was服务器与nginx不同,则必须确保防火墙允许必要的端口。
接下来,我将指示nginx将所有请求转发到新创建的wasservers后端。
- 在
location
块下添加以下proxy_pass
proxy_pass http://wasservers;
- 看起来应该像这样
location / { proxy_pass http://wasservers; proxy_set_header host $host; }
- 重新启动nginx web服务器
service nginx restart
通过nginx的监听地址访问was应用程序来验证
所以您可以看到我通过nginx打开了cachemonitor应用程序。
这是将ibm was集成到nginx作为前端web服务器的非常基本的配置。
您可能还对探索其他nginx配置感兴趣,例如:
配置负载均衡 – 您可以设置负载均衡以基于客户端ip分发请求。如果您有多个jvm并且想要保持连接,则这将非常有用或必要。
这可以通过在上游模块中添加ip_hash
来实现。例如:
upstream wasservers { ip_hash; server localhost:9080; server localhost:9081; }
将was jvm移除 – 如果您配置了多个jvm并且由于某种原因其中一个jvm出现问题,则有两个选项。
您可以从上游模块中删除jvm服务器:端口,或者利用down
参数临时禁用请求转发。
例如:
upstream wasservers { ip_hash; server localhost:9080; server localhost:9081 down; }
if you are looking for advanced configuration like session affinity, health checks, etc., hen you got to use nginx plus.
i hope this short note give you an idea how to implement nginx as a web server in front of ibm was. you may also refer to ibm official guide for more details.
上游服务器wasservers { ip_hash; 服务器 localhost:9080; 服务器 localhost:9081 down; }
如果您正在寻找像会话亲和性、健康检查等高级配置,那么您需要使用 nginx plus。
我希望这个简短的笔记能为您提供如何在ibm was前面实现nginx作为web服务器的思路。您还可以参考 ibm官方指南获取更多详细信息。