V2EX = way to explore
V2EX 是一个关于分享和探索的地方
Sign Up Now
For Existing Member  Sign In
madfishy
V2EX  ›  问与答

哪种语言部署生产环境简单?

  •  
  •   madfishy · Mar 12, 2017 · 6271 views
    This topic created in 3333 days ago, the information mentioned may be changed or developed.
    最近有几个小的项目,用 python 写的,部署时候觉得很痛苦。然后换了 php 直接一键就好。
    请问还有哪种比较简单的容易部署生产环境的写 WEB 应用很方便的语言? GO ? Elixir ?
    因为特殊原因不是跟码农用,是给各个传统小公司用,越简单越好
    61 replies    2017-03-13 19:52:15 +08:00
    tinyhill
        1
    tinyhill  
       Mar 12, 2017 via iPhone
    nodejs
    tomczhen
        2
    tomczhen  
       Mar 12, 2017
    你需要 docker
    metaquant
        3
    metaquant  
       Mar 12, 2017 via iPhone   ❤️ 1
    golang
    lecher
        4
    lecher  
       Mar 12, 2017   ❤️ 1
    golang 依赖极小,打包之后随意复制,还附赠高防破解门槛。
    xycool
        5
    xycool  
       Mar 12, 2017 via iPhone
    html
    veelog
        6
    veelog  
       Mar 12, 2017 via iPhone
    C 程序一个可执行文件就够了
    WildCat
        7
    WildCat  
       Mar 12, 2017 via iPhone
    继续 py :
    1. virtual env
    2. docker
    yongzhong
        8
    yongzhong  
       Mar 12, 2017
    HTML?
    skydiver
        9
    skydiver  
       Mar 12, 2017 via Android
    什么语言都可以一键,写个部署脚本即可
    python7
        10
    python7  
       Mar 12, 2017
    有两个问题:楼主有生产环境的 root 权限么?生产环境是否运行了其他 Python 服务?
    agtc
        11
    agtc  
       Mar 12, 2017
    go
    SuperMild
        12
    SuperMild  
       Mar 12, 2017
    “ go 最终生成的是一个可执行文件,不管你的程序依赖多少库,都会被打包进行,生成一个可执行文件,所以相比 java 庞大的 jar 库来说,他的部署非常方便,执行运行这个可执行文件就好了。对于 Web 开发,更方便,不用安装 jdk , tomcat 容器等等这些环境,直接一个可执行文件,就启动了。”

    http://www.flysnow.org/2016/12/28/from-java-to-golang.html

    给 Python 开发者的 Go 语言入门指南
    http://blog.rainy.im/2016/05/30/golang-101-for-pythoners/
    sheep3
        13
    sheep3  
       Mar 12, 2017
    spring boot 也可以一键运行
    loading
        14
    loading  
       Mar 12, 2017 via Android
    asp 和 php

    虽然我会选 golang 。
    Yoock
        15
    Yoock  
       Mar 12, 2017
    go ,只需要编译成二进制文件就可以了,不需要配置环境 。
    C 语言需要 各种动态链接库的,版本不一样 很蛋疼的。
    murmur
        16
    murmur  
       Mar 12, 2017
    投 java 一票 毕竟拷一份 jar 包走可比拷 node modules 好多了
    lhbc
        17
    lhbc  
       Mar 12, 2017
    @murmur 然后装环境花了两个小时
    murmur
        18
    murmur  
       Mar 12, 2017
    @lhbc 那是虚拟机调优 跟部署又没关
    wevsty
        19
    wevsty  
       Mar 12, 2017
    C or C++ 完全静态编译,一个文件就够。
    lhbc
        20
    lhbc  
       Mar 12, 2017
    1. golang: 解压直接运行,不需要安装任何依赖包(数据库不在讨论之列,下同)
    2. PHP: 部署环境并配置(apache+mod_php, nginx+php-fpm),解压运行
    3. c/c++: 看情况,我自己写的话,通常连外部库一起编译,解压即跑,一般都能跨发行版
    izgnod
        21
    izgnod  
       Mar 12, 2017 via Android
    go + docker
    Shura
        22
    Shura  
       Mar 12, 2017 via Android
    用 docker
    RealLiuSha
        23
    RealLiuSha  
       Mar 12, 2017
    我之前所在的一家小公司就是 php/golang/java/js/python/lua
    ....

    其实套路整好了 都好部署, 推荐 docker
    Kilerd
        24
    Kilerd  
       Mar 12, 2017
    golang 蛮好的


    python web 的部署 一点都不难

    pyenv + gunicorn + supervisor 搞定

    docker 更是一次解决的问题( docker 不需要用 Supervisor )
    rrfeng
        25
    rrfeng  
       Mar 12, 2017 via Android
    shell 最好
    haozes
        26
    haozes  
       Mar 12, 2017 via iPhone
    nodejs
    python 用 pm2 管理也还好
    0915240
        27
    0915240  
       Mar 12, 2017
    go 吧
    murmur
        28
    murmur  
       Mar 12, 2017
    @Kilerd python 的最大问题是在 windows 下 pip 和 easy setup 的行为都不一样,我去年用 django 的一些版本就碰到这个问题, win10 下有的 pip 能装,有的 easy setup 能装

    反倒是 nodejs 没出过这种奇葩问题。。都 2016 年了跨平台还做成这样也是厉害
    jarlyyn
        29
    jarlyyn  
       Mar 12, 2017 via Android
    Go
    jarlyyn
        30
    jarlyyn  
       Mar 12, 2017 via Android
    另外, php 本质上部署很麻烦

    上了 Docker 都很麻烦。
    mingyun
        31
    mingyun  
       Mar 12, 2017
    php
    J0022ZjV7055oN64
        32
    J0022ZjV7055oN64  
       Mar 12, 2017
    vbs
    Kilerd
        33
    Kilerd  
       Mar 12, 2017
    @murmur 印象中 easy_setup 好久没用过了,基本都能用 pip 管理了。

    至于这个问题, python 确实缺少一个优秀的 package 管理器。
    scnace
        34
    scnace  
       Mar 13, 2017 via Android
    简单的话还是 Golang 吧 直接扔个二进制程序就可以了 啥依赖都不用(当然静态文件和数据库还是要自己部署

    当然 环境都配置好 依赖都装好的情况下 我觉得都差不多吧 这里配置环境还是要顶一下 docker 的…
    wwhc
        35
    wwhc  
       Mar 13, 2017
    perl
    guokeke
        36
    guokeke  
       Mar 13, 2017 via Android
    @murmur 拷 nodemodules ?
    murmur
        37
    murmur  
       Mar 13, 2017
    @guokeke 有的服务器是内网环境不给接外网的
    guokeke
        38
    guokeke  
       Mar 13, 2017 via iPad
    @murmur 建议用 npm mirror 或者 lazy mirror 搞一下。
    simo
        39
    simo  
       Mar 13, 2017
    看你 编程底子、团队能接受度,没问题的话,比较建议 golang 。
    大众化的推荐 lnmp (入门、中级的学习成本低)/docker (有一定学习成本)
    MrJing1992
        40
    MrJing1992  
       Mar 13, 2017
    golang
    pwcong
        41
    pwcong  
       Mar 13, 2017
    @murmur 有 package.json 根本不需要拷贝 node_modules
    goophy
        42
    goophy  
       Mar 13, 2017
    go
    其他需要配置乱七八糟运行环境的,就 docker
    Light3
        43
    Light3  
       Mar 13, 2017
    html+js .. 不比你 php 搭建的快么..
    opengg
        44
    opengg  
       Mar 13, 2017
    docker
    markx
        45
    markx  
       Mar 13, 2017
    最简单的应该是 go 吧。
    MushishiXian
        46
    MushishiXian  
       Mar 13, 2017
    golang 吧
    yghack
        47
    yghack  
       Mar 13, 2017
    目前最简单的肯定是 golang
    huangzxx
        48
    huangzxx  
       Mar 13, 2017
    docker 啥语言都一样
    issues
        49
    issues  
       Mar 13, 2017
    一波 gogogo
    n6DD1A640
        50
    n6DD1A640  
       Mar 13, 2017
    此帖成为 Docker 安利帖。。
    barbery
        51
    barbery  
       Mar 13, 2017
    必须 go 啊,虽然 PHP 是宇宙最强语言,但是说到部署, go 直接编译成一个执行文件,直接开箱即用
    wangxiyu191
        52
    wangxiyu191  
       Mar 13, 2017
    @lecher go 的可执行程序自带函数位置,函数名,参数类型。而且 strip 不掉。其实减小了破解门槛。
    wangxiyu191
        53
    wangxiyu191  
       Mar 13, 2017
    @wangxiyu191 额。语文没学好。。。减小-》降低
    freeznet
        54
    freeznet  
       Mar 13, 2017
    没有遇到比 go 更容易部署的语言了,太舒坦了。。。
    learnshare
        55
    learnshare  
       Mar 13, 2017
    Docker 就是为了这个而生的
    ixiaozhi
        56
    ixiaozhi  
       Mar 13, 2017
    你说的不应该是 exe 么,双击打开
    R18
        57
    R18  
       Mar 13, 2017
    所以我学了 Go
    ixiaozhi
        58
    ixiaozhi  
       Mar 13, 2017
    续上条补充: 工作过的某公司 OA 就有服务器 exe 版,在 Server 系统上双击下一步下一步会把 db 和 各种东西都装上
    bomb77
        59
    bomb77  
       Mar 13, 2017
    我投 golang 一票
    muziki
        60
    muziki  
       Mar 13, 2017 via iPhone
    rust
    codeaqua
        61
    codeaqua  
       Mar 13, 2017
    go go go~
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   1028 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 188ms · UTC 19:01 · PVG 03:01 · LAX 12:01 · JFK 15:01
    ♥ Do have faith in what you're doing.