如何为本地Plumber服务器分配固定端口?
解决Plumber服务器固定端口问题
你遇到的错误是因为把全局服务器配置的@options(plumber.port = 5555)放在了路由注释块里,Plumber将其识别为路由级配置,而plumber.port是全局服务器参数,因此报错。以下是两种正确的固定端口方法:
方法1:启动时直接指定端口(推荐)
修改启动Plumber的代码,在run()函数中明确指定端口:
library(plumber) # 加载你的Plumber脚本 pr <- plumb("plumber.R") # 指定固定端口5555启动 pr$run(port = 5555)
方法2:使用全局@options注释
在plumber.R文件的路由代码之外,添加独立的全局配置注释块,不要和任何路由的注释混在一起:
#plumber.R library(plumber) #* @options plumber.port=5555 #* @get /random_numbers #* @param maxn function(maxn) { maxn<-as.numeric(maxn) runif(1,min=0,max=maxn) } #* @post /operation #* @param numbers vector of numbers #* @param metric function(numbers, metric) { if(metric == 'mean') mean(numbers) else if(metric == 'sd') sd(numbers) else if(metric == 'min') min(numbers) else if(metric == 'max') max(numbers) else "Wrong metric! use mean, sd, min or max" }
注意事项
plumber.port只需填写端口数字,默认绑定本地127.0.0.1;如果需要指定绑定的IP地址,可以添加plumber.host参数,例如#* @options plumber.host="127.0.0.1" plumber.port=5555。- 全局
@options注释必须单独成块,不能与任何路由的@get/@post等注释放在同一组。
内容的提问来源于stack exchange,提问作者user2165379
相关产品推荐
相关产品推荐

