## 全量安装 全量安装包括全部功能模块: - console:命令行开发、守护进程开发 - http:Http服务开发 - websocket:WebSocket服务开发 - tcp:TCP服务开发 - udp:UDP服务开发 ## 环境要求 - PHP 版本 >= 7.0 - Swoole >= 1.9.5 (常驻同步模式)>= 4.2.9 (常驻协程模式) - Composer ## 环境搭建 ### 安装 Swoole 扩展 pecl 在 php/bin 目录,国内 pecl 安装 swoole 有时很慢,如果无法忍受,可选择 [编译安装](https://wiki.swoole.com/wiki/page/6.html)。 ~~~ $> pecl install swoole ~~~ ### 安装 MixPHP 使用 [composer](https://www.phpcomposer.com/) 安装: ```shell composer create-project mix/mix --prefer-dist ``` ## 确认安装成功 启动 mix-httpd 服务器: ~~~ $> cd bin $> php mix-httpd start -c ../applications/http/config/httpd.php ~~~ 访问测试 (新开一个终端): ~~~ $> curl http://127.0.0.1:9501/ Hello World ~~~ 如果显示 "Hello World" 的欢迎语那就表示 MixPHP 已经正常运行。 ### 安装自动重启工具 - SwooleFor:[https://github.com/mix-php/swoolefor](https://github.com/mix-php/swoolefor) ### 增加 Nginx 反向代理 反向代理主要负责静态文件处理和负载均衡,直接复制下面的配置。 ~~~ server { server_name www.test.com; listen 80; root /data/mix/applications/http/public; location / { proxy_http_version 1.1; proxy_set_header Connection "keep-alive"; proxy_set_header Host $http_host; proxy_set_header Scheme $scheme; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; if (!-f $request_filename) { proxy_pass http://127.0.0.1:9501; } } } ~~~ >[info] 在 MixPHP 中通过读取 app()->request->header('x-real-ip') 或者 app()->request->header('x-forwarded-for') 来获取客户端的真实IP。