Hi,
both Tomcat and Glassfish can serve as HTTP servers and the webapps/ROOT
folder is specific for Tomcat.
Everything you put in that folder is accessible through
http://myServerIPAddress:8080
I never used Glassfish, but it seems that you should configure an app
that will handle the root context (i.e. serve files from
http://myServerIPAddress:8080).
Checkout this:
http://stackoverflow.com/questions/10042679/location-for-putting-files-on-glassfish-server
Don't confuse your Flex app URL with AMF Remoting URL for BlazeDS
connection, they are completely separate things.
When fronting application server with Apache HTTP server you have 2
significant URLs:
http://mydomain.com/myWebApp
This one serves Apache HTTP server files stored under
public_html/myWebApp (index.html, *.swf, ...)
http://mydomain.com/amfremoting
This one should be configured to route traffic to application server /
BlazeDS (usually redirected over AJP)
Having Apache HTTP server in front of application server
(Tomcat/Glassfish) has many advantages.
Checkout this:
http://stackoverflow.com/questions/5122345/why-use-apache-web-server-in-front-of-glassfish-or-tomcat
Cheers,
Tomislav
On 30.9.2013. 15:53, [email protected] wrote:
Thank you Tomislav,
Regarding serving files from the application server GlassFish (in my case), I
had to previously (for my Java/BlazeDS stuff) setup an Apache configuration
file to route all incoming traffic for
https://mydomain.com/myWebApp
to GlassFish to handle. So, I wonder if the index.html file you mentioned could
simply be dropped into the myWebApp folder (?). There's no myWebApp/ROOT folder
in my GlassFish directory, and while I could create it, I wonder if this is a
Tomcat-specific requirement (could you clarify)?
Assuming we can configure the servers to route the traffic correctly, is there any
advantage in placing the bin-release files behind Apache webserver, in the GlassFish
webapp folder? Seems like this routing becomes more complicated since we now have two
pass the traffic through an extra layer (Apache <--> GlassFish) rather than
just Apache (must consume more CPU cycles, etc.). But, does this improve security,
for example, since it's behind another firewall? Or, provide any other benefit worth
considering? Otherwise, dropping in the public_html folder seems much simpler.
How those of you using BlazeDS -- do you place the contents of your bin-release
folder in public_html, or in the webapp folder in the Java application
webserver?
----- Original Message -----
From: "Tomislav Pokrajcic" <[email protected]>
To: [email protected]
Sent: Sunday, September 29, 2013 11:13:22 PM
Subject: Re: newbie confused how to deploy Flex app to Linux server
The best place for Flex files would be somewhere in Apache public_html
folder.
In order to access your app with http://mydomain.com/myapp, create a
subfolder public_html/myapp and copy everything from bin-release folder
produced by Flash builder.
Also, rename autogenerated application html file (Main.html) to index.html.
You could also serve your app from Tomcat, but in that case your access
url would be something like:
http://mydomain.com:8080/myapp
In case you want to do that (and guess not because you already have
Apache http) place your files to webapps/ROOT Tomcat folder.
Cheers,
Tomislav
On 30.9.2013. 5:51, [email protected] wrote:
Hi experts,
Newbie question about deploying my first Flex application...
My current environment is:
Hosted Linux dedicated server running GlassFish fronted by Apache webserver:
- Apache Webserver
Directory structure is:
public_html (folder)
index.html
myWebsiteFiles (folder containing all my website files)
- GlassFish Java application server (BlazeDS, Java POJOs/Applets)
Directory structure is:
myWebApp (folder)
WEB-INF (folder)
web.xml
lib (folder)
flex (folder for BlazeDS settings)
classes (folder containing all Java stuff)
META-INF (folder)
Local development desktop computer:
- MacPro OSx running Flash Builder 4.6
Flash Builder settings:
Properties > Run/Debug Settings > Main > Edit > URL or Path to Launch:
/local/path/to/folder/bin-debug/Main.html
Currently everything runs great, but as you can see, the files run from my
local computer's bin-debug directory. However, it does prove that all the Java
and BlazeDS stuff works fine.
I know the next step is to execute from Flash Builder: Project > Export Release
Build... and this generates the required files in a bin-release folder that I need
to copy to the server. But, where do I place these files on the server?
Tutorial #1 says, copy files in bin-release folder to the website's public_html
folder:
http://www.youtube.com/watch?v=z0YTZm1v7qQ
Tutorial #2 says, copy files in bin-release folder to the Tomcat (or, GlassFish
in my case) application server webapp directory (I'm guessing, this is
somewhere in the WEB-INF folder?):
http://www.tutorialspoint.com/flex/flex_quick_guide.htm
Are both methods possible? If so, is one preferred over the other? Or, what are
the tradeoffs to consider in making this decision? (My application is about 5
MB in size)
If the recommendation is to place in GlassFish webserver, which folder on the
server should I copy all of the bin-release folder's files to from my Mac? Is
it: myWebApp/bin-release?
And, I assume I'd then need to instruct Apache webserver to send all of the
webapp traffic to GlassFish somehow (is that right? I believe I had to do that
for the Java traffic to get routed correctly originally)?
I tried to find this on Google, but most instructions at this point simply say
"deploy to webserver". I'm not using Ant or anything else; just moving the
files manually.
Thanks in advance for any comments.