bthulu
V2EX  ›  PHP

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

  •  
  •   bthulu · Aug 5, 2022 · 6953 views
    This topic created in 1550 days ago, the information mentioned may be changed or developed.

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

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

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

    php CLI Server 这个不应用于线上环境,他不能同时处理请求,多个请求要排队。
    yultraw
    yultraw
    Aug 6, 2022 via Android
    43
    宝塔
    akira
    akira
    Aug 6, 2022
    44
    lnmp 的 l 是 linux . 一把梭一般默认都是 linux
    msg7086
    msg7086
    Aug 6, 2022
    45
    既然用 Windows Server ,那 IIS 肯定很熟吧,配上 php-fpm 后端就行了,教程大把。
    你说的 PHP 用的标准接口叫做 FastCGI ,上个世纪就有了。
    标准库里当然有 HTTP 服务器,但是谁会用标准库里的呀,放着 Nginx 或者 Apache 或者 Caddy 这种性能好上几百倍的软件不用?
    shijingshijing
    shijingshijing
    Aug 6, 2022
    46
    wamp ,这种老项目对 PHP 版本,MySQL 版本可能比较挑,切换版本,设置 vhost ,alias 什么的在 windows 上最方便的就是 wamp 。老项目运行在最新版的 PHP 和 MySQL 上很难一点问题都没有的,如果你不想动 PHP 代码,去一个个了解报错信息,最简单的就是切不同的版本,我碰到过只能跑在 PHP 7.3.x 配合 MySQL 5.7 的应用,切 5.6.x 提示版本过低,切 7.4.x 返回结果有问题。
    Herry001
    Herry001
    Aug 6, 2022
    47
    Windows Server 直接用 IIS 啊
    yuhaotjutwt
    yuhaotjutwt
    Aug 6, 2022
    48
    nginx+1
    hello321
    hello321
    Aug 6, 2022
    49
    oneinstack.com ..自己选....
    markgor
    markgor
    Aug 6, 2022
    50
    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
    smoon
    Aug 6, 2022
    51
    会 docker 用 docker
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   1370 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 105ms · UTC 21:29 · PVG 05:29 · LAX 13:29 · JFK 16:29
    ♥ Do have faith in what you're doing.