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

老板给了个 PHP 的网站包, 让我部署一下, 是部署到 apche 还是 nginx 好呢?

  •  
  •   bthulu · 14 天前 · 3592 次点击

    从来就没接触过 php, 网上搜了下感觉有点迷糊, 不应该是部署到一个安装了 php 的环境就行了么, 怎么还要个 apache 或者 nginx? 难道跟 java 一样的, 标准库里并没有提供 http 服务器, 必须借助第三方 tomcat 这种? 然后 nginx 和 apache 基于相同的 php_http 服务器接口, 内部各实现了一套这样的 http 服务器? java 的 http 服务器有 servlet 标准接口, tomcat,weblogic, jetty 都实现了这个标准, 最终打包出来的 war 可以任意部署到其中一个平台. php 也是差不多的样子?

    第 1 条附言  ·  14 天前
    好多说 lnmp 一键安装包的, 可我看了下, https://lnmp.org/ 这个不支持 windows server 呀
    51 条回复    2022-08-06 22:06:38 +08:00
    abigeater
        1
    abigeater  
       14 天前
    只是简单部署的话,nginx apache 都可以吧。
    defunct9
        2
    defunct9  
       14 天前
    nginx
    loginv2
        3
    loginv2  
       14 天前
    没接触过就直接用 lnmp 部署脚本
    Liang
        4
    Liang  
       14 天前
    apache 或 nginx 都可以,nginx 转发到 fpm 处理
    enng
        5
    enng  
       14 天前
    如果嫌部署环境麻烦 docker 或者 docker-compose 起一下对应的环境也不是不行
    marcong95
        6
    marcong95  
       14 天前
    Caddy (逃
    baobao1270
        7
    baobao1270  
       14 天前
    docker (
    bthulu
        8
    bthulu  
    OP
       14 天前
    @Liang 我想问下, 可以不通过 apache 或 nginx 中转, 直接 fpm 端口对外提供服务吗?
    IceBay
        9
    IceBay  
       14 天前
    Felldeadbird
        10
    Felldeadbird  
       14 天前
    都可以,看你会哪个。简单点就 lnmp 一键安装包。
    zyy314680012
        11
    zyy314680012  
       14 天前 via Android
    apache 方便
    xytest
        12
    xytest  
       14 天前
    宝塔直接扔上去就行了
    JaguarJack
        13
    JaguarJack  
       14 天前
    宝塔 快的要死
    masker
        14
    masker  
       14 天前 via Android
    php -S
    yekern
        15
    yekern  
       14 天前
    php -S http://ip:port
    lkk
        16
    lkk  
       14 天前
    hoopan
        17
    hoopan  
       14 天前
    @bthulu 不可以
    pota
        18
    pota  
       14 天前
    最简单的 一键安装个 lnmp 然后配置下 nginx 就行了
    bthulu
        19
    bthulu  
    OP
       14 天前
    @pota 不行啊, windows server 似乎用不了
    xumng123
        20
    xumng123  
       14 天前 via iPhone
    ng
    pota
        21
    pota  
       14 天前
    @bthulu #19 你也没说 windows server 啊 windows server 最好还是部署到 IIS 里面吧 教程也是到处都是
    garlics
        22
    garlics  
       14 天前
    @bthulu #19 lnmp 里的 l 指的是 linux ,windows 下推荐 apache ,感觉比 nginx 好。wamp 宝塔面板 phpstudy 随便选一个用吧。
    simon1991
        23
    simon1991  
       14 天前
    win 环境用 IIS 咯
    haodingzan
        24
    haodingzan  
       14 天前
    Windows 比较快的有两个选择
    1 、宝塔,直接按推荐设置一键安装,剩下就是改改配置的事情,如果空白机器没跑其他环境,目前来看是最快最好的选择。
    2 、WampServer ,Windows 下 Apache 、MySQL 、PHP 集成环境,自测一般喜欢用这个,如果只是内网用用,要求不高,也可以考虑,我初学入门的时候也是用这个。
    ColinLi
        25
    ColinLi  
       14 天前
    windows 用 xampp 最方便了
    SparkQiu
        26
    SparkQiu  
       14 天前
    Windows Server 下 IIS 会更容易, 稳定一些
    网上教程很多的
    ciki
        27
    ciki  
       14 天前
    都可以的,看你熟悉哪个
    Bingchunmoli
        28
    Bingchunmoli  
       14 天前 via Android
    nginx+Apache
    wu67
        29
    wu67  
       14 天前
    xampp, 直接全套上.
    onice
        30
    onice  
       14 天前
    宝塔面板,很容易的。
    onice
        31
    onice  
       14 天前
    也可以用 phpstudy ,如果只是展示出来测试一下的话。
    datiewang
        32
    datiewang  
       14 天前
    windows server 的话 xampp 就够了
    will2zuo
        33
    will2zuo  
       14 天前
    宝塔正解,快的一匹
    allen9009
        34
    allen9009  
       14 天前
    真的还有人用 win 服务器的么
    jzy321023
        35
    jzy321023  
       14 天前
    wnmp
    Bigglesworth
        36
    Bigglesworth  
       14 天前
    @allen9009 #34 企业内部系统,有不少公司在用,要不 SQLserver 怎么市占率还很高呢
    estk
        37
    estk  
       14 天前 via Android
    这种东西,用宝塔最好
    Features
        38
    Features  
       14 天前
    宝塔是你最好的选择
    Twnysta
        39
    Twnysta  
       14 天前
    小项目服务器装宝塔是最简单的,直接全部都弄好
    hjq632233317
        40
    hjq632233317  
       14 天前
    windows server ??远程桌面安个 phpstudy 喜欢哪里点哪里
    pytth
        41
    pytth  
       14 天前
    宝塔就行了,或者小皮工具箱。

    ![]( https://s3.bmp.ovh/imgs/2022/08/05/5f2c90250829dbf6.png)
    Rache1
        42
    Rache1  
       14 天前
    Windows 上 nginx 跑 PHP ,几乎不可用,主流的就只有 Apache 和 IIS 了,如果你想效率高一点儿,那你只有 IIS 可以选了。

    php CLI Server 这个不应用于线上环境,他不能同时处理请求,多个请求要排队。
    yultraw
        43
    yultraw  
       14 天前 via Android
    宝塔
    akira
        44
    akira  
       14 天前
    lnmp 的 l 是 linux . 一把梭一般默认都是 linux
    msg7086
        45
    msg7086  
       14 天前
    既然用 Windows Server ,那 IIS 肯定很熟吧,配上 php-fpm 后端就行了,教程大把。
    你说的 PHP 用的标准接口叫做 FastCGI ,上个世纪就有了。
    标准库里当然有 HTTP 服务器,但是谁会用标准库里的呀,放着 Nginx 或者 Apache 或者 Caddy 这种性能好上几百倍的软件不用?
    shijingshijing
        46
    shijingshijing  
       13 天前
    wamp ,这种老项目对 PHP 版本,MySQL 版本可能比较挑,切换版本,设置 vhost ,alias 什么的在 windows 上最方便的就是 wamp 。老项目运行在最新版的 PHP 和 MySQL 上很难一点问题都没有的,如果你不想动 PHP 代码,去一个个了解报错信息,最简单的就是切不同的版本,我碰到过只能跑在 PHP 7.3.x 配合 MySQL 5.7 的应用,切 5.6.x 提示版本过低,切 7.4.x 返回结果有问题。
    Herry001
        47
    Herry001  
       13 天前
    Windows Server 直接用 IIS 啊
    yuhaotjutwt
        48
    yuhaotjutwt  
       13 天前
    nginx+1
    0x49
        49
    0x49  
       13 天前
    oneinstack.com ..自己选....
    markgor
        50
    markgor  
       13 天前
    lnmp = linux + nginx + mysql + php ,win 上肯定不符....
    你跑 win 平台直接 IIS + PHP FPM 就好了
    PHP 有內置 HTTP 服務器,但測試用的,物有專攻,為什麼要包含上 HTTP 服務器呢? HTTP 的 RFC 更新了 php 也跟著更新?不實在。
    NGINX/APACHE 在 win 平台上基本沒多大區別。
    另外也有一些框架是通過 cli 運行的,這種一般框架建議都是前端加個 nginx/apache 等的處理靜態,動態請求轉發給框架,但框架自己本身也實現了 http 協議的處理。
    另外你也要看你那套程序有每運行環境要求,一般根據運行環境要求配置就好了,否則有些內置函數 linux 支持 win 不支持最終導致 win 下異常 /報錯的。
    還有就是你要看你的 PHP 項目有沒擴展要求,有的話對應擴展也要裝上。
    smoon
        51
    smoon  
       13 天前
    会 docker 用 docker
    关于   ·   帮助文档   ·   API   ·   FAQ   ·   我们的愿景   ·   广告投放   ·   感谢   ·   实用小工具   ·   1044 人在线   最高记录 5497   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 33ms · UTC 21:26 · PVG 05:26 · LAX 14:26 · JFK 17:26
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.