>[danger] 该服务依赖 Swoole 扩展,Windows下无法执行。
## `mix-httpd` 服务器
`mix-httpd` 是官方开发的 HTTP 服务器,用于执行 "HTTP 服务",基于 Swoole 扩展的 `swoole_http_server`,拥有比 Apache/PHP-FPM 更高的性能。
>[info] mix-httpd 其实就是一个使用 MixPHP 开发的一个命令行应用程序。
## 位置
默认代码 `httpd` 模块中有集成 `mix-httpd` 服务器,代码路径为:
~~~txt
apps/httpd/commands/ServiceCommand.php
~~~
入口文件为:
~~~txt
bin/mix-httpd
~~~
## 配置文件
mix-httpd 的配置文件路径为:
~~~shell
apps/httpd/config/httpd.php
~~~
只需要配置文件内的 `httpServer` 字段内的参数即可,如下:
### `host` 参数
设置服务器绑定的主机。
### `port` 参数
设置服务器绑定的端口。
### `configFile` 参数
执行在 `mix-httpd` 服务器内的 HTTP 应用的配置文件。
### `settings` 参数
正式环境需设置合适的运行参数,与性能相关,非常重要。
全部参数列表:https://wiki.swoole.com/wiki/page/274.html
## 命令管理
mix-httpd 集成了一些命令,让用户能很方便的操作服务器。
>[info] 请使用 root 账号启动 mix-httpd。
全部命令如下:
- service start : 启动服务器。
- service stop : 停止服务器。
- service restart : 重启服务器。
- service reload : 重启所有工作进程,用于刷新代码。
`service start` 命令有两个很好用的参数:
- -d : 后台运行 (为了方便错误调试,不建议在开发阶段使用该参数)。
- -u : 代码热更新 (开发阶段使用),需关闭 PHP 的 OPcache,该参数会使 worker 进程只处理一次请求就销毁,所以不要在生产环境中使用。
在命令行使用以下命令管理:
~~~shell
// 查看帮助
mix-httpd -h
// 启动
mix-httpd service start
// 启动(守护)
mix-httpd service start -d
// 启动(守护 + 热更新)
mix-httpd service start -d -u
// 停止
mix-httpd service stop
// 重启
mix-httpd service restart
// 重启工作进程
mix-httpd service reload
// 状态
mix-httpd service status
~~~
- 欢迎使用 MixPHP
- 安装说明
- 常规安装
- 只安装命令行
- Apache/PHP-FPM安装
- 开发与调试
- 开发注意事项
- 调试与错误
- 基础架构
- 目录结构
- 目录设计
- URL访问
- 命名空间
- 自动加载
- 入口文件
- 框架核心
- Application
- 配置
- 对象
- 组件
- 门面
- 系统服务
- 中间件
- 验证器
- 验证器定义
- 验证规则
- 静态调用
- 模型
- 日志
- 命令行
- 简介
- 命令行开发常识
- 创建命令
- 执行与选项
- 控制台程序
- 守护程序
- HTTP 服务
- 简介
- 服务器
- 路由
- 请求
- 响应
- 控制器
- 视图
- Token
- Session
- Cookie
- 文件上传
- 图片处理
- 分页
- 验证码
- WebSocket 服务
- 简介
- 回调函数
- 消息处理器
- 客户端测试
- nginx代理
- 60s无消息断线
- 多进程
- ProcessPoolTaskExecutor
- 流水线模式
- 推送模式
- 在 Supervisor 中使用
- 协程
- 简介
- 如何开启协程
- HTTP 协程开发
- 命令行协程开发
- 客户端
- MySQL
- PDO
- PDOPersistent
- PDOMasterSlave
- PDOCoroutine
- Redis
- Redis
- RedisPersistent
- RedisCoroutine
- 外部工具库
- 简介
- think-orm
- psr-log
- 安全建议
- 常见问题
- 启动多个 HTTP 服务器
- 连接多个数据库
- 如何设置跨域
- mix-httpd service stop 无效
- No such file or directory
- 错误级别配置不生效
- 推进计划
- 文档历史