You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@geronimo.apache.org by Russell E Glaue <rg...@cait.org> on 2008/12/04 22:52:35 UTC

How to deploy web application to one port

Using geronimo-jetty 2.1.3

How do I deploy a web application to one and only one single port?

Let's say I have configured two Listen Sockets:
1) 0.0.0.0:2150
2) 0.0.0.0:2151

If I simply deploy a web application to Geronimo as in:
% deploy.sh deploy HelloWorld.war

The sample application HellowWorld is accessible on both ports as in:
1) http://0.0.0.0:2150/hello - SUCCESS!!!
2) http://0.0.0.0:2151/hello - SUCCESS!!!



Now, I can modify WelloWorld/WEB-INF/geronimo-web.xml with the
<virtual-host>virt1.com</virtual-host> attribute, but this restrict the web
application to be served when the web client makes a HTTP 1.1 call to Geronimo
for "virt1.com" GET /hello

So with using this <virtual-host>, the HellowWorld is not available on either
port when accessed as <server-ip>:<port-number>



So, how do I deploy a web application so that it is available on one port, but
not another port, yet both ports running under one geronimo instance?

I want to deploy two web applications, each one accessible on a different port.
If I do something like:
% deploy.sh deploy HelloWorld_1.war
% deploy.sh deploy HelloWorld_2.war

I want the results to be like:
1) http://0.0.0.0:2150/hello_1 - SUCCESS!!!
2) http://0.0.0.0:2150/hello_2 - Fail
3) http://0.0.0.0:2151/hello_1 - Fail
4) http://0.0.0.0:2151/hello_2 - SUCCESS!!!


How do I do this?

-RG


Re: How to deploy web application to one port

Posted by Russell E Glaue <rg...@cait.org>.
Russell E Glaue wrote:
> Okay, so I have to deploy a second Jetty container inside Geronimo, so Geronimo
> would have two different Jetty containers, one serving web applications on each
> of the two ports.
> So I would basically copy the Jetty plugin to a new plugin, compile it, and
> place it in the repository.
> 
> So now we have JettyContainer/JettyWebContainer in Geronimo.
> After doing what is suggested, I would have something like
> JettyContainer2/JettyWebContainer2 - it would be a whole new module with the
> same code - is this correct?

The solution for this is discussed in the thread user@geronimo.apache.org
"feature? ContainerGroup" 12/05/2008 09:46 AM.

The solution requires deploying a new jetty container via a gbean.
All that is required to be in the gbean is the plan.xml file which configures
the new instance of the Jetty container.

> 
> 
> I have an additional question.
> In a previous thread on 2008-12-03, I ask on the subject "How to set up logging
> for a connector". Can I also perform this same suggestion for
> org.apache.geronimo.jetty6.requestlog.NCSARequestLog ?
> 
> I would assume if they use the same NCSARequestLog gbean that both containers
> would put their logs in the same log file.
> So... since I cannot change the log file name and location (as I asked in this
> other thread), I assume I also need to deploy a new NCSARequestLog gbean - is
> this correct?

Also answered in the thread user@geronimo.apache.org "feature? ContainerGroup"
12/05/2008 09:46 AM, this requires deploying a new NCSARequestLog gbean. Again
the gbean only contains a plan.xml to configure the new instance of NCSARequestLog.


I have entered a feature request into the Jetty project's issue system.

http://jira.codehaus.org/browse/JETTY-835

This feature request is to implement a new RequestLog that does more than
file-based logging. The suggestion has been to use slf4j in the new
implementation, which in turn will support sending logs to Socket, Syslog, and
will in turn support log4j.

-RG


> 
> 
> -RG
> 
> 
> David Jencks wrote:
>> On Dec 4, 2008, at 10:59 PM, viola.lu wrote:
>>
>>> You can create two geronim instances in one server:instance A in http
>>> port
>>> 2150, instance B in port 2051, then deploy hello_1 to instance A,
>>> hello_2 to
>>> instance B.
>> I think creating two entire server instances is a bit extreme and e.g.
>> if both web apps are connecting to the same ejb app might not work as
>> efficiently as possible.
>>
>> However, AFAIK you have to set up a second jetty server in your geronimo
>> instance.  Basically, copy the plugins/jetty plan (from source), call it
>> something else, edit it (e.g. the ports), and deploy it.  I'd copy the
>> maven project and build a plugin, but you can deploy the plan separately
>> if you want.  You can also include all the gbeans in your geronimo plan
>> for your web app.  You need to indicate in the geronimo plan which web
>> server you want the app to be deployed on.
>>
>> There are micro instructions for geronimo-tomcat here related to a
>> sample app:
>>
>> http://cwiki.apache.org/GMOxDOC22/app-per-port-running-multiple-web-apps-on-different-ports.html
>>
>>
>> If you come up with something relevant for jetty and want to help us
>> with our docs and samples that would be great!
>>
>> I think I recall talking with Greg about filtering web apps per port in
>> jetty but I don't think you can actually do it right now.  I think he
>> said it would be very easy to add though.... maybe we can get it into
>> jetty 7.
>>
>> thanks
>> david jencks
>>
>>>
>>> Russell E Glaue wrote:
>>>> Using geronimo-jetty 2.1.3
>>>>
>>>> How do I deploy a web application to one and only one single port?
>>>>
>>>> Let's say I have configured two Listen Sockets:
>>>> 1) 0.0.0.0:2150
>>>> 2) 0.0.0.0:2151
>>>>
>>>> If I simply deploy a web application to Geronimo as in:
>>>> % deploy.sh deploy HelloWorld.war
>>>>
>>>> The sample application HellowWorld is accessible on both ports as in:
>>>> 1) http://0.0.0.0:2150/hello - SUCCESS!!!
>>>> 2) http://0.0.0.0:2151/hello - SUCCESS!!!
>>>>
>>>>
>>>>
>>>> Now, I can modify WelloWorld/WEB-INF/geronimo-web.xml with the
>>>> <virtual-host>virt1.com</virtual-host> attribute, but this restrict the
>>>> web
>>>> application to be served when the web client makes a HTTP 1.1 call to
>>>> Geronimo
>>>> for "virt1.com" GET /hello
>>>>
>>>> So with using this <virtual-host>, the HellowWorld is not available on
>>>> either
>>>> port when accessed as <server-ip>:<port-number>
>>>>
>>>>
>>>>
>>>> So, how do I deploy a web application so that it is available on one
>>>> port,
>>>> but
>>>> not another port, yet both ports running under one geronimo instance?
>>>>
>>>> I want to deploy two web applications, each one accessible on a
>>>> different
>>>> port.
>>>> If I do something like:
>>>> % deploy.sh deploy HelloWorld_1.war
>>>> % deploy.sh deploy HelloWorld_2.war
>>>>
>>>> I want the results to be like:
>>>> 1) http://0.0.0.0:2150/hello_1 - SUCCESS!!!
>>>> 2) http://0.0.0.0:2150/hello_2 - Fail
>>>> 3) http://0.0.0.0:2151/hello_1 - Fail
>>>> 4) http://0.0.0.0:2151/hello_2 - SUCCESS!!!
>>>>
>>>>
>>>> How do I do this?
>>>>
>>>> -RG
>>>>
>>>>
>>>>
>>> -- 
>>> View this message in context:
>>> http://www.nabble.com/How-to-deploy-web-application-to-one-port-tp20843348s134p20848710.html
>>>
>>> Sent from the Apache Geronimo - Users mailing list archive at Nabble.com.
>>>
> 


Re: How to deploy web application to one port

Posted by Russell E Glaue <rg...@cait.org>.
Okay, so I have to deploy a second Jetty container inside Geronimo, so Geronimo
would have two different Jetty containers, one serving web applications on each
of the two ports.
So I would basically copy the Jetty plugin to a new plugin, compile it, and
place it in the repository.

So now we have JettyContainer/JettyWebContainer in Geronimo.
After doing what is suggested, I would have something like
JettyContainer2/JettyWebContainer2 - it would be a whole new module with the
same code - is this correct?


I have an additional question.
In a previous thread on 2008-12-03, I ask on the subject "How to set up logging
for a connector". Can I also perform this same suggestion for
org.apache.geronimo.jetty6.requestlog.NCSARequestLog ?

I would assume if they use the same NCSARequestLog gbean that both containers
would put their logs in the same log file.
So... since I cannot change the log file name and location (as I asked in this
other thread), I assume I also need to deploy a new NCSARequestLog gbean - is
this correct?


-RG


David Jencks wrote:
> 
> On Dec 4, 2008, at 10:59 PM, viola.lu wrote:
> 
>>
>> You can create two geronim instances in one server:instance A in http
>> port
>> 2150, instance B in port 2051, then deploy hello_1 to instance A,
>> hello_2 to
>> instance B.
> 
> I think creating two entire server instances is a bit extreme and e.g.
> if both web apps are connecting to the same ejb app might not work as
> efficiently as possible.
> 
> However, AFAIK you have to set up a second jetty server in your geronimo
> instance.  Basically, copy the plugins/jetty plan (from source), call it
> something else, edit it (e.g. the ports), and deploy it.  I'd copy the
> maven project and build a plugin, but you can deploy the plan separately
> if you want.  You can also include all the gbeans in your geronimo plan
> for your web app.  You need to indicate in the geronimo plan which web
> server you want the app to be deployed on.
> 
> There are micro instructions for geronimo-tomcat here related to a
> sample app:
> 
> http://cwiki.apache.org/GMOxDOC22/app-per-port-running-multiple-web-apps-on-different-ports.html
> 
> 
> If you come up with something relevant for jetty and want to help us
> with our docs and samples that would be great!
> 
> I think I recall talking with Greg about filtering web apps per port in
> jetty but I don't think you can actually do it right now.  I think he
> said it would be very easy to add though.... maybe we can get it into
> jetty 7.
> 
> thanks
> david jencks
> 
>>
>>
>> Russell E Glaue wrote:
>>>
>>> Using geronimo-jetty 2.1.3
>>>
>>> How do I deploy a web application to one and only one single port?
>>>
>>> Let's say I have configured two Listen Sockets:
>>> 1) 0.0.0.0:2150
>>> 2) 0.0.0.0:2151
>>>
>>> If I simply deploy a web application to Geronimo as in:
>>> % deploy.sh deploy HelloWorld.war
>>>
>>> The sample application HellowWorld is accessible on both ports as in:
>>> 1) http://0.0.0.0:2150/hello - SUCCESS!!!
>>> 2) http://0.0.0.0:2151/hello - SUCCESS!!!
>>>
>>>
>>>
>>> Now, I can modify WelloWorld/WEB-INF/geronimo-web.xml with the
>>> <virtual-host>virt1.com</virtual-host> attribute, but this restrict the
>>> web
>>> application to be served when the web client makes a HTTP 1.1 call to
>>> Geronimo
>>> for "virt1.com" GET /hello
>>>
>>> So with using this <virtual-host>, the HellowWorld is not available on
>>> either
>>> port when accessed as <server-ip>:<port-number>
>>>
>>>
>>>
>>> So, how do I deploy a web application so that it is available on one
>>> port,
>>> but
>>> not another port, yet both ports running under one geronimo instance?
>>>
>>> I want to deploy two web applications, each one accessible on a
>>> different
>>> port.
>>> If I do something like:
>>> % deploy.sh deploy HelloWorld_1.war
>>> % deploy.sh deploy HelloWorld_2.war
>>>
>>> I want the results to be like:
>>> 1) http://0.0.0.0:2150/hello_1 - SUCCESS!!!
>>> 2) http://0.0.0.0:2150/hello_2 - Fail
>>> 3) http://0.0.0.0:2151/hello_1 - Fail
>>> 4) http://0.0.0.0:2151/hello_2 - SUCCESS!!!
>>>
>>>
>>> How do I do this?
>>>
>>> -RG
>>>
>>>
>>>
>>
>> -- 
>> View this message in context:
>> http://www.nabble.com/How-to-deploy-web-application-to-one-port-tp20843348s134p20848710.html
>>
>> Sent from the Apache Geronimo - Users mailing list archive at Nabble.com.
>>
> 


Re: How to deploy web application to one port

Posted by David Jencks <da...@yahoo.com>.
On Dec 4, 2008, at 10:59 PM, viola.lu wrote:

>
> You can create two geronim instances in one server:instance A in  
> http port
> 2150, instance B in port 2051, then deploy hello_1 to instance A,  
> hello_2 to
> instance B.

I think creating two entire server instances is a bit extreme and e.g.  
if both web apps are connecting to the same ejb app might not work as  
efficiently as possible.

However, AFAIK you have to set up a second jetty server in your  
geronimo instance.  Basically, copy the plugins/jetty plan (from  
source), call it something else, edit it (e.g. the ports), and deploy  
it.  I'd copy the maven project and build a plugin, but you can deploy  
the plan separately if you want.  You can also include all the gbeans  
in your geronimo plan for your web app.  You need to indicate in the  
geronimo plan which web server you want the app to be deployed on.

There are micro instructions for geronimo-tomcat here related to a  
sample app:

http://cwiki.apache.org/GMOxDOC22/app-per-port-running-multiple-web-apps-on-different-ports.html

If you come up with something relevant for jetty and want to help us  
with our docs and samples that would be great!

I think I recall talking with Greg about filtering web apps per port  
in jetty but I don't think you can actually do it right now.  I think  
he said it would be very easy to add though.... maybe we can get it  
into jetty 7.

thanks
david jencks

>
>
> Russell E Glaue wrote:
>>
>> Using geronimo-jetty 2.1.3
>>
>> How do I deploy a web application to one and only one single port?
>>
>> Let's say I have configured two Listen Sockets:
>> 1) 0.0.0.0:2150
>> 2) 0.0.0.0:2151
>>
>> If I simply deploy a web application to Geronimo as in:
>> % deploy.sh deploy HelloWorld.war
>>
>> The sample application HellowWorld is accessible on both ports as in:
>> 1) http://0.0.0.0:2150/hello - SUCCESS!!!
>> 2) http://0.0.0.0:2151/hello - SUCCESS!!!
>>
>>
>>
>> Now, I can modify WelloWorld/WEB-INF/geronimo-web.xml with the
>> <virtual-host>virt1.com</virtual-host> attribute, but this restrict  
>> the
>> web
>> application to be served when the web client makes a HTTP 1.1 call to
>> Geronimo
>> for "virt1.com" GET /hello
>>
>> So with using this <virtual-host>, the HellowWorld is not available  
>> on
>> either
>> port when accessed as <server-ip>:<port-number>
>>
>>
>>
>> So, how do I deploy a web application so that it is available on  
>> one port,
>> but
>> not another port, yet both ports running under one geronimo instance?
>>
>> I want to deploy two web applications, each one accessible on a  
>> different
>> port.
>> If I do something like:
>> % deploy.sh deploy HelloWorld_1.war
>> % deploy.sh deploy HelloWorld_2.war
>>
>> I want the results to be like:
>> 1) http://0.0.0.0:2150/hello_1 - SUCCESS!!!
>> 2) http://0.0.0.0:2150/hello_2 - Fail
>> 3) http://0.0.0.0:2151/hello_1 - Fail
>> 4) http://0.0.0.0:2151/hello_2 - SUCCESS!!!
>>
>>
>> How do I do this?
>>
>> -RG
>>
>>
>>
>
> -- 
> View this message in context: http://www.nabble.com/How-to-deploy-web-application-to-one-port-tp20843348s134p20848710.html
> Sent from the Apache Geronimo - Users mailing list archive at  
> Nabble.com.
>


Re: How to deploy web application to one port

Posted by "viola.lu" <vi...@gmail.com>.
You can create two geronim instances in one server:instance A in http port
2150, instance B in port 2051, then deploy hello_1 to instance A, hello_2 to
instance B.

Russell E Glaue wrote:
> 
> Using geronimo-jetty 2.1.3
> 
> How do I deploy a web application to one and only one single port?
> 
> Let's say I have configured two Listen Sockets:
> 1) 0.0.0.0:2150
> 2) 0.0.0.0:2151
> 
> If I simply deploy a web application to Geronimo as in:
> % deploy.sh deploy HelloWorld.war
> 
> The sample application HellowWorld is accessible on both ports as in:
> 1) http://0.0.0.0:2150/hello - SUCCESS!!!
> 2) http://0.0.0.0:2151/hello - SUCCESS!!!
> 
> 
> 
> Now, I can modify WelloWorld/WEB-INF/geronimo-web.xml with the
> <virtual-host>virt1.com</virtual-host> attribute, but this restrict the
> web
> application to be served when the web client makes a HTTP 1.1 call to
> Geronimo
> for "virt1.com" GET /hello
> 
> So with using this <virtual-host>, the HellowWorld is not available on
> either
> port when accessed as <server-ip>:<port-number>
> 
> 
> 
> So, how do I deploy a web application so that it is available on one port,
> but
> not another port, yet both ports running under one geronimo instance?
> 
> I want to deploy two web applications, each one accessible on a different
> port.
> If I do something like:
> % deploy.sh deploy HelloWorld_1.war
> % deploy.sh deploy HelloWorld_2.war
> 
> I want the results to be like:
> 1) http://0.0.0.0:2150/hello_1 - SUCCESS!!!
> 2) http://0.0.0.0:2150/hello_2 - Fail
> 3) http://0.0.0.0:2151/hello_1 - Fail
> 4) http://0.0.0.0:2151/hello_2 - SUCCESS!!!
> 
> 
> How do I do this?
> 
> -RG
> 
> 
> 

-- 
View this message in context: http://www.nabble.com/How-to-deploy-web-application-to-one-port-tp20843348s134p20848710.html
Sent from the Apache Geronimo - Users mailing list archive at Nabble.com.