如果要在同一个环境下运行多个使用 Hyperf 开发的系统,并且避免端口冲突,可以采用以下方法:
修改应用程序的端口号
在config/server.php文件中,可以修改应用程序监听的端口号。例如,将 HTTP 服务器的端口号改为 9501,如下所示:
<?php
return [
'servers' => [
[
'name' => 'http',
'type' => \Hyperf\Server\Server::SERVER_HTTP,
'host' => '0.0.0.0',
'port' => 9501,
'sock_type' => SWOOLE_SOCK_TCP,
'callbacks' => [
\Hyperf\HttpServer\Server::class,
],
],
],
];
修改端口号后,需要使用新的端口号启动应用程序。
使用 Nginx 或 Apache 等反向代理服务器
如果需要将多个应用程序同时部署在同一台服务器上,并使用不同的域名或子路径来访问,可以使用 Nginx 或 Apache 等反向代理服务器。
例如,将第一个应用程序部署在/app1路径下,将第二个应用程序部署在/app2路径下。在 Nginx 配置文件中,可以添加如下配置:
server {
listen 80;
server_name example.com;
location /app1 {
proxy_pass http://127.0.0.1:9501;
}
location /app2 {
proxy_pass http://127.0.0.1:9502;
}
}
这样,访问http://example.com/app1就会访问第一个应用程序,访问http://example.com/app2就会访问第二个应用程序。在 Hyperf 中,可以通过修改config/server.php文件中的端口号来避免端口冲突。