`

Nginx+mongrel部署Rails应用

阅读更多

安装nginx

下载地址 http://nginx.org/en/download.html

我下载的版本是 nginx-0.8.40.tar.gz

解压安装

tar -zxvf nginx-0.8.40.tar.gz
cd nginx-0.8.40/
.configure
make
sudo make install

默认情况下安装目录是 /usr/local/nginx

安装mongrel和mongrel_cluster

sudo gem install mongrel mongrel_cluster

由于用gem安装后mongrel_rails命令被放在 /var/lib/gems/1.8/bin/mongrel_rails,使用不方便,所以建议建立符号链接

sudo ln -s /var/lib/gems/1.8/bin/mongrel_rails /usr/bin/mongrel_rails

部署Rails应用

我的应用示例是redmine,一个用Rails做的项目管理工具。redmine安装路径是 /opt/redmine

配置nginx,添加一个server块,用于服务redmine

编辑 vi /usr/local/nginx/conf/nginx.conf,以下是添加的内容

upstream mongrel {
  server 127.0.0.1:8000;
  server 127.0.0.1:8001;
}

# rails server
server {
  listen 80;
  server_name redmine.moon.ossxp.com;
  root /opt/redmine/public; #注意这里一定要指向Rails应用的public目录
  index index.html index.htm;

  location / {
    proxy_pass http://mongrel;
    proxy_redirect off;
    proxy_set_header Host $host;
    proxy_set_header X-Real-IP $remote_addr;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
  }
}

配置mongrel_cluster

在Rails项目的根目录下执行以下命令,生成config/mongrel_cluster.yml 文件,供启用mongrel集群使用

sudo mongrel_rails cluster::configure -e production -p 8000 -a 127.0.0.1 -N 2 -c+工程目录

有关cluster::configure 更多参数使用可借助帮助命令查看

mongrel_rails cluster::configure -h

生成的文件内容如下:

---
address: 127.0.0.1
log_file: log/mongrel.log
port: "8000"
environment: production
pid_file: tmp/pids/mongrel.pid
servers: 2

启用mongrel_cluster

wangsheng@pc01:/opt/redmine$ sudo mongrel_rails cluster::start
starting port 8000
starting port 8001

启用nginx

sudo /usr/local/nginx/sbin/nginx

   或者:[root@localhost ~]# /usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf

测试是否部署成功

在浏览器输入server_name,(我这里用的是redmine.moon.ossxp.com),按回车键,如果显示redmine主页,则证明部署成功。

2
0
分享到:
评论

相关推荐

    Nginx+Mongrel实践过程

    总结,Nginx+Mongrel的组合是Ruby on Rails应用的一种有效部署方式,通过Nginx的反向代理和负载均衡功能,可以实现高效、稳定的服务提供。理解并掌握这种部署模式对于提升系统性能和运维能力至关重要。

    基于Ubuntu Nginx Mongrel Mysql部署rails monit-5.0

    在构建高性能、高可用性的Web应用环境中,"基于Ubuntu Nginx Mongrel Mysql部署rails monit-5.0"的方案是一个常见的选择。这个方案结合了多种强大的工具和技术,以确保应用程序的稳定运行和高效管理。以下是这些关键...

    基于Ubuntu Nginx Mongrel Mysql部署rails

    博文链接:https://swachian.iteye.com/blog/175033

    Linux系统上配置Nginx Mongrel cluster

    在Linux系统上配置Nginx Mongrel Cluster是一个高效的方法,用于优化Rails应用程序的并发处理能力。Nginx作为一款小巧而强大的HTTP服务器,能够作为负载均衡反向代理,接收用户的请求,并将它们分发到多个Mongrel...

    Rails相关电子书汇总二

    2. **Rails应用部署**:如何配置Mongrel来托管Rails应用,包括端口设置、环境变量等。 3. **负载均衡**:Mongrel集群的设置,如何通过如HAProxy或Nginx实现请求分发以提高可用性和性能。 4. **安全和性能**:最佳...

    Ruby on Rails为企业SOA做好准备了吗

    为了克服RoR部署的挑战,Tate与Ezra Zygmuntowicz和Clinton Begin共同编写了《Rails应用部署指南》。这本书旨在教育开发者如何有效地部署和扩展RoR应用,特别是在Nginx和Mongrel集群环境中实现高可用性和可伸缩性。...

    httpd-2.4.58.tar.gz

    nginx 是一个小巧且高效的HTTP服务器,也可以做一个高效的负载均衡反向代理,通过它接受用户的请求并分发到多个Mongrel进程可以极大提高Rails应用的并发能力tomcat 技术先进、性能稳定,而且免费IIS(windows)安全...

    薄荷网RubyonRails开发运营实践.pptx

    应用服务器上,他们最初使用Mongrel,一种Ruby应用服务器,但由于其不支持多线程,所以计划迁移到Passenger,因为Passenger(也称为ModRails)能够更好地整合到Nginx和Apache中,提供更高的性能和更简单的管理。...

    deprec:deprec的主存储库-capistrano的部署配方

    Deprec-2.x是对项目的完整重写,可以实现以下目的: 支持Capistrano 2 生成的配置文件存储在本地以启用编辑和版本控制支持更多服务(心跳,nagios,nginx,ntp,postfix等) 多个Rails部署选项(Passenger + Apache...

Global site tag (gtag.js) - Google Analytics