【问题标题】:Call in background php from nginx config从 nginx 配置调用后台 php
【发布时间】:2013-12-11 19:19:43
【问题描述】:
  • 我想知道是否可以从 nginx.conf 配置文件到 用 IF 语句调用任何 php 或 os 命令?

服务器 { 听 201.2.18.131:80; server_name server.com; if (!-f $request_query_cat?){ 执行? ('php myscript.php -arg1=$request_query_cat') ?? } }

有没有办法在nginx配置端解析url和启动脚本?

【问题讨论】:

    标签: php nginx process background command


    【解决方案1】:

    这当然取决于您要实现的目标,但您可能可以使用fastcgi_finish_request 来实现它。 AFAIK 它可能允许您终止与 nginx 的连接并保持 php 进程运行,类似于register_shutdown_function

    至于 nginx 功能,不,ATM 你不能启动“后台命令”。你必须使用上游来启动任何东西,或者你可以从3rd party modules 中选择一些东西来实现某种启动器。就像使用像torque 这样允许通过网络提交作业的作业调度程序/启动器,那么您只需要编写从 nginx 提交的作业。或者在 memcached 或 mongo 上创建一个轮询器,等待 nginx 插入“标志”然后执行预定义的作业。

    附言根据我的经验,启动不受控制的后台进程是陷入混乱的最佳方式。许多善意都埋藏在每分钟启动的 cronjobs 中,并在一天结束时堆叠 1440 个 500MB php 进程。小心点。

    【讨论】:

      猜你喜欢
      • 2023-03-07
      • 2019-03-07
      • 2014-08-31
      • 2020-08-09
      • 2014-06-10
      • 2019-09-17
      • 2012-03-17
      • 2021-08-14
      • 2021-05-11
      相关资源
      最近更新 更多