`

最完整的 Rails Windows 开发环境搭建 手记

阅读更多

十一在家哪里都没有去,学习了五天的rails,之前听过但一直没有看过ruby.确切的说rails确实比turbogears开发要爽快的多,开发环境的搭建在windows上构建也比tg要快速和方便的多...

 

此文借鉴了这两篇帖子:

http://robbin.iteye.com/blog/43290

http://qiuye.iteye.com/blog/108459

 

其它的关于Windows 开发环境的搭建基本都是 互相抄袭,漏洞百出,不知所云... 但是这两个帖子似乎也有遗漏之处...

 

[Windows 环境构建: 要求必须能联网]

 

  1. http://rubyonrails.org/download 处下载最新版本的ruby,我这里下载的是[rubyinstaller-1.8.6-p383-preview2.exe],安装它,并将其下的bin目录加入到系统环境变量PATH中. 此时已经安装好了ruby和rubygems.
  2. 运行中输入cmd,切换到终端显示窗口,输入如下命令安装rails:
    [gem install rake], rake这个似乎是rails的依赖包,必须先于rails安装
    [gem install rails],
    此时将会自动下载rails套件,关于套件包含信息,参见这里: http://zh.wikipedia.org/wiki/Ruby_on_Rails
  3. 设置Sqlite3数据库的支持,国内有些帖子说什么不能装SQLITE3,我很疑惑,根本没有这回事啊.直接
    [gem install sqlite3-ruby],
    安装完成后Sqlite3并不能正常使用,必须从sqlite官方下载[http://www.sqlite.org/download.html]sqlite3.dll,将其复制到 ruby\bin目录下即可
  4. 设置Mysql数据库的支持,这个比较简单,
    [gem install mysql],

此时已经能进行rails的开发测试了,任意建一个文件夹,如d:\prj4rails,进入其下,在DOS提示符中输入,rails hello,

此时将自动构建一个完整的应用,包括目录结构,基础代码...


进入构建的d:\prj4rails\hello文件夹下,输入 ruby script\server 运行自带的web服务器,将在3000端口上运行,浏览器输入http://localhost:3000 即可查看,如果SQLITE3的配置有误,此时如点击显示页面中的相应链接,将会显示红框的错误信息,因为环境设置错误,按上述三进行设置的,没有这个问题...

大多时候我会使用MYSQL做数据库,这里只需修改项目中[config\database.yml]文件即可,修改如下所示,

development:
  adapter: mysql
  database: todos
  host: localhost
  username: root
  password: password
  

 参数不用解释了吧,这里要注意的是 yml文件的排版格式,千万不要弄错...

 

重启自带的web服务器,修改配置文件都要重启,这个很郁闷,不知道有什么方法可以不用这样....

_________________________________________________________________________________

 

 

 我并不满足使用自带的web服务器,这样很麻烦,不是么?每次都要手动进行输入,还不能配置虚拟主机,将其绑定到指定的域名,.... 这里我将讲述怎么 设置 rails应用作为 操作系统级别的后台服务自动启动及与Apache的集成,以及设置一个虚拟主机...

 

要想将rails应用安装成系统服务,必须安装mongrel,[gem install mongrel],安装完成后并不能立即使用,因为mongrel又依赖win32-service组件,必须安装它.[gem install win32-service],很奇怪的是,安装不成功,总是提示无法生成本地代码,我查了很久的资料,都没有什么好的说明,必须系统中自带C/C++编译环境,这一点让人无法接受......

写道[摘自 qiuye]
下载win32-service-0.5.2-mswin32.gem
源位置:http://files.rubyforge.mmmultiworks.com/win32utils/win32-service-0.5.2-mswin32.gem
本地安装 [gem install win32-service-0.5.2-mswin32.gem --local ]

 

没有办法,只能下载一个低版本的安装.此时安装成功.... 这里其实是一个问题,我没有解决,大家帮忙...

 

________________________________________________________________________________

 

把Mongrel作为Services启动
 
mongrel_rails service::install -N hello4rails -c d:\prj4rails\hello -p 3000 –e development
-N指明服务名称,-d指明rails应用的目录,-p是mongrel监听的tcp端口,-e是启动模式为生产模式

 

此时将在系统服务中新增一个服务,记住 -e 选项,设置为哪种模式将读取哪种模式的环境配置信息,比如我们上面设置的数据库环境信息...

 

将此服务设置成 自动 模式 ,让其每次开机自动启动..

 

如果需要从服务中注销该项服务,那么:
mongrel_rails service::remove -N hello4rails

________________________________________________________________________________

与Apache集成


1. 修改windows系统目录下 \system32\drivers\etc\hosts文件,在其中新增一行:

写道
127.0.0.1 www.xxx.com

 

写道[摘自 robbin]
2 . 用编辑工具打开Apache2.2目录下面的conf/httpd.conf,需要取消如下模块的注释:
LoadModule proxy_module modules/mod_proxy.so
LoadModule proxy_balancer_module modules/mod_proxy_balancer.so
LoadModule proxy_http_module modules/mod_proxy_http.so
如果你希望对页面输出使用压缩,也需要取消如下模块的注释:
LoadModule deflate_module modules/mod_deflate.so

然后按如下内容配置基于HTTP代理的负载均衡:
xml 代码

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

<VirtualHost *:80>
ServerName www.xxx.com
DocumentRoot d:/prj4rails/hello/public
##ProxyPass /images !
##ProxyPass /stylesheets ! [这里我机器上开启找不到,尚待解决,所以注释掉]
##ProxyPass /javascripts !
ProxyPass / balancer://myCluster/
ProxyPassReverse / balancer://myCluster/
ProxyPreserveHost on
</VirtualHost>

 

 重启Apache即可...

 

此时在 浏览器中输入 http://www.xxx.com 将打开我们自己建立的hello项目...

 

 

2
2
分享到:
评论
7 楼 vb2005xu 2009-10-15  
引用

#*** INNODB Specific options ***


# Use this option if you have a MySQL server with InnoDB support enabled
# but you do not plan to use it. This will save memory and disk space
# and speed up some things.
skip-innodb


如果使用的是Appserv ,其中已经安装了INNODB,只需注释掉
# skip-innodb
即可
6 楼 vb2005xu 2009-10-15  
引用

rake aborted!
Mysql::Error: The 'InnoDB' feature is disabled; you need MySQL built with 'InnoD
B' to have it working: CREATE TABLE `schema_migrations` (`version` varchar(255)
NOT NULL) ENGINE=InnoDB



必须启用 MYSQL InnoDB 选项???
5 楼 vb2005xu 2009-10-10  
好的...
4 楼 xuqb1 2009-10-10  
这个看上去还是好复杂呀。不知道能不能掌握得了。
如果可以的话,版主可不可以做一个完成不需要连接互联网的起步教程。
脉路还是感觉不清晰。
3 楼 vb2005xu 2009-10-09  
关于 Ruby 基础语法的学习,参阅javaeye的专栏介绍:
Ruby Hacking Guide
http://www.iteye.com/wiki/Ruby_Hacking_Guide
2 楼 vb2005xu 2009-10-08  
gem install rails -v=2.3.4
安装指定版本的ralis
1 楼 vb2005xu 2009-10-08  
下一篇 将记录这几天对 todo demo 的学习...

老外写的东西就是感觉舒服,不知道为什么... 难不成我有汉奸倾向...

开发工具,现在使用的是Notepad++ 4.9 ,感觉很好... 新版本的 不好用

NB的那个感觉又比较慢,算了 还是使用这个吧......

相关推荐

    MATLAB-四连杆机构的仿真+项目源码+文档说明

    <项目介绍> - 四连杆机构的仿真 --m3_1.m: 位置问题求解 --m2_1.m: 速度问题求解 --FourLinkSim.slx: Simlink基于加速度方程的仿真 --FourLinkSim2.slx: Simscape简化模型仿真 --FourLinkSim3.slx: Simscape CAD模型仿真 - 不懂运行,下载完可以私聊问,可远程教学 1、该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的,请放心下载使用! 2、本项目适合计算机相关专业(如计科、人工智能、通信工程、自动化、电子信息等)的在校学生、老师或者企业员工下载学习,也适合小白学习进阶,当然也可作为毕设项目、课程设计、作业、项目初期立项演示等。 3、如果基础还行,也可在此代码基础上进行修改,以实现其他功能,也可用于毕设、课设、作业等。 下载后请首先打开README.md文件(如有),仅供学习参考, 切勿用于商业用途。 --------

    ridge_regression:用于岭回归的python代码(已实现以预测下个月的CO2浓度)

    ridge_regression 用于岭回归的python代码(已实现以预测下个月的CO2浓度) 资料可用性 文件 Ridge.py :标准函数和Ridge回归函数window_make.py :使用滑动窗口方法制作大小为p(窗口大小)的时间序列列表。 Final_version.ipynb :使用Co2数据对代码进行实验

    Polygon3-3.0.8-cp35-cp35m-win_amd64.whl.rar

    python whl离线安装包 pip安装失败可以尝试使用whl离线安装包安装 第一步 下载whl文件,注意需要与python版本配套 python版本号、32位64位、arm或amd64均有区别 第二步 使用pip install XXXXX.whl 命令安装,如果whl路径不在cmd窗口当前目录下,需要带上路径 WHL文件是以Wheel格式保存的Python安装包, Wheel是Python发行版的标准内置包格式。 在本质上是一个压缩包,WHL文件中包含了Python安装的py文件和元数据,以及经过编译的pyd文件, 这样就使得它可以在不具备编译环境的条件下,安装适合自己python版本的库文件。 如果要查看WHL文件的内容,可以把.whl后缀名改成.zip,使用解压软件(如WinRAR、WinZIP)解压打开即可查看。 为什么会用到whl文件来安装python库文件呢? 在python的使用过程中,我们免不了要经常通过pip来安装自己所需要的包, 大部分的包基本都能正常安装,但是总会遇到有那么一些包因为各种各样的问题导致安装不了的。 这时我们就可以通过尝试去Python安装包大全中(whl包下载)下载whl包来安装解决问题。

    【java毕业设计】风俗文化管理系统源码(ssm+mysql+说明文档+LW).zip

    功能说明: 系统主要分为系统管理员和用户两个部分,系统管理员主要功能包括首页,个人中心,用户管理,节日风俗管理,饮食风俗管理,服饰风俗管理,礼仪风俗管理,信仰风俗管理,建筑风俗管理,我的收藏管理,留言板管理,论坛管理,系统管理。 环境说明: 开发语言:Java 框架:ssm,mybatis JDK版本:JDK1.8 数据库:mysql 5.7及以上 数据库工具:Navicat11及以上 开发软件:eclipse/idea Maven包:Maven3.3及以上 服务器:tomcat7及以上

    中国城市温度历史数据(2000-2020)-最新全集.zip

    中国城市温度历史数据(2000-2020)-最新全集.zip

    中国土地利用现状遥感监测数据(1km)-最新.zip

    中国土地利用现状遥感监测数据(1km)-最新.zip

    pgmagick-0.7.5-cp35-cp35m-win_amd64.whl.whl.rar

    python whl离线安装包 pip安装失败可以尝试使用whl离线安装包安装 第一步 下载whl文件,注意需要与python版本配套 python版本号、32位64位、arm或amd64均有区别 第二步 使用pip install XXXXX.whl 命令安装,如果whl路径不在cmd窗口当前目录下,需要带上路径 WHL文件是以Wheel格式保存的Python安装包, Wheel是Python发行版的标准内置包格式。 在本质上是一个压缩包,WHL文件中包含了Python安装的py文件和元数据,以及经过编译的pyd文件, 这样就使得它可以在不具备编译环境的条件下,安装适合自己python版本的库文件。 如果要查看WHL文件的内容,可以把.whl后缀名改成.zip,使用解压软件(如WinRAR、WinZIP)解压打开即可查看。 为什么会用到whl文件来安装python库文件呢? 在python的使用过程中,我们免不了要经常通过pip来安装自己所需要的包, 大部分的包基本都能正常安装,但是总会遇到有那么一些包因为各种各样的问题导致安装不了的。 这时我们就可以通过尝试去Python安装包大全中(whl包下载)下载whl包来安装解决问题。

    yolo算法-香烟盒子数据集-320张图像带标签-.zip

    yolo系列算法目标检测数据集,包含标签,可以直接训练模型和验证测试,数据集已经划分好,包含数据集配置文件data.yaml,适用yolov5,yolov8,yolov9,yolov7,yolov10,yolo11算法; 包含两种标签格:yolo格式(txt文件)和voc格式(xml文件),分别保存在两个文件夹中; yolo格式:<class> <x_center> <y_center> <width> <height>, 其中: <class> 是目标的类别索引(从0开始)。 <x_center> 和 <y_center> 是目标框中心点的x和y坐标,这些坐标是相对于图像宽度和高度的比例值,范围在0到1之间。 <width> 和 <height> 是目标框的宽度和高度,也是相对于图像宽度和高度的比例值

    java资源Google API for Java

    java资源Google API for Java提取方式是百度网盘分享地址

    中国分地区地级市泰尔指数数据集(2000-2019).zip

    中国分地区地级市泰尔指数数据集(2000-2019).zip

    【java毕业设计】高职院校教学中心可视化教学分析系统源码(ssm+mysql+说明文档).zip

    环境说明: 开发语言:Java 框架:ssm,mybatis JDK版本:JDK1.8 数据库:mysql 5.7及以上 数据库工具:Navicat11及以上 开发软件:eclipse/idea Maven包:Maven3.3及以上 服务器:tomcat7及以上

    【java毕业设计】整体衣柜定制系统源码(ssm+mysql+说明文档).zip

    环境说明: 开发语言:Java 框架:ssm,mybatis JDK版本:JDK1.8 数据库:mysql 5.7及以上 数据库工具:Navicat11及以上 开发软件:eclipse/idea Maven包:Maven3.3及以上 服务器:tomcat7及以上

    【java毕业设计】房屋出租系统源码(ssm+mysql+说明文档+LW).zip

    功能说明: 系统功能实现了首页,房源信息,交流论坛,公告资讯,个人中心,后台管理等功能。系统的后台实现了个人中心,用户管理,房东管理,房源类型管理,房源信息管理,在线咨询管理,预约信息管理,订单信息管理,签订信息管理,申请退租管理,交流论坛,系统管理等功能的添加、删除和修改。 环境说明: 开发语言:Java 框架:ssm,mybatis JDK版本:JDK1.8 数据库:mysql 5.7及以上 数据库工具:Navicat11及以上 开发软件:eclipse/idea Maven包:Maven3.3及以上 服务器:tomcat7及以上

    yolo算法-电线杆数据集-1493张图像带标签-.zip

    yolo算法-电线杆数据集-1493张图像带标签-.zip;yolo算法-电线杆数据集-1493张图像带标签-.zip;yolo算法-电线杆数据集-1493张图像带标签-.zip

    安装包eclipse-jee-neon-3-win32-x86-64

    安装包eclipse-jee-neon-3-win32-x86_64提取方式是百度网盘分享地址

    param-1.12.2-py2.py3-none-any.whl.rar

    PartSegCore_compiled_backend-0.12.0a0-cp36-cp36m-win_amd64.whl.rar

    Pillow_SIMD-6.0.0.post0+avx2-cp27-cp27m-win_amd64.whl.rar

    python whl离线安装包 pip安装失败可以尝试使用whl离线安装包安装 第一步 下载whl文件,注意需要与python版本配套 python版本号、32位64位、arm或amd64均有区别 第二步 使用pip install XXXXX.whl 命令安装,如果whl路径不在cmd窗口当前目录下,需要带上路径 WHL文件是以Wheel格式保存的Python安装包, Wheel是Python发行版的标准内置包格式。 在本质上是一个压缩包,WHL文件中包含了Python安装的py文件和元数据,以及经过编译的pyd文件, 这样就使得它可以在不具备编译环境的条件下,安装适合自己python版本的库文件。 如果要查看WHL文件的内容,可以把.whl后缀名改成.zip,使用解压软件(如WinRAR、WinZIP)解压打开即可查看。 为什么会用到whl文件来安装python库文件呢? 在python的使用过程中,我们免不了要经常通过pip来安装自己所需要的包, 大部分的包基本都能正常安装,但是总会遇到有那么一些包因为各种各样的问题导致安装不了的。 这时我们就可以通过尝试去Python安装包大全中(whl包下载)下载whl包来安装解决问题。

    peewee-3.14.10-cp37-cp37m-win32.whl.rar

    python whl离线安装包 pip安装失败可以尝试使用whl离线安装包安装 第一步 下载whl文件,注意需要与python版本配套 python版本号、32位64位、arm或amd64均有区别 第二步 使用pip install XXXXX.whl 命令安装,如果whl路径不在cmd窗口当前目录下,需要带上路径 WHL文件是以Wheel格式保存的Python安装包, Wheel是Python发行版的标准内置包格式。 在本质上是一个压缩包,WHL文件中包含了Python安装的py文件和元数据,以及经过编译的pyd文件, 这样就使得它可以在不具备编译环境的条件下,安装适合自己python版本的库文件。 如果要查看WHL文件的内容,可以把.whl后缀名改成.zip,使用解压软件(如WinRAR、WinZIP)解压打开即可查看。 为什么会用到whl文件来安装python库文件呢? 在python的使用过程中,我们免不了要经常通过pip来安装自己所需要的包, 大部分的包基本都能正常安装,但是总会遇到有那么一些包因为各种各样的问题导致安装不了的。 这时我们就可以通过尝试去Python安装包大全中(whl包下载)下载whl包来安装解决问题。

    中国各省GDP及农业主要指标数据集(1999-2019).zip

    中国各省GDP及农业主要指标数据集(1999-2019).zip

    ‌Nginx事件驱动模型深度解析‌

    ‌Nginx事件驱动模型深度解析‌

Global site tag (gtag.js) - Google Analytics