## 环境要求 * Linux, OS X, WSL * PHP >= 7.2 * Swoole >= 4.4.4 (websocket >= 4.4.8) ## 环境搭建 ### 安装 Swoole 扩展 推荐 [编译安装](https://wiki.swoole.com/wiki/page/6.html): ~~~ $> wget ***.tar.gz $> tar zxvf ***.tar.gz $> cd swoole-src $> phpize $> ./configure --enable-openssl --with-php-config=/usr/local/php72/bin/php-config $> make && sudo make install ~~~ ### 安装 MixPHP > 不要使用 git clone 安装 使用 [composer](https://www.phpcomposer.com/) 安装: ```shell // 常规安装 composer create-project --prefer-dist mix/mix-skeleton mix 2.1.* // 忽略扩展检查安装 composer create-project --prefer-dist --ignore-platform-reqs mix/mix-skeleton mix 2.1.* ``` ## 确认安装成功 查看帮助: ~~~ $> php bin/mix.php --help ~~~ 启动 HTTP 服务器: ~~~ $> php bin/mix.php http:start ~~~ 访问测试 (新开一个终端): ~~~ $> 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/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 中通过读取 $request->getHeaderLine('x-real-ip') 或者 $request->getHeaderLine('x-forwarded-for') 来获取客户端的真实IP。