当下最佳rails 站点部署应该是 利用Apache 2.2.3的mod_proxy_balancer为Mongrel作负载均衡。
刚上线的站点,Mongrel虽然稍显慢些,但也足够支撑。先把站做好了,再考虑大流量冲击吧。
安装Mongrel的过程(前提已经按好带rubygem的ruby+rails):
gem install win32-service #在更新下来的列表里选择最新版本安装
gem install mongrel #选择最新 win32版本
gem install mongrel_service
成功在cmd console中运行完以上指令后,mongrel 已经安装成功
mongrel 的命令使用方法:
mongrel_rails /-h #查看所有命令
mongrel_rails service::install #查看 service::install 命令的帮助说明
开始使用Mongrel:
mongrel_rails service::install -N myapp -c c:/myapp -p 4000 -e production # 表示部署一个名叫myapp的站点,它的物理路径是c:/myapp,它的端口号是4000 ,运行在发布环境中
mongrel_rails service::start -N myapp # 启动名叫myapp这个站点服务
mongrel_rails service::stop -N myapp # 停止名叫myapp站点服务
另外可以在windows系统中的服务台中设置开机自动启动站点服务的选项
下一步,开始设置Apache
ServerName myapp.com
ServerAlias www.myapp.com
ProxyPass / http://www.myapp.com:8000/
ProxyPassReverse / http://www.myapp.com:8000
ProxyPreserveHost on
将静态文件的请求留给Apache来处理,因为它更擅长
ProxyPass /images !
ProxyPass /stylesheets !
#continue with other static files that should be served by apache
Alias /images /path/to/public/images
Alias /stylesheets /path/to/public/stylesheets
#continue with aliases for static content
刚上线的站点,Mongrel虽然稍显慢些,但也足够支撑。先把站做好了,再考虑大流量冲击吧。
安装Mongrel的过程(前提已经按好带rubygem的ruby+rails):
gem install win32-service #在更新下来的列表里选择最新版本安装
gem install mongrel #选择最新 win32版本
gem install mongrel_service
成功在cmd console中运行完以上指令后,mongrel 已经安装成功
mongrel 的命令使用方法:
mongrel_rails /-h #查看所有命令
mongrel_rails service::install #查看 service::install 命令的帮助说明
开始使用Mongrel:
mongrel_rails service::install -N myapp -c c:/myapp -p 4000 -e production # 表示部署一个名叫myapp的站点,它的物理路径是c:/myapp,它的端口号是4000 ,运行在发布环境中
mongrel_rails service::start -N myapp # 启动名叫myapp这个站点服务
mongrel_rails service::stop -N myapp # 停止名叫myapp站点服务
另外可以在windows系统中的服务台中设置开机自动启动站点服务的选项
下一步,开始设置Apache
ServerName myapp.com
ServerAlias www.myapp.com
ProxyPass / http://www.myapp.com:8000/
ProxyPassReverse / http://www.myapp.com:8000
ProxyPreserveHost on
将静态文件的请求留给Apache来处理,因为它更擅长
ProxyPass /images !
ProxyPass /stylesheets !
#continue with other static files that should be served by apache
Alias /images /path/to/public/images
Alias /stylesheets /path/to/public/stylesheets
#continue with aliases for static content