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服務章節中說到
http://www.hmoore.net/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采集進程服務