V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
heely
V2EX  ›  问与答

开发 RoR & PHP Project,测试环境、生产环境部署相关问题

  •  1
     
  •   heely · 2014-12-23 16:10:02 +08:00 · 4027 次点击
    这是一个创建于 3622 天前的主题,其中的信息可能已经有所发展或是发生改变。

    需求

    1、需要在Linode 同时部署两个Web 应用,一个是Ruby On Rails 的BBS,另一个是Wordpress;
    2、手头有一台rMBP2014 Mid,想在本地搭建一个开发环境,需要对上述两个Web APP,做定制化操作;

    现状

    1、Linode 使用的是Ubuntu 12.04,已经配置了ROR环境,使用Nginx + Unicorn+Mysql 驱动了一个RoR的Web APP;
    2、rMPB配置了ROR的开发环境,目前还没有搭建Nginx + Unicorn + Mysql 环境;当然,也没有安装PHP所需要的环境;

    How to do that(开发思路)?

    1、我个人是这样考虑的,为了不影响Linode的生产环境,我倾向于在本地Mac下搭建开发环境,然后尝试使用Nginx来部署RoR+PHP WebApp,等代码测试通过了,然后再上传代码至服务器,然后部署并发布。

    因为之前仅使用过SVN版本控制管理代码,所以这次打算在本地使用git/gitHub,来管理两个web Project。

    那么问题来了?

    1、我对Nginx不熟悉,请问Nginx同时部署ROR & PHP Project,然后分别绑定不同的域名,这个方案可行否?
    2、以一名合格的程序猿的标准要求自己,我这样的开发思路是否正确、可取、少走了弯路?亦或是还有更好的执行方案吗?

    随时欢迎得到你宝贵的意见,Thanks in advance!

    11 条回复    2014-12-24 23:09:42 +08:00
    moliliang
        1
    moliliang  
       2014-12-23 16:36:04 +08:00
    不冲突,Nginx只是负责前端工作,转发给 php 或者 Unicorn。 之前在php的主机上搭建过ROR。
    ivenvd
        2
    ivenvd  
       2014-12-23 16:39:02 +08:00
    1. Nginx 那个可行的,Google 一下吧。
    2. 有没有考虑过 Vagrant + Docker?
    hyzjshwo
        3
    hyzjshwo  
       2014-12-23 17:19:39 +08:00
    1,虚拟主机就能解决
    2,如果要作为一名合格而且严谨的程序猿,我建议本机用vagrant,如果服务器上资源宽裕,wp和rails各自配两个环境,一个是测试用,使用host绑定测试,一个是正式环境。客户(看lz像是接外包)查看测试环境ok了,再推送到正式环境上。
    nbndco
        4
    nbndco  
       2014-12-23 18:03:09 +08:00
    部署时是否考虑使用passenger结合nginx部署rails?
    开发环境应当使用vagrant保证和production的(基本)一致,docker的话,感觉不是集群真的没必要了,如果你用docker用到最后不能用几个dockerfile把网站跑起来,那docker完全成为部署的累赘了。
    部署的话,应当考虑使用capistrano。

    另外,没有历史包袱的话,系统不更新下?12.04也太老了吧。
    rebornix
        5
    rebornix  
       2014-12-23 19:33:45 +08:00
    推荐使用docker~
    kofj
        6
    kofj  
       2014-12-23 21:49:39 +08:00 via Android
    @ivenvd VAGRANT太臃肿,直接boot2docker吧😄
    heely
        7
    heely  
    OP
       2014-12-23 22:22:52 +08:00
    @ivenvd 没有接触过Vagrant + Docker,感觉我的需求用不到这么高深的东东把?这个如果要学习的话,会有一定的时间成本,所以暂时不会考虑,等后期如果再完善的话,可以考虑,多谢;
    @hyzjshwo 多谢建议,很好的思路,不是做外包,是自己有这方面的需求,所以只好亲自上阵,还好Rails & PHP 都有很好的开源软件,我需要做的只是搭建起来,然后根据具体需求做一些个性化修改;:)
    @nbndco 现在的Rails Project ,按照官网的安装文档,默认使用的Nginx+Unicorn ,后期如果有性能瓶颈的话,会考虑Passenger。现在还不是时候;
    另外,根据我在ThinkPad上使用ubuntu的个人经验,鉴于服务器是一个稳定的上产环境,我一般很少升级 :)

    @moliliang @rebornix @kofj 多谢各位推荐的自动化部署开发环境,我会研究一下,然后结合实际看是否有必要采用,毕竟还要综合考虑学习和时间成本,或许我也可以先完成需求,然后一步一步完善:)
    NathanInMac
        8
    NathanInMac  
       2014-12-23 23:19:41 +08:00
    1、我对Nginx不熟悉,请问Nginx同时部署ROR & PHP Project,然后分别绑定不同的域名,这个方案可行否?

    可行

    2、以一名合格的程序猿的标准要求自己,我这样的开发思路是否正确、可取、少走了弯路?亦或是还有更好的执行方案吗?

    正确可取没走弯路,有更好的方案,楼上都说了但你说用不到这么高深的
    ivenvd
        9
    ivenvd  
       2014-12-23 23:26:53 +08:00
    @heely 这两者加起来都不及 git 的一半难学……
    rebornix
        10
    rebornix  
       2014-12-24 08:58:33 +08:00
    @heely 推荐书籍 “the docker book”,一个小时估计就能看完并掌握基本功能啦~git难学一万倍
    heely
        11
    heely  
    OP
       2014-12-24 23:09:42 +08:00
    @NathanInMac @ivenvd @rebornix 多谢提醒,我就是想验证一下思路,结果发现了还有很多可取、且更好的方案,我更倾向于先实现需求,然后再逐步学习新的方案,多谢提宝贵意见 :)
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   925 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 27ms · UTC 20:52 · PVG 04:52 · LAX 12:52 · JFK 15:52
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.