How to get Apache to serve new css file in Rails development - ruby-on-rails

I finally moved to using a Linux based development server for Rails, via VirtualBox. I'm using a pre-built image that includes Apache and Passenger.
Everything is great, except Apache still tries to serve an older version of css files in development mode. Even restarting the server doesn't work. I've tried clearing the browser cache as well. Since everything worked fine before Apache I'm guessing this is an Apache issue. Do any experts know how to fix this? Any help would be greatly appreciated.
Thanks.

unless you're doing something unnatural (which it doesn't sound like) apache will only server files that are 1) available to it & 2) requested.
have you updated your file that calls/includes the CSS file?
have you tried a different browser? - if only to be "sure"...

Related

Redmine rails app code changes not reflected - had to restart nginx every time

I'm trying to customize the redmine app which is built on top of rails. I set up a Vagrant with nginx + passenger. When I modify the code (say, app/controllers/issues_controller.rb), the changes are not picked by web/app server. The changes are reflected only when I restart the web server.
I have virtually tried every solution available with googling.
Ensure the app is running development mode. tried both rails_env directive RAILS_ENV in config/environment.rb
caching is disabled
First, I thought it could be the vagrant bug so I set up the same in Digital Ocean server, changed the code, still the same.
I suspect only these but I don't know how to validate it.
Nginx + passenger continues to run in development mode even after changing the environment so my changes not picked up immediately.
There might be something special to redmine app that changes inside app directory is not picked up until web server restart.
I fixed it myself by upgrading from Redmine 3.4.2 to 3.4.4. Redmine has a pertaining to Unloadable plugin convention (https://www.redmine.org/issues/20513) which appears to have been fixed in latest version. Now, I'm able to make code changes and see the results immediately in the browser.

How to start Puma/Rails/Nginx on Debian after boot

Ok, I'm deploying my Rails App using Capistrano. I'm also using Puma. I've followed this tutorial to get it to work, although I'm using Debian rather then Ubuntu.
Everything works fine and I can deploy my app without issues. However if my server crashes or the server restarts, the App doesn't restart itself and the only way I got it to restart was deploying it again with the following command cap production deploy from within my App in my local machine, which we all can agree that's not ideal.
There's loads of information on the web on how to deploy a Rails App with Passenger, which I'd rather avoid to use due to lack of resources on the server part. I've also found this tutorial which seems to be a bit outdated.
Can someone please point me to an updated tutorial or give some directions on how I could get my App to start/restart who the server?
Many thanks
EDIT
As per #mudasobwa's comments, I'm detailing the steps I've taken after reading this page:
I have copied the contents of https://github.com/puma/puma/blob/master/tools/jungle/init.d/puma into /etc/init.d/puma made it executable. I've also copied the contents of https://github.com/puma/puma/blob/master/tools/jungle/init.d/run-puma into /usr/local/bin/run-puma also made it executable.
Lastly I've created a puma.conf file in /etc.
After that I've created the following directory: /path/to/app/tmp/puma and added these two files: pid and state. Note that I've also added the aforementioned folders into Capistrano's shared links structure.
After the above I've restarted my server and the App did not start as I expected.
What am I missing here?

How to install Ruby script on server?

I apologize in advance for the fairly simple question.
I am familiar with PHP, but am trying to install this Ruby script on my server for the first time. It's an open source script that I've forked from github, but unfortunately does not have any instructions. I have Ruby on Rails, and MongoDB installed already.
Does anyone know what the beginner steps are to get started? Should I upload everything via FTP to the public directory, or is there something else to this?
Most Rails projects are much better served by having a proper deployment strategy. Typically this involves making your own repository, easily done by forking that existing application, and cloning that on to your server using git. To make changes in the future, do your work on a development copy, push that into the repository, and pull down the changes on the server.
Unlike PHP where many parts of the application can function independently, Rails applications tend to be far more integrated and uploading it piece by piece is not going to work in the long run.
Rails applications can run stand-alone using the provided rails server tool but this is really only intended for light-duty testing or development work. A more permanent solution is to use something like Passenger to do the hosting for you.
Passenger will take care of launching your application when calls are made to the site you've configured in Apache or nginx, depending on which you end up using. Passenger is popular because it's quite easy to get running.
There are other approaches like unicorn if you're feeling more adventurous.
When you make changes to your Rails application in production mode you will have to create a tmp/restart.txt file in the main application directory to tell your web server to restart the process. This is not a requirement in development mode.
Due to the relative complexity of this process once you include all the various steps, you will probably want to use a deployment automation tool like capistrano.

Turbogears 2 / Pylons

I am really confused i have a directory structure as follows.
/foo/bar/project/
under project is the python environment via virtualenv.
I have two additional folders live, and beta.
Live is served via apache wsgi and beta is served using paster.
Some how the live site is serving templates from the beta directory. To make sure i wasn't losing my mind I renamed the beta directory to wtfbeta expecting the server to throw an error helping me track down what went wrong.
Nope, instead it just falls back to loading the correct template from the live directory. (after service apache2 restart).
I am really stuck here.
This issue was related to both sites using the same virtualenv.

How to deploy Ruby on Rails application via cPanel on shared host?

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.

Resources