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

2014-12-23 16:10:02 +08:00
 heely

需求

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!

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

另外,没有历史包袱的话,系统不更新下?12.04也太老了吧。
rebornix
2014-12-23 19:33:45 +08:00
推荐使用docker~
kofj
2014-12-23 21:49:39 +08:00
@ivenvd VAGRANT太臃肿,直接boot2docker吧😄
heely
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
2014-12-23 23:19:41 +08:00
1、我对Nginx不熟悉,请问Nginx同时部署ROR & PHP Project,然后分别绑定不同的域名,这个方案可行否?

可行

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

正确可取没走弯路,有更好的方案,楼上都说了但你说用不到这么高深的
ivenvd
2014-12-23 23:26:53 +08:00
@heely 这两者加起来都不及 git 的一半难学……
rebornix
2014-12-24 08:58:33 +08:00
@heely 推荐书籍 “the docker book”,一个小时估计就能看完并掌握基本功能啦~git难学一万倍
heely
2014-12-24 23:09:42 +08:00
@NathanInMac @ivenvd @rebornix 多谢提醒,我就是想验证一下思路,结果发现了还有很多可取、且更好的方案,我更倾向于先实现需求,然后再逐步学习新的方案,多谢提宝贵意见 :)

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/156036

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX