Pro-tips for production server setup (when shit hits the roof)

This post is not related to production deployment automation. This post is our voice of experience (read as: major issues caused due by "minor" missing server configurations) and how we resolved them. These are changes that would help you in case you are dealing with Upgrading your server stack that uses HAProxy and SSL (We were using EngineYard)! … Continue reading Pro-tips for production server setup (when shit hits the roof)

Uploading multiple files with nginx upload module and upload progress bar

Uploading files 'efficiently' has also been a pain point in most apps. I finally got to experiment with: nginx upload module (http://www.grid.net.ru/nginx/upload.en.html) nginx upload progress module http://wiki.nginx.org/NginxHttpUploadProgressModule) and upload multiple files via paperclip. There are resources available for handing these individually but not together. I used references from here and here. It is advisable to … Continue reading Uploading multiple files with nginx upload module and upload progress bar

nginx and thin installation and configuration

Install nginx server using following commandapt-get install nginxEdit nginx configuration and add server block inside html block. server {    listen       80;    server_name  boost;    root /home/sandip/rails_app/public;    location / {        proxy_set_header  X-Real-IP  $remote_addr;        proxy_set_header  X-Forwarded-For $proxy_add_x_forwarded_for;        proxy_set_header Host $http_host;        proxy_redirect off;        if (-f $request_filename/index.html) {   … Continue reading nginx and thin installation and configuration

nginx passenger configuration for rails application

#user  nobody;user www-data;worker_processes  2;#error_log  logs/error.log;#error_log  logs/error.log  notice;#error_log  logs/error.log  info;#pid        logs/nginx.pid;events {    worker_connections  1024;}http {    passenger_root /var/lib/gems/1.8/gems/passenger-2.2.8;    passenger_ruby /usr/bin/ruby1.8;    passenger_max_pool_size 3;    include       mime.types;default_type  application/octet-stream;    #log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '    #                  '$status $body_bytes_sent "$http_referer" '    #         … Continue reading nginx passenger configuration for rails application

Capistrano + Nginx + Thin deployment on Linode

This was long lost post I had written about 8 months ago (converted from wiki to HTML - so pardon typos if any) Terminologies Capistrano is a ruby gem which helps in remote deployment. As against widely known convention, Capistrano can be used for any deployment, not just a rails app! Nginx is a web-proxy … Continue reading Capistrano + Nginx + Thin deployment on Linode