swoole.php 3.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798
  1. <?php
  2. use think\swoole\websocket\socketio\Handler;
  3. return [
  4. 'server' => [
  5. 'host' => env('SWOOLE_HOST', '127.0.0.1'), // 监听地址
  6. 'port' => env('SWOOLE_PORT', 80), // 监听端口
  7. 'mode' => SWOOLE_PROCESS, // 运行模式 默认为SWOOLE_PROCESS
  8. 'sock_type' => SWOOLE_SOCK_TCP, // sock type 默认为SWOOLE_SOCK_TCP
  9. 'options' => [
  10. 'pid_file' => runtime_path() . 'swoole.pid',
  11. 'log_file' => runtime_path() . 'swoole.log',
  12. 'daemonize' => false,
  13. // Normally this value should be 1~4 times larger according to your cpu cores.
  14. 'reactor_num' => swoole_cpu_num(),
  15. 'worker_num' => swoole_cpu_num(),
  16. 'task_worker_num' => swoole_cpu_num(),
  17. 'enable_static_handler' => true,
  18. 'document_root' => root_path('public'),
  19. 'package_max_length' => 20 * 1024 * 1024,
  20. 'buffer_output_size' => 10 * 1024 * 1024,
  21. 'socket_buffer_size' => 128 * 1024 * 1024,
  22. ],
  23. ],
  24. 'websocket' => [
  25. 'enable' => false,
  26. 'handler' => Handler::class,
  27. 'ping_interval' => 25000,
  28. 'ping_timeout' => 60000,
  29. 'room' => [
  30. 'type' => 'table',
  31. 'table' => [
  32. 'room_rows' => 4096,
  33. 'room_size' => 2048,
  34. 'client_rows' => 8192,
  35. 'client_size' => 2048,
  36. ],
  37. 'redis' => [
  38. 'host' => '127.0.0.1',
  39. 'port' => 6379,
  40. 'max_active' => 3,
  41. 'max_wait_time' => 5,
  42. ],
  43. ],
  44. 'listen' => [],
  45. 'subscribe' => [],
  46. ],
  47. 'rpc' => [
  48. 'server' => [
  49. 'enable' => false,
  50. 'port' => 9000,
  51. 'services' => [
  52. ],
  53. ],
  54. 'client' => [
  55. ],
  56. ],
  57. 'hot_update' => [
  58. 'enable' => env('APP_DEBUG', false),
  59. 'name' => ['*.php'],
  60. 'include' => [app_path()],
  61. 'exclude' => [],
  62. ],
  63. //连接池
  64. 'pool' => [
  65. 'db' => [
  66. 'enable' => true,
  67. 'max_active' => 3,
  68. 'max_wait_time' => 5,
  69. ],
  70. 'cache' => [
  71. 'enable' => true,
  72. 'max_active' => 3,
  73. 'max_wait_time' => 5,
  74. ],
  75. //自定义连接池
  76. ],
  77. //队列
  78. 'queue' => [
  79. 'enable' => false,
  80. 'workers' => [],
  81. ],
  82. 'coroutine' => [
  83. 'enable' => true,
  84. 'flags' => SWOOLE_HOOK_ALL,
  85. ],
  86. 'tables' => [],
  87. //每个worker里需要预加载以共用的实例
  88. 'concretes' => [],
  89. //重置器
  90. 'resetters' => [],
  91. //每次请求前需要清空的实例
  92. 'instances' => [],
  93. //每次请求前需要重新执行的服务
  94. 'services' => [],
  95. ];