1、swoolefy支持启动多种服务,在这里我们先启动我们前面已经创建的基于Http的App应用,其他的协议的应用现在没有创建,是不能启动的,将在下面的应用服务中再说到。
特别注意: 当第一次启动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就是你的应用名称 ``` |
2、config-dev.php配置文件
启动生成的配置文件内容:
~~~
/**
+----------------------------------------------------------------------
| swoolefy framework bases on swoole extension development, we can use it easily!
+----------------------------------------------------------------------
| Licensed ( https://opensource.org/licenses/MIT )
+----------------------------------------------------------------------
| Author: bingcool
+----------------------------------------------------------------------
*/
// 加载常量定义,根据自己项目实际路径记载
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");
// }
//],
];
~~~
具体的配置项将在下面的应用服务的http服务章节中说到 https://www.kancloud.cn/bingcoolhuang/php-swoole-swoolefy/587510 |
在这里需要注意的是以下配置项:
* 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
特别注意: 默认生成的HttpServer.php文件在你应用目录App下 |
#### 启动操作
```
启动:php swoolefy start App
停止:php swoolefy stop App
help:php swoolefy help
```
那么以后每次使用这个命令就可以启动对应的服务了
3、直接访问
直接http://ip:9502,确保9502开放端口了