在windows上面使用 Apache 部署Ruby On Rails

大体思路是安装一个apache监听到8080端口,然后利用apache转向到mongrel上就ok了。说说具体的步骤。

首先是从网上下载windows版本的ruby,安装,记得要装gem哦。
安装rails,mongrel,和mongrel_servicegem install rails
gem install win32-service
gem install mongrel
gem install mongrel_service
准备 ROR 程序,我就已经ok的山大路程序
把 ROR 程序添加成windows服务
mongrel_rails service::install -N myapp -c c:\myapp -p 4000 -e production
你也可以使用mongrel_rails service::remove -N myapp 去删除他。
现在注册成服务你就可以在控制面板、管理工具、服务里面管理网站了,设置成自动启动就ok了。
安装apache,选择使用端口8080的那个选项就ok了,防止和iis冲突了。不过下面要修改httpd.conf文件,取消一下三行的注释。
LoadModule proxy_module modules/mod_proxy.so LoadModule proxy_connect_module modules/mod_proxy_connect.so LoadModule proxy_http_module modules/mod_proxy_http.so
在httpd.conf最后加上proxy pass的设置
ProxyPass /myapp http://127.0.0.1:4000/
ProxyPassReverse /myapp http://127.0.0.1:4000/
这样就可以使用http://127.0.0.1:8080/myapp来访问了。不过有个问题,就是你的图片和css之类的都会因为路径问题而无法显示。解决办法在javaeye里面看到一个,下面给出代码,还是在httpd.conf的最后添加几行代码,当然上面的proxy的要删除。

ProxyRequests Off       
<Proxy balancer://myCluster>
  BalancerMember http://localhost:4000       
  BalancerMember http://localhost:4001       
</Proxy>

<VirtualHost *:8080>
  ServerName www.cpu123.com       
  DocumentRoot d:/sdroad/public       
  ProxyPass /images !       
  ProxyPass /stylesheets !       
  ProxyPass /javascripts !       
  ProxyPass / balancer://myCluster/       
  ProxyPassReverse / balancer://myCluster/       
  ProxyPreserveHost on       
</VirtualHost>

你可能感兴趣的:(apache,windows,css,Ruby,Rails)