V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
John2EX
V2EX  ›  程序员

请教各位大大, OSX 代码可以部署到 ubuntu 上吗

  •  
  •   John2EX · 2015-04-02 09:58:32 +08:00 · 3926 次点击
    这是一个创建于 3522 天前的主题,其中的信息可能已经有所发展或是发生改变。

    想搭个网站,初步打算nodejs+express+mongodb/mysql
    目前VPS在美帝,系统ubuntu14.04,ssh过去延迟基本不能忍受,所以想先在本机(OSX10.10)搭好环境写好代码然后部署到VPS上,这个可以实现吗

    33 条回复    2015-04-03 17:28:06 +08:00
    Twinkle
        1
    Twinkle  
       2015-04-02 10:14:45 +08:00
    当然可以...
    John2EX
        2
    John2EX  
    OP
       2015-04-02 10:21:31 +08:00
    @Twinkle 要怎么做呢,包括整个环境配置什么的都可以吗
    582033
        3
    582033  
       2015-04-02 10:23:57 +08:00
    @John2EX 张口就问'要怎么做呢'不如直接google,没别的意思,提示一下而已.
    John2EX
        4
    John2EX  
    OP
       2015-04-02 10:27:12 +08:00
    @582033 我知道,就是没google到,所以才来这里想找点提示,也不是说具体怎么做吧,就是可能用哪些工具之类的,一个大致的方向而已
    582033
        5
    582033  
       2015-04-02 10:37:46 +08:00
    mac上有brew ubuntu下有aptitude/apt-get;

    如要要编译也可以,基本没什么区别,都是unix like.
    Pastsong
        6
    Pastsong  
       2015-04-02 10:43:03 +08:00
    其实你可以试下docker
    iloveayu
        7
    iloveayu  
       2015-04-02 10:50:48 +08:00
    只需在Linux下安装nodejs和mongodb/mysql就可以了啊,这些项目的官网不会只提供OS X下的引导的。。。
    padthai
        8
    padthai  
       2015-04-02 10:52:59 +08:00
    vagrantosx上模拟ubuntu环境
    https://www.vagrantup.com/downloads.html
    iwege
        9
    iwege  
       2015-04-02 10:54:39 +08:00
    nodejs 的安装可能相对麻烦一点,官方的那个比较老的。

    然后node_module 建议在ubuntu那边npm install , 因为如果用到native module的话是需要在ubuntu这边编译一下才行,不能直接从mac os x 拷贝。

    其他的就是两边code sync(一般用git 但是不同步node_modules) ,操作上没有区别。mac 上面怎么做ubuntu就怎么做好了。


    另外还有两点注意:
    1. mac上一般是不区分大小写的,但是linux一般是区分的。所以这一块需要自己测试。
    2. 如果用了shell的一些命令,这个部分需要在linux上测试一下,基本上是通用的,但是不排除兼容性问题。
    John2EX
        10
    John2EX  
    OP
       2015-04-02 11:23:42 +08:00
    @Pastsong 大概看了下Docker的概念,应该是可以把整个开发环境扔一个容器里,不用在不同的机器分别配置各种环境了,要的就是这个。。
    John2EX
        11
    John2EX  
    OP
       2015-04-02 11:30:56 +08:00
    @iloveayu 配置这些东西可能本身就挺麻烦,还得搞两套,想想就蛋疼啊
    Agromania
        12
    Agromania  
       2015-04-02 11:31:57 +08:00
    刚上手的话建议先用Vagrant,之后再慢慢研究Docker
    jarlyyn
        13
    jarlyyn  
       2015-04-02 11:33:49 +08:00
    不能直接部署。

    很多模块会通过node-gyp根据系统环境编译。

    另外docker不能直接在mac下使用,需要配合虚拟机跑linux。

    如果想要直接部署到服务器环境上。推荐换linux开发测试。至少要用虚拟机。
    John2EX
        14
    John2EX  
    OP
       2015-04-02 11:35:32 +08:00
    @padthai 看了网上很多VAGRANT和Docker的比较,看来两者是相似的,晚上回去研究下,谢谢
    Pastsong
        15
    Pastsong  
       2015-04-02 11:38:15 +08:00
    @jarlyyn mac 有 boot2docker 啊, 虽然是用 virtualbox 实现的, 但是开发环境可以不用太在乎性能
    janxin
        16
    janxin  
       2015-04-02 11:39:41 +08:00
    只是代码的话,nodejs这部分无所谓吧,不过前提是还得装nodejs跟数据库
    John2EX
        17
    John2EX  
    OP
       2015-04-02 11:40:00 +08:00
    @iwege 嗯,是有点差异,所以分开来做是有点小麻烦。。
    John2EX
        18
    John2EX  
    OP
       2015-04-02 11:41:04 +08:00
    @janxin 对,nodejs本身跨平台没啥问题,原谅我标题的误导,主要是环境吧
    qxzw
        19
    qxzw  
       2015-04-02 11:49:02 +08:00
    vagrant+virtualbox
    padthai
        20
    padthai  
       2015-04-02 11:54:30 +08:00
    200买个树莓做开发环境也是个方案

    这个可以团队协作
    padthai
        21
    padthai  
       2015-04-02 11:55:43 +08:00
    @John2EX

    docker生产环境可以用
    vagrant是开发专用
    jarlyyn
        22
    jarlyyn  
       2015-04-02 11:59:20 +08:00
    另外,

    我自己有macosX,虽然不用。
    我自己本机是linux环境。
    我有若干个nodejs项目。
    我有若干台服务器,包括 debian 6,7,centos 5,6,7
    我正在弄自己公司的docker环境。


    我的建议是使用虚拟机/真机系统,装docker,然后部署到vps上。

    信不信我随你了。
    jarlyyn
        23
    jarlyyn  
       2015-04-02 12:03:05 +08:00
    瞎说什么nodejs和环境没关系……
    如果是php倒才可能是真没问题,虽然我也踩过坑。

    nodejs在npm装是会牵涉到make的好不。

    先不论在各个环境下库的表现是否一致。

    生产环境必然是部署和测试环境一致的软件版本,而非最新的吧。

    至少升级库的版本后的话会需要跑一遍单元测试吧?
    learnshare
        24
    learnshare  
       2015-04-02 12:08:20 +08:00
    都是跨平台的运行环境,放到 Windows 上跑都行。

    怎么做?看官方文档。
    John2EX
        25
    John2EX  
    OP
       2015-04-02 13:38:08 +08:00
    @qxzw @jarlyyn @padthai @learnshare 谢谢各位,晚上回去研究下Docker和vagrant
    zonyitoo
        26
    zonyitoo  
       2015-04-02 13:40:44 +08:00
    `nodejs+express+mongodb/mysql` 这几个都是跨平台的,我看不出这有什么是Google不到的,应该不会有问题。
    7anshuai
        27
    7anshuai  
       2015-04-02 14:20:45 +08:00
    @John2EX 如果是新手,为了搭一个Node.js的网站,而去研究Docker和Vagrant。
    这样舍本逐末真的好吗?
    LeoQ
        28
    LeoQ  
       2015-04-02 14:32:49 +08:00
    虚拟机就不错吧, virtualBox什么的
    Viztor
        29
    Viztor  
       2015-04-02 14:37:29 +08:00
    vagrant
    Ghoul2005
        30
    Ghoul2005  
       2015-04-02 17:20:22 +08:00
    人家就是想部署个代码而已,楼上一堆人搞这么复杂干甚,直接scp或rsync就可以了,速度慢不是问题。
    thinker3
        31
    thinker3  
       2015-04-02 20:37:24 +08:00
    blue7wings
        32
    blue7wings  
       2015-04-03 09:17:38 +08:00
    同强烈推荐vagrant...根本不用担心平台的问题....
    John2EX
        33
    John2EX  
    OP
       2015-04-03 17:28:06 +08:00
    vagrant确实是个很好的方案,谢谢大家!
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2805 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 23ms · UTC 14:17 · PVG 22:17 · LAX 06:17 · JFK 09:17
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.