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开放端口了
- 欢迎使用swoolefy
- 环境说明
- 开发部署
- 安装
- 创建应用
- 启动|停止服务
- nginx代理
- 创建Controller
- 应用结构
- App应用对象
- Event请求处理
- 超全局管理
- 热更新
- inotify实现worker进程热重启
- http服务
- 应用层配置
- 协议层配置
- 路由规则
- 控制器
- 数据模型
- websocket服务
- 应用层配置
- 协议层配置
- 数据封装格式
- 控制器
- 数据模型
- 二进制数据处理
- rpc服务
- 应用层配置
- 协议程配置
- 数据包协议格式
- 服务控制器
- 服务数据模型
- udp服务
- 应用层配置
- 协议层配置
- 数据包封装格式
- 控制器
- 存在问题
- 常用组件
- log
- view
- session
- cache(redis)
- db(mysql)
- mongodb
- 其他服务管理
- 自定义进程管理
- 异步任务管理
- 内存表管理
- 定时器管理
- 异常捕捉处理
- 进程池管理
- systerm采集进程服务