企业🤖AI智能体构建引擎,智能编排和调试,一键部署,支持私有化部署方案 广告
1、swoolefy支持启动多种服务,在这里我们先启动我们前面已经创建的基于Http的App应用,其他的协议的应用现在没有创建,是不能启动的,将在下面的应用服务中再说到。 <table><tr><td bgcolor=orange> 特别注意: 当第一次启动swoolefy的服务时,在protocol下的App目录自动生成三个不同环境的配置环境,分别是config-dev.php,config-gra.php,config-prd.php,对应开发环境,灰度环境,生成环境 ``` 开发环境dev(默认) 终端启动命令:php swoolefy start App -dev //App就是你的应用名称 守护进程启动:php swoolefy start App -dev -d //App就是你的应用名称 停止命令:php swoolefy stop App //App就是你的应用名称 ``` ``` 灰度环境gra 终端启动命令:php swoolefy start App -gra //App就是你的应用名称 守护进程启动:php swoolefy start App -gra -d //App就是你的应用名称 停止命令:php swoolefy stop App //App就是你的应用名称 ``` ``` 生产环境prd 终端启动命令:php swoolefy start App -prd //App就是你的应用名称 守护进程启动:php swoolefy start App -prd -d //App就是你的应用名称 停止命令:php swoolefy stop App //App就是你的应用名称 ``` </tr></table> 2、config-dev.php配置文件 启动生成的配置文件内容: ~~~ /** +---------------------------------------------------------------------- | swoolefy framework bases on swoole extension development, we can use it easily! +---------------------------------------------------------------------- | Licensed ( https://opensource.org/licenses/MIT ) +---------------------------------------------------------------------- | Author: bingcool <bingcoolhuang@gmail.com || 2437667702@qq.com> +---------------------------------------------------------------------- */ // 加载常量定义,根据自己项目实际路径记载 include_once START_DIR_ROOT.'/'.APP_NAME.'/Config/defines.php'; // 加载应用层协议,根据自己项目实际路径记载 $app_config = include_once START_DIR_ROOT.'/'.APP_NAME.'/Config/config-'.SWOOLEFY_ENV.'.php'; // http协议层配置 return [ 'app_conf' => $app_config, // 应用层配置,需要根据实际项目导入 'application_index' => '', 'event_handler' => \Swoolefy\Core\EventHandler::class, 'exception_handler' => '', 'master_process_name' => 'php-http-master', 'manager_process_name' => 'php-http-manager', 'worker_process_name' => 'php-http-worker', 'www_user' => 'www', 'host' => '0.0.0.0', 'port' => '9502', 'time_zone' => 'PRC', 'swoole_process_mode' => SWOOLE_PROCESS,//swoole的进程模式设置 'include_files' => [], 'runtime_enable_coroutine' => true, 'setting' => [ 'reactor_num' => 1, 'worker_num' => 5, 'max_request' => 1000, 'task_worker_num' => 2, 'task_tmpdir' => '/dev/shm', 'daemonize' => 0, // http无状态,使用1或3 'dispatch_mode' => 3, 'reload_async' => true, 'daemonize' => 0, 'enable_coroutine' => 1, 'task_enable_coroutine' => 1, 'log_file' => __DIR__.'/log/log.txt', 'pid_file' => __DIR__.'/log/server.pid', ], // 是否内存化线上实时任务 'enable_table_tick_task' => true, // 热更新 //'reload_conf'=>[ // 'enable_reload' => true, // 'after_seconds' => 3, // 'monitor_path' => APP_PATH,//开发者自己定义目录 // 'reload_file_types' => ['.php','.html','.js'], // 'ignore_dirs' => [], // 'callback' => function() { // var_dump("callback"); // } //], ]; ~~~ <table><tr><td bgcolor=orange> 具体的配置项将在下面的应用服务的http服务章节中说到 https://www.kancloud.cn/bingcoolhuang/php-swoole-swoolefy/587510 </td></tr></table> 在这里需要注意的是以下配置项: * application_index(可选) 这个的值就是应用的伪入口文件的class,可不设置 * event_handler 这个值是事件处理实现类,默认是Swoolefy\\Core\\EventHandler,比如创建一个自定义进程,创建一个定时器等。而与Application.php的boostrap()不同,boostrap()是每次请求到来时的一些引导处理。我们可以在App下建立Init目录,然后创建Init.php的文件继承这个Swoolefy\Core\EventHandler,然后实现其中的方法。 * host Http服务默认监听所有主机请求 * port Http默认监听端口9502,可以根据实际自定义 #### Httpserver.php <table><tr><td bgcolor=orange>特别注意: 默认生成的HttpServer.php文件在你应用目录App下</td></tr></table> #### 启动操作 ``` 启动:php swoolefy start App 停止:php swoolefy stop App help:php swoolefy help ``` 那么以后每次使用这个命令就可以启动对应的服务了 3、直接访问 直接http://ip:9502,确保9502开放端口了