Dear friends, I followed the guide on... and successfully deployed two apps on the same web server, some months ago. Then when I upgraded to Rails 2.3.13.rc1 everything seems to be OK, but when I visit my app with the browser all that I get is the Welcome page from Nginx. Here is my nginx.conf: worker_processes 4; http { passenger_root /home/luis/.rvm/gems/ruby-1.9.3-p392/gems/passenger-3.0.19; passenger_ruby /home/luis/.rvm/wrappers/ruby-1.9.3-p392/ruby; server { listen 80; server_name domain.com; root /home/lacy/public_html; passenger_enabled on; passenger_base_uri /myapp1; location / { root html; index index.html index.htm; } error_page 500 502 503 504 /50x.html; location = /50x.html { root html; } } Here is my deploy.rb: require "bundler/capistrano" require "rvm/capistrano" set :rvm_ruby_string, :local set :domain, '' set :application, "myapp1" set :repository, "git@github.com:xxxxxxxx/myapp1.git" set :branch, "master" set :scm, "git" set :user, "myapp1" set :deploy_to, "/home/myapp1/apps/#{application}" set :deploy_via, :remote_cache set :copy_strategy, :export set :use_sudo, false set :keep_releases, 3 role :web, 'my IP' role :app, 'my IP' role :db, 'my IP', :primary => true set :port, 22 after 'deploy:update_code' do run "cd #{release_path}; RAILS_ENV=production rake assets:precompile" end # If you are using Passenger mod_rails uncomment this: namespace :deploy do task :start do ; end task :stop do ; end task :restart, :roles => :app, :except => { :no_release => true } do run "#{try_sudo} touch #{File.join(current_path,'tmp','restart.txt')}" end end Curiously /opt/nginx/logs/error.log doesn't report anything. I am fighting with this problem during many days without any solution. I'm very tired and under hard pressure from my client, Does anybody have a hint, where to look for my mistake? Thanks in advance! Luis
on 2013-03-14 01:47
on 2013-03-16 12:37
Try to create database on server $> rake db:create RAILS_ENV=production replace this: root /home/lacy/public_html; on this root /home/lacy/your-app-name/current/public; Remove this: location / { root html; index index.html index.htm; } error_page 500 502 503 504 /50x.html; location = /50x.html { root html; } Dont use 'www' set :domain, '' Be sure you've added 'domain.com' and 'myapp1.domain.com' in your /etc/hosts file Make the same set :deploy_to, " /home/lacy/your-app-name" and in your nginx config file root /home/lacy/your-app-name/current/public; After changing your nginx.cong file restart nginx $> sudo service nginx stop $> sudo service nginx start (or $> sudo service nginx reload && sudo service nginx restart).