PHP 網站
PHP 網站用於運行 PHP 程式,如 WordPress、Laravel、ThinkPHP 等。
警告
傳統的 PHP-FPM 應用(如 WordPress、Laravel)應使用 PHP 網站 方式部署,而非項目。
適用場景
- Laravel Octane(Swoole/RoadRunner)
- Swoole 應用
- Workerman 應用
- ReactPHP 應用
- 其他需要常駐進程的 PHP 應用
前置要求
- PHP 運行環境:在 應用 > 運行環境 中安裝所需的 PHP 版本
- 根據需要安裝 Swoole 等模組
部署 Laravel Octane
建立項目
- 建立項目:
- 項目名:
myapp - 項目目錄:
/opt/ace/project/myapp - 啟動命令:
php84 artisan octane:start --host=0.0.0.0 --port=8000
- 項目名:
- 開啟 反向代理
啟動命令示例
bash
# Laravel Octane (Swoole)
php84 artisan octane:start --host=0.0.0.0 --port=8000
# Laravel Octane (RoadRunner)
php84 artisan octane:start --server=roadrunner --host=0.0.0.0 --port=8000
# Swoole HTTP Server
php84 server.php
# Workerman
php84 start.php start
# Laravel Queue Worker
php84 artisan queue:work --daemonSwoole 應用示例
php
<?php
$server = new Swoole\HTTP\Server("0.0.0.0", 9501);
$server->on("request", function ($request, $response) {
$response->header("Content-Type", "text/plain");
$response->end("Hello World");
});
$server->start();啟動命令:php84 server.php
Workerman 應用示例
php
<?php
require_once __DIR__ . '/vendor/autoload.php';
use Workerman\Worker;
$worker = new Worker("http://0.0.0.0:8080");
$worker->onMessage = function($connection, $request) {
$connection->send("Hello World");
};
Worker::runAll();啟動命令:php84 start.php start
佇列處理
Laravel 佇列 Worker 也可以作為項目運行:
bash
php84 artisan queue:work --daemon --tries=3注意
- 常駐進程的 PHP 應用需要注意記憶體洩漏問題
- 程式碼更新後需要重啟項目才能生效
- 建議配置進程監控,異常時自動重啟
