开发 Swoole 服务 使用端口问题
发表于|更新于|编程语言
最近开发新项目 服务端口5w 起 , 但是总是出现端口被占用…
我一直都用 netstat -tunple |grep -i 56904 检索 但并没有搜索到.
找了运维同学看了下 使用 netstat -an |grep 56904

如上图 netstat -an |grep 56904 , 返回 ESTABLISHED, 破案了
在Linux上,有一个sysctl参数ip_local_port_range,可用于定义网络连接可用作其源(本地)端口的最小和最大端口的限制,同时适用于TCP和UDP连接。
我新增服务的端口,在ip_local_port_range区间端口内, 本机其他服务进程与其他网络服务构成建立网络连接. 端口我就用不了了.
自定义服务端口 不要在ip_local_port_range 范围内.
诶 问题比较低级, 收录下
文章作者: Leon
版权声明: 本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 Leon!
相关推荐
2019-04-01
Swoole 报错 `WARNING php_swoole_trace_check: PTRACE_ATTACH`
在使用 Swoole 时,您可能会遇到类似于以下的警告信息: WARNING php_swoole_trace_check: PTRACE_ATTACH 这个警告通常与 Swoole 的调试和追踪功能有关,特别是在使用 ptrace 系统调用时。ptrace 是一个用于调试和追踪进程的系统调用,Swoole 使用它来实现一些功能,如性能分析和错误跟踪。 1. 原因分析1.1 权限问题该警告通常是因为当前用户没有足够的权限来附加到其他进程。ptrace 调用需要一定的权限,尤其当您尝试附加到一个不属于当前用户的进程时。 1.2 SELinux 设置在某些 Linux 发行版上(如 CentOS 和 Fedora),如果启用了 SELinux,可能会导致 ptrace 被限制,从而引发此警告。 2. 解决方案以下是一些解决此问题的常见方法: 2.1 检查用户权限确保您以适当的权限运行 PHP 脚本。您可以尝试使用 sudo 运行脚本,看看是否能解决问题。 sudo php your_script.php 2.2 修改 SELinux 设置如果您在使用 SELinux,可以通过...
2023-12-21
Swoole 抛错 ; WARNING timer_callback (ERRNO 9007): No idle worker is available
根据提供的错误消息,这是一个关于Swoole服务的错误。错误消息中的WARNING timer_callback (ERRNO 9007): No idle worker is available表示没有空闲的工作进程可用。 这种情况通常发生在Swoole服务的工作进程池已满,无法处理更多的请求或任务。当所有工作进程都在忙于处理请求时,新的请求将无法得到处理,从而导致该警告出现。 解决该问题的方法可以考虑以下几点: 增加工作进程数:可以通过增加Swoole服务的工作进程数来扩展处理能力。可以在Swoole的配置文件或代码中找到关于工作进程数的设置项,并适当增加工作进程的数量。 优化代码逻辑:检查Swoole服务中的代码逻辑,确保没有长时间阻塞的操作或耗时过长的任务。如果存在耗时操作,可以考虑使用异步或并发处理方式,以充分利用工作进程资源。 调整资源限制:检查服务器的资源限制,例如文件句柄数、内存限制等。确保这些限制不会导致工作进程无法创建或执行。 监控和调优:使用合适的监控工具来监视Swoole服务的性能指标,例如请求处理速度、工作进程状态等。根据监控结果进行调优,找出性能...
2019-10-10
Uncaught Swoole\Coroutine\Http\Client\Exception: you must configure with `--enable-openssl`
Fatal error: Uncaught Swoole\Coroutine\Http\Client\Exception: you must configure with --enable-openssl to support SSL connection when compiling Swoole在使用 Swoole 进行协程 HTTP 客户端操作时,您可能会遇到如下错误: Fatal error: Uncaught Swoole\Coroutine\Http\Client\Exception: you must configure with `--enable-openssl` to support ssl connection when compiling Swoole 这个错误提示说明您的 Swoole 扩展在编译时未启用 SSL 支持。下面将介绍如何解决这个问题。 1. 确认 Swoole 版本首先,确认您当前使用的 Swoole 版本。可以通过以下命令查看: php --ri swoole 2. 检查 OpenSSL 是否安装在编译 Swoole 时,需要确保...
2018-12-23
Swoole 报错 NOTICE swFactoryProcess_finish (ERROR 1004): send 76 byte failed,
记录下swoole 抛错 NOTICE swFactoryProcess_finish (ERROR 1004): send 76 byte failed, because connection[fd=40] 表示连接已经被关闭了,所以send会失败, 客户端的问题跟服务端没关系 , 当然 如果你fd 用错了 就呵呵了 https://group.swoole.com/question/106029
2018-11-05
Aws 迁移 阿里云 踩坑 (Too many open files[24])
php7.2 + swoole 1.10.3ERROR zm_deactivate_swoole (ERROR 503): Fatal error: Allowed memory size of 1073741824 bytes exhausted (tried to allocate 4096 bytes) 主master 进程内存溢出问题 减小 buffer_output_size 参数 32M 内存溢出有所改善, 但阿里云个别服务器内存仍在持续增长. [2018-11-02 15:21:48 #17293.8] ERROR swServer_master_onAccept (ERROR 502): accept() failed. Error: Too many open files[24] worker 进程错误日志提示 打开文件数过多, 调整 ulimit -n 参数 仍然存在问题.dispatch_func return -1 导致问题出现, -1 表示 master/manage 进程 , 阿里云环境存在无响应头的请求包 经过测试 在 Serve...
2019-01-02
[踩坑] Swoole 4.2 协程
首先注意 'enable_coroutine' => false, // 是否自动开启协程 默认 true 我当然false 手动 go 调用协程 先踩小坑 go(): Using Xdebug in coroutines is extremely dangerous, please notice that it may lead to coredump! i 写了个接口测试下 就抛错了 , xdebug 不让用 说危险… 今天填下坑 2019/01/09 韩大大来做分享, 顿时觉得协程好牛逼!! 因为协程可以无限起. Demo 示例: public function coTest(){ go(function () { $time = time(); $chan = new Coroutine\Channel(); go(function () use ($chan) { co::sleep(1); ...
评论
公告
记录技术实践,分享学习与思考。



