开发 RoR & PHP Project,测试环境、生产环境部署相关问题 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
heely
V2EX    问与答

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

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

    需求

    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     Solana     2477 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 36ms UTC 15:29 PVG 23:29 LAX 08:29 JFK 11:29
    Do have faith in what you're doing.
    ubao snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86