标签:ruby nginx unicorn rails padrino
git clone git://github.com/sstephenson/rbenv.git ~/.rbenv echo 'export PATH="$HOME/.rbenv/bin:$PATH"' >> ~/.bashrc echo 'eval "$(rbenv init -)"' >> ~/.bashrc exec $SHELL添加ruby-build组件
git clone git://github.com/sstephenson/ruby-build.git ~/.rbenv/plugins/ruby-build echo 'export PATH="$HOME/.rbenv/plugins/ruby-build/bin:$PATH"' >> ~/.bashrc exec $SHELL添加gem-rehash组件
git clone https://github.com/sstephenson/rbenv-gem-rehash.git ~/.rbenv/plugins/rbenv-gem-rehash安装ruby(以ruby2.1.5为例)
wget -O ~/.rbenv/versions/ruby-2.1.5.tar.gz http://ruby.taobao.org/mirrors/ruby/2.1/ruby-2.1.5.tar.gz env RUBY_BUILD_MIRROR_URL=file:///home/ziven/.rbenv/versions/ruby-2.1.5.tar.gz# ~/.rbenv/bin/rbenv install 2.1.5其中wget是下载相应的ruby文件,这里是ruby-2.1.5.tar.gz
RUBY_BUILD_MIRROR_URL用来指定安装的ruby镜像路径,这里直接使用本地路径。注意本地路径后面应该加上#来结尾
gem sources --remove https://rubygems.org/ gem sources -a https://ruby.taobao.org/之后执行gem sources -l应该只有https://ruby.taobao.org/这一个源
gem install bundler
bundle install此处需要注意,根据不同的情况执行的命令可能略有差异。例如在生产环境部署时,可能需要执行
bundle install --deployment --without development test这样部署时,相关的依赖gems被安装到 projectA/vendor/bundle下面。尤其适合不同的项目依赖同一个gem的不同版本的时候使用。
padrino rake --environment=production db:migrate需要注意的是,此处视情况可能需要使用bundle来执行该命令:
bundle exec padrino rake --environment=production db:migrate数据库迁移成功后,需要创建amdin账户。padrino默认在db/seeds.rb当中完成admin账户的创建。所以此处执行:
bundle exec padrino rake --environment=production seed执行过程当中会提示输入admin账户的邮箱跟密码
bundle exec unicorn -E production -c unicorn.rb -D这样padrino server就已经正常启动了。如果unicorn.rb当中监听的是tcp端口,那么此时访问相应的url应该可以打开了。如果是采用的监听unix socket的方式,那么还应该使用nginx(或者apache)来做反向代理。
sudo apt-get install nginx-full
upstream myserver { server unix:/tmp/projectA.sock fail_timeout=0; } server { listen 7788; server_name localhost; client_max_body_size 10M; error_page 500 502 503 504 /50x.html; location = /50x.html { root /usr/share/nginx/html; } root /opt/projectA/web/public; try_files $uri $uri.html @app; location @app { proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header Host $http_host; proxy_redirect off; proxy_pass http://myserver; } }
unix:/tmp/projectA.sock进行处理。也即转发到刚刚我们的web服务器处理。
标签:ruby nginx unicorn rails padrino
原文地址:http://blog.csdn.net/ziven2012/article/details/46050757