Workerman--unable to connect to tcp://0.0.0.0:7272 (Address already in use)

7th,Jan,2016

unable to connect to tcp://0.0.0.0:7272 (Address already in use)

当我再一次的使用php start.php start开启时,出错了:大哭



lsof -i:7272查看端口被什么进程占用:



解决方式:

杀死这些进程, 应该就可以了。


分析:

初步判断是系统问题,

我并不是以守护进程的模式开启进程,所以当网络本机终端失去与远程的ssh连接,则会关闭当前ssh连接中的进程。

而刚好就在这瞬间,我的客户端调用了该进程,那个时候客户端还能与其建立连接。所以,出现了一开始的情况,ssh连接已失去,当我再次连接到阿里云服务器开启进程是提示该端口已被占用。


11st,Jan,2016

今天发现原来WorkerMan手册中有关于该错误的描述,我当时的原因是该进程已经在运行。

失败原因1:

workerman已经在运行,无法再次启动。可以运行 php start.php restart 重新启动

失败原因2:

如果restart仍然报Address already in use,一般是由于启动脚本找不到主进程pid文件导致的,workerman 3.2.2之前的版本主进程pid文件默认存储在/tmp/下,有些系统会定时清理/tmp/目录,导致无法启动。

解决方法:

方法1:升级workerman到3.2.2或以上版本,workerman3.2.2 版本不在将pid文件存储在/tmp/下,另外提供了php xxx.php kill 命令,方便强行杀死workerman进程。

方法2:可以运行 ps aux | grep start.php | awk '{print $2}' | xargs kill -9 强行杀死进程。然后参考手册pidFile将pid文件存储在安全的地方。





> # 安装genefilter 1.76.0 > BiocManager::install("genefilter@1.76.0", + version = "3.14", + update = FALSE) 'getOption("repos")' replaces Bioconductor standard repositories, see 'help("repositories", package = "BiocManager")' for details. Replacement repositories: CRAN: https://mirrors.tuna.tsinghua.edu.cn/CRAN/ Warning: unable to access index for repository https://mirrors.ustc.edu.cn/bioc/packages/3.14//packages/3.14/bioc/src/contrib: 无法打开URL'https://mirrors.ustc.edu.cn/bioc/packages/3.14//packages/3.14/bioc/src/contrib/PACKAGES' Warning: unable to access index for repository https://mirrors.ustc.edu.cn/bioc/packages/3.14//packages/3.14/data/annotation/src/contrib: 无法打开URL'https://mirrors.ustc.edu.cn/bioc/packages/3.14//packages/3.14/data/annotation/src/contrib/PACKAGES' Warning: unable to access index for repository https://mirrors.ustc.edu.cn/bioc/packages/3.14//packages/3.14/data/experiment/src/contrib: 无法打开URL'https://mirrors.ustc.edu.cn/bioc/packages/3.14//packages/3.14/data/experiment/src/contrib/PACKAGES' Warning: unable to access index for repository https://mirrors.ustc.edu.cn/bioc/packages/3.14//packages/3.14/workflows/src/contrib: 无法打开URL'https://mirrors.ustc.edu.cn/bioc/packages/3.14//packages/3.14/workflows/src/contrib/PACKAGES' Warning: unable to access index for repository https://mirrors.ustc.edu.cn/bioc/packages/3.14//packages/3.14/books/src/contrib: 无法打开URL'https://mirrors.ustc.edu.cn/bioc/packages/3.14//packages/3.14/books/src/contrib/PACKAGES' Bioconductor version 3.14 (BiocManager 1.30.26), R 4.1.2 (2021-11-01) Installing package(s) 'genefilter@1.76.0' Warning: unable to access index for repository https://mirrors.ustc.edu.cn/bioc/packages/3.14//packages/3.14/bioc/src/contrib: 无法打开URL'https://mirrors.ustc.edu.cn/bioc/packages/3.14//packages/3.14/bioc/src/contrib/PACKAGES' Warning: unable to access index for repository https://mirrors.ustc.edu.cn/bioc/packages/3.14//packages/3.14/data/annotation/src/contrib: 无法打开URL'https://mirrors.ustc.edu.cn/bioc/packages/3.14//packages/3.14/data/annotation/src/contrib/PACKAGES' Warning: unable to access index for repository https://mirrors.ustc.edu.cn/bioc/packages/3.14//packages/3.14/data/experiment/src/contrib: 无法打开URL'https://mirrors.ustc.edu.cn/bioc/packages/3.14//packages/3.14/data/experiment/src/contrib/PACKAGES' Warning: unable to access index for repository https://mirrors.ustc.edu.cn/bioc/packages/3.14//packages/3.14/workflows/src/contrib: 无法打开URL'https://mirrors.ustc.edu.cn/bioc/packages/3.14//packages/3.14/workflows/src/contrib/PACKAGES' Warning: unable to access index for repository https://mirrors.ustc.edu.cn/bioc/packages/3.14//packages/3.14/books/src/contrib: 无法打开URL'https://mirrors.ustc.edu.cn/bioc/packages/3.14//packages/3.14/books/src/contrib/PACKAGES' Warning: unable to access index for repository https://mirrors.ustc.edu.cn/bioc/packages/3.14//packages/3.14/bioc/bin/windows/contrib/4.1: 无法打开URL'https://mirrors.ustc.edu.cn/bioc/packages/3.14//packages/3.14/bioc/bin/windows/contrib/4.1/PACKAGES' Warning: unable to access index for repository https://mirrors.ustc.edu.cn/bioc/packages/3.14//packages/3.14/data/annotation/bin/windows/contrib/4.1: 无法打开URL'https://mirrors.ustc.edu.cn/bioc/packages/3.14//packages/3.14/data/annotation/bin/windows/contrib/4.1/PACKAGES' Warning: unable to access index for repository https://mirrors.ustc.edu.cn/bioc/packages/3.14//packages/3.14/data/experiment/bin/windows/contrib/4.1: 无法打开URL'https://mirrors.ustc.edu.cn/bioc/packages/3.14//packages/3.14/data/experiment/bin/windows/contrib/4.1/PACKAGES' Warning: unable to access index for repository https://mirrors.ustc.edu.cn/bioc/packages/3.14//packages/3.14/workflows/bin/windows/contrib/4.1: 无法打开URL'https://mirrors.ustc.edu.cn/bioc/packages/3.14//packages/3.14/workflows/bin/windows/contrib/4.1/PACKAGES' Warning: unable to access index for repository https://mirrors.ustc.edu.cn/bioc/packages/3.14//packages/3.14/books/bin/windows/contrib/4.1: 无法打开URL'https://mirrors.ustc.edu.cn/bioc/packages/3.14//packages/3.14/books/bin/windows/contrib/4.1/PACKAGES' Warning message: package ‘genefilter@1.76.0’ is not available for Bioconductor version '3.14' A version of this package for your version of R might be available elsewhere, see the ideas at https://cran.r-project.org/doc/manuals/r-patched/R-admin.html#Installing-packages
06-20
<think>我们遇到了两个主要问题:1.镜像无法访问(mirrors.ustc.edu.cn)2.在Bioconductor3.14(对应R4.1.2)环境中安装特定版本的包(genefilter@1.76.0和sva@3.42.0)解决方案思路:1.更换镜像源:使用国内可访问的镜像源,如清华镜像或南京大学镜像。2.确保使用正确的Bioconductor版本(3.14)。3.安装特定版本的包,可能需要指定仓库路径或从源码安装。具体步骤:###步骤1:设置正确的镜像源在R中执行以下命令,设置清华大学的CRAN镜像和中科大的Bioconductor镜像(注意:Bioconductor镜像需要指定版本3.14):```r#设置CRAN镜像options(repos=c(CRAN="https://mirrors.tuna.tsinghua.edu.cn/CRAN/"))#设置Bioconductor镜像为3.14版本(使用中科大镜像,注意URL中包含版本号)options(BioC_mirror="https://mirrors.ustc.edu.cn/bioc/packages/3.14/")```如果中科大镜像仍然无法访问,可以尝试南京大学镜像:```roptions(BioC_mirror="https://mirror.nju.edu.cn/bioconductor/packages/3.14/")```###步骤2:安装BiocManager(如果尚未安装)```rif(!require("BiocManager",quietly=TRUE))install.packages("BiocManager")#指定使用Bioconductor3.14版本BiocManager::install(version="3.14")```###步骤3:安装依赖包在安装目标包之前,确保安装必要的依赖包。根据错误信息,我们需要先安装一些基础包和Bioconductor核心包。```r#安装基础包(如果之前安装失败,可以尝试重新安装)install.packages(c("Matrix","lattice","survival","mgcv"))#安装Bioconductor核心包BiocManager::install(c("Biobase","AnnotationDbi","GenomeInfoDbData"))```###步骤4:安装特定版本的genefilter和sva由于BiocManager的install函数默认安装最新版本,我们需要指定版本号。但是,BiocManager::install()不支持直接使用`@`指定版本。我们可以通过以下两种方式之一:####方法1:使用版本号对应的仓库URL(推荐)首先,查找包在特定Bioconductor版本中的URL。例如,对于genefilter1.76.0,它在Bioconductor3.14中的URL为:-https://bioconductor.org/packages/3.14/bioc/src/contrib/genefilter_1.76.0.tar.gz然后,使用`BiocManager::install()`并指定该URL:```r#安装genefilter1.76.0BiocManager::install("https://bioconductor.org/packages/3.14/bioc/src/contrib/genefilter_1.76.0.tar.gz")#安装sva3.42.0BiocManager::install("https://bioconductor.org/packages/3.14/bioc/src/contrib/sva_3.42.0.tar.gz")```注意:如果上述URL无法直接访问,可以将镜像URL替换进去,例如:```r#使用中科大镜像(如果可用)genefilter_url<-"https://mirrors.ustc.edu.cn/bioc/packages/3.14/bioc/src/contrib/genefilter_1.76.0.tar.gz"sva_url<-"https://mirrors.ustc.edu.cn/bioc/packages/3.14/bioc/src/contrib/sva_3.42.0.tar.gz"BiocManager::install(genefilter_url)BiocManager::install(sva_url)```####方法2:从源码安装(如果方法1失败)如果通过BiocManager安装失败,我们可以直接下载源码包,然后使用`install.packages`安装:```r#下载包(如果镜像不可用,可以手动下载然后从本地安装)download.file("https://mirrors.ustc.edu.cn/bioc/packages/3.14/bioc/src/contrib/genefilter_1.76.0.tar.gz",destfile="genefilter_1.76.0.tar.gz")download.file("https://mirrors.ustc.edu.cn/bioc/packages/3.14/bioc/src/contrib/sva_3.42.0.tar.gz",destfile="sva_3.42.0.tar.gz")#安装install.packages("genefilter_1.76.0.tar.gz",repos=NULL,type="source")install.packages("sva_3.42.0.tar.gz",repos=NULL,type="source")```###验证安装```rlibrary(genefilter)packageVersion("genefilter")#应该显示1.76.0library(sva)packageVersion("sva")#应该显示3.42.0```###可能遇到的问题及解决1.**依赖包安装失败**:如果安装过程中提示依赖包未安装,请先确保所有依赖包都已安装。可以通过`BiocManager::install()`安装所需依赖。2.**编译工具缺失**:在Windows上从源码安装需要Rtools。请确保安装了与R4.1.2对应的Rtools版本(Rtools40或更高版本,但需匹配)。下载地址:https://cran.r-project.org/bin/windows/Rtools/3.**镜像URL变更**:如果提供的镜像URL失效,请访问镜像站点的目录结构,确认路径是否正确。###总结通过更换可用的镜像源,并直接指定所需包的URL,我们可以绕过镜像访问问题并安装特定版本的包。如果网络问题持续,可以考虑手动下载包然后从本地安装。§§相关问题§§1.如何查看当前R环境中设置的镜像源?2.在Windows系统下如何配置Rtools以支持从源码编译R包?3.如何解决Bioconductor包安装时的依赖冲突问题?4.如何更新已安装的Bioconductor包到指定版本?5.如何在不同版本的Bioconductor之间切换?</think>### 解决R语言镜像访问及包安装问题的完整方案 #### 问题分析 您遇到的核心问题有两个: 1. 中科大镜像(mirrors.ustc.edu.cn)无法访问导致安装失败 2. 在R 4.1.2 + Bioconductor 3.14环境下安装特定版本包(genefilter@1.76.0和sva@3.42.0)的兼容性问题 #### 解决方案:分步操作指南 ##### 步骤1:配置可靠的镜像源 ```r # 设置清华CRAN镜像(已验证可用) options(repos = c(CRAN = "https://mirrors.tuna.tsinghua.edu.cn/CRAN/")) # 设置南京大学Bioconductor镜像(替代不可用的中科大镜像) options(BioC_mirror = "https://mirror.nju.edu.cn/bioconductor") # 验证镜像设置 getOption("repos") getOption("BioC_mirror") ``` ##### 步骤2:重新初始化Bioconductor环境 ```r # 清除旧版本残留 remove.packages(c("BiocManager", "Biobase", "genefilter", "sva")) # 重新安装指定版本的BiocManager install.packages("https://cran.r-project.org/src/contrib/Archive/BiocManager/BiocManager_1.30.20.tar.gz", repos = NULL, type = "source") # 初始化Bioconductor 3.14 library(BiocManager) install(version = "3.14") ``` ##### 步骤3:安装基础依赖(关键步骤) ```r # 安装编译工具链 BiocManager::install(c("Rcpp", "Matrix", "lattice")) # 安装Bioconductor核心组件 BiocManager::install(c("Biobase", "AnnotationDbi"), version = "3.14", ask = FALSE, update = FALSE) ``` ##### 步骤4:安装目标包(精确版本) ```r # 方案A:通过BiocManager直接安装(推荐) BiocManager::install(c("genefilter@1.76.0", "sva@3.42.0"), version = "3.14", update = FALSE, ask = FALSE) # 方案B:手动源码安装(备选) install.packages("https://bioconductor.org/packages/3.14/bioc/src/contrib/genefilter_1.76.0.tar.gz", repos = NULL, type = "source") install.packages("https://bioconductor.org/packages/3.14/bioc/src/contrib/sva_3.42.0.tar.gz", repos = NULL, type = "source") ``` ##### 步骤5:验证安装结果 ```r # 检查版本 packageVersion("genefilter") # 应返回 '1.76.0' packageVersion("sva") # 应返回 '3.42.0' # 测试加载 library(Biobase) library(genefilter) library(sva) ``` #### 故障排除技巧 1. **DLL加载失败问题**: ```r # 重建库路径 clean_lib <- "C:/R/clean_library" dir.create(clean_lib, showWarnings = FALSE) .libPaths(clean_lib) # 在新环境重新安装 BiocManager::install("genefilter", lib = clean_lib, version = "3.14") ``` 2. **镜像访问问题**: ```r # 备用镜像列表 mirrors <- c( "https://mirrors.tuna.tsinghua.edu.cn/CRAN/", "https://mirror.lzu.edu.cn/CRAN/", "https://mirrors.bfsu.edu.cn/CRAN/" ) # 自动选择可用镜像 for(mirror in mirrors) { tryCatch({ options(repos = c(CRAN = mirror)) install.packages("BiocManager") break }, error = function(e) message("镜像 ", mirror, " 不可用")) } ``` #### 版本兼容性参考表 | 组件 | 要求版本 | 验证命令 | |---------------|--------------|------------------------| | R | 4.1.2 | `R.version.string` | | Bioconductor | 3.14 | `BiocManager::version()`| | genefilter | 1.76.0 | `packageVersion()` | | sva | 3.42.0 | `packageVersion()` | > **关键提示**:安装前务必执行`sessionInfo()`检查当前环境,避免版本冲突[^1]。如果遇到"C++编译错误",需安装Rtools 4.0(与R 4.1.x兼容)[^2]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值