系统及环境
系统:Red Hat Enterprise Linux Server release 5.4 (Tikanga)
环境:已预装ruby 1.8.5
友情提示:Ubuntu下安装nginx时可能会出现依赖包没有正确安装的情况。要去手工安装一些包。
具体步骤
1. ruby安装
下载源代码包到本地Linux主机,然后解压缩,进入该目录,进行配置,编译和安装,依次执行(提示没有权限时加sudo):
l tar xzvf ruby-1.8.7.tar.gz
l cd ruby-1.8.7
l sudo ./configure –prefix=/usr/local/ruby
l sudo make && sudo make install
2. 环境配置
安装好以后,执行ruby –v。显示的仍然是ruby 1.8.5。执行env发现环境变量/usr/bin优先了。而ruby正好在/usr/bin下。所以刚编译安装的目录/usr/local/ruby/bin应该加在系统PATH前面。
修改操作系统PATH路径,加入/usr/local/ruby/bin:
export PATH=/usr/local/ruby/bin:$PATH
执行完以后再执行ruby –v。显示了ruby 1.8.7
3. gem和rails安装
下载gem源码。然后依次执行:
l tar xzvf rubygems-1.5.2.tgz
l cd rubygems-1.5.2/
l ruby setup.rb
安装rails就简单了。sudo gem install rails
4. nginx安装
先安装passenger:
sudo gem install passenger
安装好后执行:
sudo passenger-install-nginx-module
选择3:Learn how to deploy your application,会提示是否自动下载nginx。选择1:是
安装nginx时会提示安装目录:输入/opt/nginx/
至此,rails环境搭建完成
5. 获取代码
执行:svn co http:// ######
将代码checkout到rails应用目录
6. 配置
复制config/database.yml.example为config/database.yml。修改数据库配置。然后配置nginx。编辑/opt/nginx/conf/nginx.conf。添加:
http{
...
passenger_root /usr/local/passenger;
passenger_ruby /usr/local/bin/ruby;
server {
listen 80;
server_name beta.twork.taobao.net;
root /Users/freetest/public; #这里根据不同的用户,目录不同
passenger_enabled on;
rails_env production;
}
...
}
现在启动nginx还会报nobody无法取得某些目录的写入权限。因为nginx默认为nobody启动的。可以有两个方法:
1、 将应用和应用目录下所有文件夹和文件都置为权限777。执行 chmod 777 –R 应用目录
2、 将nginx的启动用户设置为具有操作应用目录的用户。如root(不建议)或者用户本身。具体做法是更改/opt/nginx/conf/nginx.conf第一行。user 用户名 组名
测试下环境:sudo /opt/nginx/sbin/nginx
启动好nginx后自动会把passenger启动起来。在浏览器就可以访问了
分享到:
相关推荐
在RHEL(Red Hat Enterprise Linux)系统上搭建Ruby on Rails(简称RoR)应用程序环境是一项技术性较强的任务,尤其当涉及到与其他服务如Nginx、Phusion Passenger、Ruby、Rails以及Oracle数据库集成时。以下是对这...
在构建高性能、高可用性的Web应用环境中,"基于Ubuntu Nginx Mongrel Mysql部署rails monit-5.0"的方案是一个常见的选择。这个方案结合了多种强大的工具和技术,以确保应用程序的稳定运行和高效管理。以下是这些关键...
3. **Passenger**:Passenger(又名Phusion Passenger)是一个方便且高效的Rails应用服务器模块,它可以无缝集成到Nginx中,简化Rails应用的部署和管理。 接下来,我们将按照以下步骤进行配置: ### 安装Passenger...
Passenger 是一款用于部署 Ruby 应用程序的 Web 服务器,它与 Nginx 结合使用时能提供高性能的服务。 ##### 安装 Passenger 1. **安装 Passenger:** ```sh gem install passenger ``` 2. **安装 Passenger ...
您需要与Vagrant和Chef一起启动一个新的Rails / Nginx / Passenger / Mysql项目。 只需克隆这个 repo,改变原点并输入vagrant up ###我要安装什么(和厨师一起)? Ruby 2.2.0 (rbenv) rails(最新的稳定版本)...
rails-nginx-passenger-ubuntu, 关于如何在 Nginx 8.04服务器上启动和运行和乘客的说明 rails-nginx-passenger-ubuntu我关于用 ubuntu 。Nginx 。乘客和mysql建立 Rails的简单制作服务器的笔记。别名echo"alias ll='...
本安装包“Ruby-極光Rails5專屬伺服器安裝包”就是专为快速部署Rails 5应用程序而设计的,它包含了Nginx 1.10、Passenger 5和Ruby 2.3.1这三个关键组件。 1. **Ruby 2.3.1**: Ruby是一种面向对象的、动态类型的编程...
4. **Nginx与Passenger**:为了部署Rails应用,通常会用到Web服务器如Nginx,并搭配Passenger模块,它可以方便地管理和运行Rails应用: ```bash sudo apt-get install -y nginx sudo apt-get install -y ...
标题中的“利用Unicorn和Nginx部署Redmine”指的是在服务器上安装并配置Redmine项目管理工具,通过Unicorn作为应用服务器,Nginx作为反向代理和负载均衡器,来提供高效、稳定的服务。这是一个常见的Web应用程序部署...
Passenger,也称为ModRails,是一款高效且易于使用的Ruby应用程序服务器,尤其适合部署Rails应用。在本文中,我们将深入探讨如何在CentOS 5.4操作系统上通过Ruby Gem安装Passenger 3.0.9版本。为了确保顺利完成安装...
Passenger(也称为ModRails或Phusion Passenger)是一款强大的、易于使用的Web服务器和应用程序服务器,主要用于部署Ruby on Rails应用,但同时也支持其他语言如Node.js和Python。在本压缩包"passenger-3.0.11.tar....
在Red Hat Enterprise Linux环境下,Passenger(又称为Phusion Passenger)是一种流行的Web服务器和应用程序服务器模块,主要用于托管Ruby on Rails应用。它简化了部署过程,提供了高性能和稳定性。本篇文章将探讨...
通过以上步骤,你可以成功地将Rails应用部署到Web服务器上。这个过程涉及多个层次的技术细节,每个环节都需要谨慎对待,以确保应用的稳定性和安全性。记得在部署前进行充分的测试,以保证一切按预期运行。
5. **Web服务器**:Rails提供了内置的Webrick服务器用于开发,但在生产环境中,推荐使用如Puma、Unicorn或Nginx+Passenger等高性能服务器。 6. **开发工具**:如TextMate、Sublime Text、VS Code或Atom等文本编辑器...
在部署方面,Rails应用通常运行在如Passenger、Unicorn或Puma这样的服务器上,配合Nginx或Apache作为反向代理。Heroku、DigitalOcean和AWS等云平台为Rails应用提供了便捷的部署选项。 总的来说,Ruby on Rails实践...
在没有RVM或rbenv的Ubuntu 14.04上的Rails,PostgreSQL带Passenger + Nginx ssh-copy-id -i ~/.ssh/id_rsa.pub root@SERVER scp rails-passenger-postgres-nginx root@SERVER:/root/rails-passenger-postgres-...
myplaceonline_posixcubes 使用posixcube.sh使用haproxy负载均衡器(前端),nginx + passenger Rails服务器(web),postgresql数据库(数据库)以及更多(elasticsearch,数据库备份,rsyslog服务器等)构建完整的...
使用 `ansible-role-passenger`,你可以轻松地在多台服务器上部署和更新 Rails 应用,而无需手动配置 Nginx 和 Passenger。这大大提高了 DevOps 的效率,并降低了出错的可能性。通过 Ansible Galaxy(一个共享 ...
本项目是基于C++和多种语言的mod_rails Phusion Passenger设计源码,包含...这个项目是一个旨在从Apache和Nginx网页服务器上更便捷的部署Ruby on Rails项目的Apache模块,旨在简化Ruby on Rails项目的部署和维护过程。