`
jiasudu1649
  • 浏览: 710676 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

Nginx+OFBiz

阅读更多
经测试 OFBiz的并发大约在200左右,不足以支撑一个互联网应用。
而且
OFBiz 在Linux部署到Geronimo 中慢如蜗牛。在Window中从没有部署成功过。
OFBiz 在Window环境部署到 Weblogic 中,jndi数据源,总是配置不成功。只好采用OFBiz的连接池。
OFBiz部署到Jboss算是最好的,Linux和Window中都可以顺利成功。 jndi数据源也可以顺利解决。
但是在生产环境中,还是不可避免的需要在前面配置一个Apache。
既然所有环境中都需要配置Web服务器,那么OFBiz本身内嵌的Tomcat容器也是经过优化过的。我们何不直接在OFBiz前端配置一个Web服务器。这样可以在适当的时间再把OFBiz部署到以上提到的应用服务器中。
大众思维都是拿Apache来配置前端的Web服务器。我们从来不走寻常路。直接拿Nginx来做Web服务器。
本次测试环境为Ubuntu 9.04;JDK 1.6;OFBiz trunk 1081268;

1、编译Nginx

./configure \
  --prefix=/usr \
  --sbin-path=/usr/sbin/nginx \
  --conf-path=/etc/nginx/nginx.conf \
  --error-log-path=/var/log/nginx/error.log \
  --pid-path=/var/run/nginx/nginx.pid  \
  --lock-path=/var/lock/nginx.lock \
  --user=nginx \
  --group=nginx \
  --with-http_ssl_module \
  --with-http_flv_module \
  --with-http_gzip_static_module \
  --http-log-path=/var/log/nginx/access.log \
  --http-client-body-temp-path=/var/tmp/nginx/client/ \
  --http-proxy-temp-path=/var/tmp/nginx/proxy/ \
  --http-fastcgi-temp-path=/var/tmp/nginx/fcgi/


2 启动
桌面 sudo /usr/local/nginx/sbin/nginx

3 快速关闭服务器

快速关闭Nginx,可能不保存相关信息,并迅速终止web服务。

sudo /usr/local/nginx/sbin/nginx -s stop   

平稳关闭Nginx,保存相关信息,有安排的结束web服务。
   
sudo /usr/local/nginx/sbin/nginx -s quit

4 测试配置文件语法是否正确
/usr/local/nginx/sbin/nginx
sudo ./nginx -t -c /usr/local/nginx/conf/nginx.conf
sudo /usr/local/nginx/sbin/nginx  -t -c /usr/local/nginx/conf/nginx.conf


sudo /usr/local/nginx/sbin/nginx -t -c /usr/local/nginx/conf/nginx.conf

5  重新加载配置


sudo /usr/local/nginx/sbin/nginx -s reload       因改变了Nginx相关配置,需要重新加载配置而重载。


6 复制
sudo cp -i nginx.conf /usr/local/nginx/conf


7 配置 nginx.conf
upstream localhost {  
      server localhost:8080 srun_id=ofbiz1; 
      server localhost:18080 srun_id=ofbiz2; 
      jvm_route $cookie_JSESSIONID|sessionid reverse;
     } 

location / {
            #root   html;
            #index  index.html index.htm;
            proxy_connect_timeout   3; 
            proxy_send_timeout      30; 
            proxy_read_timeout      30; 
            proxy_pass http://localhost; 
        }
8 ofbiz-container.xml中修改对应的jvm-route为上述赋值


12 打开浏览器 输入localhost/partymgr 查看系统

0
2
分享到:
评论
4 楼 dagmom 2015-12-01  
nginx proxy https ofbiz
涉及这部分代码的改造才是和ofbiz相关最多的地方
3 楼 jiasudu1649 2013-03-17  
配置  ip_hash
每个请求按访问ip的hash结果分配,这样每个访客固定访问一个后端服务器,可以解决session的问题。

7 配置 nginx.conf
upstream localhost {  
      ip_hash;
      server localhost:8080; 
      server localhost:18080; 
     
     } 


ip_hash是容易理解的,但是因为仅仅能用ip这个因子来分配后端,因此ip_hash是有缺陷的,不能在一些情况下使用:

1/ nginx不是最前端的服务器。ip_hash要求nginx一定是最前端的服务器,否则nginx得不到正确ip,就不能根据ip作hash。譬如使用的是squid为最前端,那么nginx取ip时只能得到squid的服务器ip地址,用这个地址来作分流是肯定错乱的。

2/ nginx的后端还有其它方式的负载均衡。假如nginx后端又有其它负载均衡,将请求又通过另外的方式分流了,那么某个客户端的请求肯定不能定位到同一台session应用服务器上。这么算起来,nginx后端只能直接指向应用服务器,或者再搭一个squid,然后指向应用服务器。最好的办法是用location作一次分流,将需要session的部分请求通过ip_hash分流,剩下的走其它后端去。
2 楼 jiasudu1649 2012-06-29  
sudo apt-get install libpcre3 libpcre3-dev


./configure
make
sudo make install
1 楼 liyixing1 2011-08-13  
速度兄,你没说nginx+神马的组合呢?

相关推荐

Global site tag (gtag.js) - Google Analytics