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

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

  •  
  •   bthulu · 2022-08-05 15:10:29 +08:00 · 5376 次点击
    这是一个创建于 840 天前的主题,其中的信息可能已经有所发展或是发生改变。

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

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

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

    php CLI Server 这个不应用于线上环境,他不能同时处理请求,多个请求要排队。
    yultraw
        43
    yultraw  
       2022-08-06 00:10:33 +08:00 via Android
    宝塔
    akira
        44
    akira  
       2022-08-06 02:11:04 +08:00
    lnmp 的 l 是 linux . 一把梭一般默认都是 linux
    msg7086
        45
    msg7086  
       2022-08-06 05:13:24 +08:00
    既然用 Windows Server ,那 IIS 肯定很熟吧,配上 php-fpm 后端就行了,教程大把。
    你说的 PHP 用的标准接口叫做 FastCGI ,上个世纪就有了。
    标准库里当然有 HTTP 服务器,但是谁会用标准库里的呀,放着 Nginx 或者 Apache 或者 Caddy 这种性能好上几百倍的软件不用?
    shijingshijing
        46
    shijingshijing  
       2022-08-06 07:39:46 +08:00
    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  
       2022-08-06 11:50:32 +08:00
    Windows Server 直接用 IIS 啊
    yuhaotjutwt
        48
    yuhaotjutwt  
       2022-08-06 12:05:48 +08:00
    nginx+1
    0x49
        49
    0x49  
       2022-08-06 14:20:12 +08:00
    oneinstack.com ..自己选....
    markgor
        50
    markgor  
       2022-08-06 15:48:18 +08:00
    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  
       2022-08-06 22:06:38 +08:00
    会 docker 用 docker
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   5319 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 32ms · UTC 07:40 · PVG 15:40 · LAX 23:40 · JFK 02:40
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.