madfishy
V2EX  ›  问与答

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

  •  
  •   madfishy · Mar 12, 2017 · 6860 views
    This topic created in 3524 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
    tinyhill
    Mar 12, 2017 via iPhone
    1
    nodejs
    tomczhen
    tomczhen
    Mar 12, 2017
    2
    你需要 docker
    metaquant
    metaquant
    Mar 12, 2017 via iPhone❤️1
    3
    golang
    lecher
    lecher
    Mar 12, 2017❤️1
    4
    golang 依赖极小,打包之后随意复制,还附赠高防破解门槛。
    xycool
    xycool
    Mar 12, 2017 via iPhone
    5
    html
    veelog
    veelog
    Mar 12, 2017 via iPhone
    6
    C 程序一个可执行文件就够了
    WildCat
    WildCat
    Mar 12, 2017 via iPhone
    7
    继续 py :
    1. virtual env
    2. docker
    yongzhong
    yongzhong
    Mar 12, 2017
    8
    HTML?
    skydiver
    skydiver
    Mar 12, 2017 via Android
    9
    什么语言都可以一键,写个部署脚本即可
    python7
    python7
    Mar 12, 2017
    10
    有两个问题:楼主有生产环境的 root 权限么?生产环境是否运行了其他 Python 服务?
    agtc
    agtc
    Mar 12, 2017
    11
    go
    SuperMild
    SuperMild
    Mar 12, 2017
    12
    “ 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
    sheep3
    Mar 12, 2017
    13
    spring boot 也可以一键运行
    loading
    loading
    Mar 12, 2017 via Android
    14
    asp 和 php

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

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


    python web 的部署 一点都不难

    pyenv + gunicorn + supervisor 搞定

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

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

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

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

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