mix-httpd

mix-httpd 用于执行 "Web应用",基于 Swoole 扩展的 swoole_http_server,拥有比 Apache/PHP-FPM 更高的性能。

mix-httpd 其实就是一个使用 MixPHP 开发的一个 Console 应用。

位置

mix-httpd 在框架的 store/httpd 目录。

配置文件

mix-httpd 的配置文件路径为:

store/httpd/config/main.php

只需要配置文件内的 server 字段内的参数即可,如下:

host 参数

设置服务器绑定的主机。

port 参数

设置服务器绑定的端口。

setting 参数

正式环境需设置合适的运行参数,与性能相关,非常重要。
全部参数列表:https://wiki.swoole.com/wiki/page/274.html

virtualHosts 参数

该参数设定你需要在服务器中运行的Web应用,设置方式如下:

MixHttpd 支持同时运行多个Web应用,这是其他基于 Swoole 的框架所不具备的。

// 虚拟主机:运行在Server内的Web应用
'virtualHosts' => [
    // 默认主机
    '*'                        => __DIR__ . '/../../../application/index/config/main_web.php',
    // 单个主机
    'www.a.com'                => __DIR__ . '/../../../application/index/config/main_web.php',
    // 单个主机 (带端口)
    'www.a.com:8080'           => __DIR__ . '/../../../application/index/config/main_web.php',
    // 多个主机
    'www.a.com:8080|www.b.com' => __DIR__ . '/../../../application/index/config/main_web.php',
],

命令

MixHttpd 集成了一些命令,让用户能很方便的使用服务器。

全部命令如下:

  • service/start : 启动服务器。
  • service/stop : 停止服务器。
  • service/restart : 重启服务器。
  • worker/reload : 重启所有工作进程,用于刷新代码。

service/start 命令有两个很好用的参数:

  • -d : 后台运行。
  • -u : 代码热更新 (开发阶段使用),需关闭 PHP 的 OPcache。

如何使用:

// 命令格式如下
php <入口文件> <路由>

// 原始方法
cd /data/www/mixphp/store/httpd/
php mix-httpd service/start -d

// 执行完 install.sh 后,可在任意位置这样执行
mix-httpd service/start -d