silentred / lumoon by silentred

Lumen & Swoole
1,527
14
3
Package Data
Maintainer Username: silentred
Maintainer Contact: silentred3@gmail.com (Jason W.)
Package Create Date: 2015-12-13
Package Last Update: 2017-01-19
Home Page:
Language: PHP
License: MIT
Last Refreshed: 2024-04-18 15:16:27
Package Statistics
Total Downloads: 1,527
Monthly Downloads: 22
Daily Downloads: 1
Total Stars: 14
Total Watchers: 3
Total Forks: 5
Total Open Issues: 1

#Lumoon

Lumen on Swoole

Depends On

  • php >= 5.5.9
  • laravel/lumen > 5.1.*
  • ext-swoole >= 1.7.19

##Install

 composer require silentred/lumoon

Because Lumen does not use Http Kernel, you have to create a subclass of \Laravel\Lumen\Application under app directory. In bootstrap directory, change Application in app.php to the new one as App\Application

##Usage

 vendor/bin/lumoon start | stop | reload | restart | quit

##Config

In .env , use LUMOON_* to config swoole server. For example

LUMOON_REACTOR_NUM=1
LUMOON_WORKER_NUM=4
LUMOON_BACKLOG=128
LUMOON_DISPATCH_MODE=1

###pid_file

 LUMOON_PID_FILE=/path/to/lumoon.pid

default is at /lumen/storage/logs/swoole.pid

###gzip

 LUMOON_GZIP=1

level is in the range from 1 to 9, bigger is compress harder and use more CPU time.

 LUMOON_GZIP_MIN_LENGTH=1024

Sets the mINImum length of a response that will be gzipped.

###deal_with_public

Use this ONLY when developing

 LUMOON_DEAL_WITH_PUBLIC=true

###Swoole

Eexample:

 LUMOON_HOST=0.0.0.0

Default host is 127.0.0.1:9050

See Swoole's document:

简体中文

English

##Work with nginx

server {
	listen       80;
	server_name  localhost;

	root /path/to/lumoon/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:9050;
	}
}

#License MIT