| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311 |
- <?php
- return [
- /*
- |--------------------------------------------------------------------------
- | LaravelS Settings
- |--------------------------------------------------------------------------
- |
- | English https://github.com/hhxsv5/laravel-s/blob/master/Settings.md#laravels-settings
- | Chinese https://github.com/hhxsv5/laravel-s/blob/master/Settings-CN.md#laravels-%E9%85%8D%E7%BD%AE%E9%A1%B9
- |
- */
- /*
- |--------------------------------------------------------------------------
- | The IP address of the server
- |--------------------------------------------------------------------------
- |
- | IPv4: use "127.0.0.1" to listen local address, and "0.0.0.0" to listen all addresses.
- | IPv6: use "::1" to listen local address, and "::"(equivalent to 0:0:0:0:0:0:0:0) to listen all addresses.
- |
- */
- 'listen_ip' => env('LARAVELS_LISTEN_IP', '127.0.0.1'),
- /*
- |--------------------------------------------------------------------------
- | The port of the server
- |--------------------------------------------------------------------------
- |
- | Require root privilege if port is less than 1024.
- |
- */
- 'listen_port' => env('LARAVELS_LISTEN_PORT', 5200),
- /*
- |--------------------------------------------------------------------------
- | The socket type of the server
- |--------------------------------------------------------------------------
- |
- | Usually, you don’t need to care about it.
- | Unless you want Nginx to proxy to the UnixSocket Stream file, you need
- | to modify it to SWOOLE_SOCK_UNIX_STREAM, and listen_ip is the path of UnixSocket Stream file.
- | List of socket types:
- | SWOOLE_SOCK_TCP: TCP
- | SWOOLE_SOCK_TCP6: TCP IPv6
- | SWOOLE_SOCK_UDP: UDP
- | SWOOLE_SOCK_UDP6: UDP IPv6
- | SWOOLE_UNIX_DGRAM: Unix socket dgram
- | SWOOLE_UNIX_STREAM: Unix socket stream
- | Enable SSL: $sock_type | SWOOLE_SSL. To enable SSL, check the configuration about SSL.
- | https://www.swoole.co.uk/docs/modules/swoole-server-doc
- | https://www.swoole.co.uk/docs/modules/swoole-server/configuration
- |
- */
- 'socket_type' => defined('SWOOLE_SOCK_TCP') ? SWOOLE_SOCK_TCP : 1,
- /*
- |--------------------------------------------------------------------------
- | Server Name
- |--------------------------------------------------------------------------
- |
- | This value represents the name of the server that will be
- | displayed in the header of each request.
- |
- */
- 'server' => env('LARAVELS_SERVER', 'LaravelS'),
- /*
- |--------------------------------------------------------------------------
- | Handle Static Resource
- |--------------------------------------------------------------------------
- |
- | Whether handle the static resource by LaravelS(Require Swoole >= 1.7.21, Handle by Swoole if Swoole >= 1.9.17).
- | Suggest that Nginx handles the statics and LaravelS handles the dynamics.
- | The default path of static resource is base_path('public'), you can modify swoole.document_root to change it.
- |
- */
- 'handle_static' => env('LARAVELS_HANDLE_STATIC', false),
- /*
- |--------------------------------------------------------------------------
- | Laravel Base Path
- |--------------------------------------------------------------------------
- |
- | The basic path of Laravel, default base_path(), be used for symbolic link.
- |
- */
- 'laravel_base_path' => env('LARAVEL_BASE_PATH', base_path()),
- /*
- |--------------------------------------------------------------------------
- | Inotify Reload
- |--------------------------------------------------------------------------
- |
- | This feature requires inotify extension.
- | https://github.com/hhxsv5/laravel-s#automatically-reload-after-modifying-code
- |
- */
- 'inotify_reload' => [
- // Whether enable the Inotify Reload to reload all worker processes when your code is modified.
- 'enable' => env('LARAVELS_INOTIFY_RELOAD', false),
- // The file path that Inotify watches
- 'watch_path' => base_path(),
- // The file types that Inotify watches
- 'file_types' => ['.php'],
- // The excluded/ignored directories that Inotify watches
- 'excluded_dirs' => [],
- // Whether output the reload log
- 'log' => true,
- ],
- /*
- |--------------------------------------------------------------------------
- | Swoole Event Handlers
- |--------------------------------------------------------------------------
- |
- | Configure the event callback function of Swoole, key-value format,
- | key is the event name, and value is the class that implements the event
- | processing interface.
- |
- | https://github.com/hhxsv5/laravel-s#configuring-the-event-callback-function-of-swoole
- |
- */
- 'event_handlers' => [],
- /*
- |--------------------------------------------------------------------------
- | WebSockets
- |--------------------------------------------------------------------------
- |
- | Swoole WebSocket Server settings.
- |
- | https://github.com/hhxsv5/laravel-s#enable-websocket-server
- |
- */
- 'websocket' => [
- 'enable' => false,
- // 'handler' => XxxWebSocketHandler::class,
- ],
- /*
- |--------------------------------------------------------------------------
- | Sockets - multi-port mixed protocol
- |--------------------------------------------------------------------------
- |
- | The socket(port) list for TCP/UDP.
- |
- | https://github.com/hhxsv5/laravel-s#multi-port-mixed-protocol
- |
- */
- 'sockets' => [],
- /*
- |--------------------------------------------------------------------------
- | Custom Process
- |--------------------------------------------------------------------------
- |
- | Support developers to create custom processes for monitoring,
- | reporting, or other special tasks.
- |
- | https://github.com/hhxsv5/laravel-s#custom-process
- |
- */
- 'processes' => [],
- /*
- |--------------------------------------------------------------------------
- | Timer
- |--------------------------------------------------------------------------
- |
- | Wrapper cron job base on Swoole's Millisecond Timer, replace Linux Crontab.
- |
- | https://github.com/hhxsv5/laravel-s#millisecond-cron-job
- |
- */
- 'timer' => [
- 'enable' => env('LARAVELS_TIMER', false),
- // The list of cron job
- 'jobs' => [
- // 订单超时和取消
- \App\Jobs\Timer\OrderJob::class,
- // Enable LaravelScheduleJob to run `php artisan schedule:run` every 1 minute, replace Linux Crontab
- // Hhxsv5\LaravelS\Illuminate\LaravelScheduleJob::class,
- ],
- // Max waiting time of reloading
- 'max_wait_time' => 5,
- // Enable the global lock to ensure that only one instance starts the timer
- // when deploying multiple instances.
- // This feature depends on Redis https://laravel.com/docs/8.x/redis
- 'global_lock' => false,
- 'global_lock_key' => config('app.name', 'Laravel'),
- ],
- /*
- |--------------------------------------------------------------------------
- | Swoole Tables
- |--------------------------------------------------------------------------
- |
- | All defined tables will be created before Swoole starting.
- |
- | https://github.com/hhxsv5/laravel-s#use-swooletable
- |
- */
- 'swoole_tables' => [],
- /*
- |--------------------------------------------------------------------------
- | Re-register Providers
- |--------------------------------------------------------------------------
- |
- | The Service Provider list, will be re-registered each request, and run method boot()
- | if it exists. Usually, be used to clear the Service Provider
- | which registers Singleton instances.
- |
- | https://github.com/hhxsv5/laravel-s/blob/master/Settings.md#register_providers
- |
- */
- 'register_providers' => [],
- /*
- |--------------------------------------------------------------------------
- | Cleaners
- |--------------------------------------------------------------------------
- |
- | The list of cleaners for each request is used to clean up some residual
- | global variables, singleton objects, and static properties to avoid
- | data pollution between requests.
- |
- | https://github.com/hhxsv5/laravel-s/blob/master/Settings.md#cleaners
- |
- */
- 'cleaners' => [],
- /*
- |--------------------------------------------------------------------------
- | Destroy Controllers
- |--------------------------------------------------------------------------
- |
- | Automatically destroy the controllers after each request to solve
- | the problem of the singleton controllers.
- |
- | https://github.com/hhxsv5/laravel-s/blob/master/KnownIssues.md#singleton-controller
- |
- */
- 'destroy_controllers' => [
- 'enable' => false,
- 'excluded_list' => [],
- ],
- /*
- |--------------------------------------------------------------------------
- | Swoole Settings
- |--------------------------------------------------------------------------
- |
- | Swoole's original configuration items.
- |
- | More settings
- | Chinese https://wiki.swoole.com/#/server/setting
- | English https://www.swoole.co.uk/docs/modules/swoole-server/configuration
- |
- */
- 'swoole' => [
- 'daemonize' => env('LARAVELS_DAEMONIZE', false),
- 'dispatch_mode' => env('LARAVELS_DISPATCH_MODE', 3),
- 'worker_num' => env('LARAVELS_WORKER_NUM', 30),
- //'task_worker_num' => env('LARAVELS_TASK_WORKER_NUM', 10),
- 'task_ipc_mode' => 1,
- 'task_max_request' => env('LARAVELS_TASK_MAX_REQUEST', 100000),
- 'task_tmpdir' => @is_writable('/dev/shm/') ? '/dev/shm' : '/tmp',
- 'max_request' => env('LARAVELS_MAX_REQUEST', 100000),
- 'open_tcp_nodelay' => true,
- 'pid_file' => storage_path('laravels.pid'),
- 'log_level' => env('LARAVELS_LOG_LEVEL', 4),
- 'log_file' => storage_path(sprintf('logs/swoole-%s.log', date('Y-m'))),
- 'document_root' => base_path('public'),
- 'buffer_output_size' => 2 * 1024 * 1024,
- 'socket_buffer_size' => 8 * 1024 * 1024,
- 'package_max_length' => 4 * 1024 * 1024,
- 'reload_async' => true,
- 'max_wait_time' => 60,
- 'enable_reuse_port' => true,
- 'enable_coroutine' => false,
- 'upload_tmp_dir' => @is_writable('/dev/shm/') ? '/dev/shm' : '/tmp',
- 'http_compression' => env('LARAVELS_HTTP_COMPRESSION', false),
- ],
- ];
|