icyboy / swmen
Swoole + Lumen
1.1.4
2016-06-14 03:26 UTC
Requires
- php: >=5.5.9
- laravel/lumen-framework: 5.2.*
- ramsey/uuid: ~2.8
This package is not auto-updated.
Last update: 2024-09-20 19:09:29 UTC
README
#swmen
Swoole + Lumen
依赖关系
- php >= 5.5.9
- lumen >= 5.2.*
- ext-swoole >= 1.8.5
##安装
composer install
由于Lumen不支持使用Http Kernel,所以你必须在App目录创建一个Application.php,内容如下
<?php /** * Created by PhpStorm. * User: Icyboy <icyboy@me.com> * Date: 2016/5/19 * Time: 11:07 */ namespace App; class Application extends \Laravel\Lumen\Application { public function getMiddleware() { return $this->middleware; } public function callTerminableMiddleware($response) { parent::callTerminableMiddleware($response); } }
然后修改bootstrap目录下的app.php
//替换如下内容 //$app = new Laravel\Lumen\Application( // realpath(__DIR__.'/../') //); $app = new App\Application( realpath(__DIR__.'/../') );
##用法
vendor/bin/swmen start | stop | reload | restart | quit
##配置
在.env文件中,使用SWMEN_*来配置swoole服务器。例如
SWMEN_REACTOR_NUM=1
SWMEN_WORKER_NUM=4
SWMEN_BACKLOG=128
SWMEN_DISPATCH_MODE=1
###pid_file
SWMEN_PID_FILE=/path/to/swmen.pid
默认在/lumen/storage/logs/swmen.pid
###gzip
SWMEN_GZIP=1
级别在1到9之间,越大压缩越强,消耗的CPU时间越多。
SWMEN_GZIP_MIN_LENGTH=1024
设置最小响应长度,超过该长度将进行gzip压缩。
###deal_with_public
仅当开发时使用此选项
SWMEN_DEAL_WITH_PUBLIC=true
###Swoole
示例
SWMEN_HOST=0.0.0.0
默认主机是0.0.0.0:8088
请参阅Swoole文档
##与nginx配合使用
server { listen 80; server_name localhost; root /path/to/swmen/public; location ~ \.(png|jpeg|jpg|gif|css|js)$ { break; } location / { proxy_set_header Host $host:$server_port; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_http_version 1.1; proxy_pass http://127.0.0.1:8088; } }
#许可证 MIT