I read where you can have Ruby on Rails running in WebSphere and I think I might try it. If I make the website in RoR in WebSphere but later want to run just ruby on rails with with Apache, can I do that? I want websphere because I'll want it for other things but I have another problem where the same website will suffice but cannot take the overhead of websphere (but can ror).
Thanks.
Yes. You can write the pure rails app first and run it on JRuby, then convert it to WAR, install activerecord-jdbc-adapter and deploy on Websphere. Here is a nice guide: http://www.ibm.com/developerworks/websphere/techjournal/0801_shillington/0801_shillington.html
When you are done with websphere just redeploy the app as pure rails on apache or even better on mod_passenger (and switch to normal db adapter)
Related
After I finished reading Agile Web Development with Rails, I Have developed my own website.
Now I am trying to deploy my project on linux system I rent, but I know nothing about how to deploy rails.Which server should I user? How to connect to mysql database?
As a java developer, I know I can use tomcat as my server which can convert http request to my own object and use jdbc to connect to my mysql database.
Now I want to know what is the main stream environment rails deployed?
I have heard of Lighttpd and FCGI. Can I use them in the product environment?
thanks
Is your linux system a full VPS (you have complete control?) If not, check your hosting company to see what options are available to you. If so, check to see if they have guides for setting up Rails. A lot (Slicehost, Linode, etc.) do.
Failing that... I would recommend either Apache (or Nginx) with Passenger.
https://www.phusionpassenger.com/
It's pretty straight forward.
As for actually deploying, look into Capistrano (or Vlad). These are a little bit more complicated, but they make life so much easier in the long run.
I'm trying to deploy a ruby on rails application. It uses mysql for
a database. What I would like to do is distribute it as a windows
executable. It should be in such a way that the user can click on the
application and everything will load and a full screen browser window
will appear. This way the user will know nothing about it being a
browser and need no ruby components installed to run the application.
i am using 3.2.6 , ruby 1.9.3 , gem 1.8.24
Has anyone done anything like this?
Well, you can create a portable distribution - self-extracting archive that will extract your Rails application, pre-configured Ruby package with all necessary gems, and a bat-file, that will add Ruby to PATH variable, run Rails server and open browser window. Making a MySQL portable will definitely be a pain in the ass, I presume.
One of the key disadvantages is almost zero level compatibility - some gems will not work on certain systems, incompatible database drivers etc.
I once tried to do the same thing with Apache+MySQL+PHP, ended up using one shared PC as a server, distributing just browser launcher as a standalone app.
This might be a job for JRuby.
Try installing JRuby on your development machine and seeing whether your app runs in JRuby without any compatibility issues. These days that's reasonably likely.
Running your app in JRuby gives you the ability to package up all of Ruby, Rails, your gems and your application as a single .war file which can then be deployed within a java application server like Tomcat (using tools like warbler)
This still leaves you with the task of installing all the infrastructure (database, java, java application server etc).
I'ld try to prepackage a virtual linux box with all what your application needs and release that instead.
And, yes, I am very interested in the final answer as well :-)
I am currently developing Rails on a Windows laptop, but it runs very slowly. Would it be worthwhile to try running rails on JRuby or IronRuby to speed up performance?
If you are using ruby 1.9.2 or 1.9.3 don't worry about that, it's fast as others or even faster. Also notice that java applications tends to use a lot of memmory.
The thing is that in development your app is reloaded in each request, in production it will be loaded only at server startup.
To test it try to run your app in production environment, and maybe you should use other server like thin.
thin start -e production
Also if this does not help. Maybe you should think about cache, create new indexes or even change to a better data base (maybe you are using sqlite). But I doubt that changing to Jruby or IronRuby will help you that much.
I am in the process of learning Ruby on Rails and things have been going smoothly - up until I tried to deploy one of my test applications to my shared hosting account.
I use Host Gator and was able to successfully create a new Ruby on Rails app via cPanel and run it. The only problem is that when you create a new app this way, it populates its directory with a blank application - as would rails new app_name locally. When I delete the files and folders in this directory and replace them with my own, then attempt to run the app, cPanel says that it is running on the confirmation page but it never actually starts. I am not receiving any error messages either.
The host seemed rather stumped, stating that it should be a matter of deleting the initial files and folders and replacing them, then running. The app works fine locally so I do not think that it is a code issue. In my research I came across Passenger, although it is way over my head and it would appear that you really need to have total control over Apache to make it all work, including ssh.
If it makes any difference, the apps I made locally were put together using an installation of Rails Installer and are scaffolded. For testing I am using a bare minimum app with about three fields in the table.
What am I missing? Any help would be appreciated.
Maximum supported versions on 26/10/2013 are:
Ruby 1.8.7
RubyGems 1.8.25
Rails 2.3.18
Anything newer than that is a near guaranteed breakage and cPanel & WHM will be incapable of utilizing it in any way, shape, or form.
We can assist you with removing your existing Ruby on Rails installations and reverting them back to cPanel supported and sanctioned versions (Ruby 1.8, RubyGems 1.8, and Rails 2). That is the only thing we can do for you at this time.
If you want to use any versions newer than this, then you will be unable to use the cPanel & WHM interfaces or management tools for it -- they simply will not work. You will then have to manually manage your RoR install by yourself through command line exclusively. None of it would fall under the scope of cPanel support.
You can use http://ndeploy.in which is a third party plugin to integrate Rails Hosting via Phsuion Passenger in cPanel .
Just to let others who is using Cpanel with rails know.
I was able to use Cpanel to create a rails app, start it, and do the redirection all within Cpanel.
Nothing to modify or change. Quite straightforward for me.
So I guess it would be easier to do the development work straight on the server itself.
Have not tried to deploy a locally developed rails to shared server, or any per se. But I'm guessing we could create rails with Cpanel and replace the files in the directory generated.
I am about learning to program with Ruby on Rails but I'd like to know if web applications built on ROR can be hosted on the regular Linux servers.
Absolutely. One of the great reference books on Rails, "Agile Web Development with Rails" (written by the guys that created Rails), takes you through a whole demo app that includes server setup, configuration, deployements, everything. They deploy on Linux.
I also ran a site for over a year that was a Rails app, on Linux, and it totally rocked.
I think you'll also find that the broader Rails community prefers Linux. That means when you need help with something, you're much more likely to find someone else who has had your specific problem and is able to help you fix it.
You may also find this question helpful in choosing - how to select a Rails host (if you don't host it yourself).
Yes they can be and its advised to use Linux Hosting. I hardly if anybody uses windows hosting for Ruby on Rails. As for servers, You can use
A server called Mongrel ( in a cluster ) Behind Apache or Nginx.
Unicorn
Apache with Mod_Rails ( Phusion Passenger )