Fatal: Failed to start the JavaScript console: api modules: Post “http://localhost:8545“: dial tcp 1

原因是我在启动geth时,多加了一个console

正确的命令应该是:

nohup geth --datadir node1/ --networkid 1009 --http --http.addr 127.0.0.1 --http.port 8545 --http.api db,net,eth,web3,miner,personal,admin --http.corsdomain "*" --nodiscover 2>1.log &

里面没有console。

另外,要关闭防火墙。

systemctl stop firewalld

验证防火墙是否关闭

查看防火状态

systemctl status firewalld

启动geth后,查看geth进程是否运行

ps aux|grep geth

如果看到有geth进程,说明启动节点了。

再输入命令,进入控制台

geth attach http://localhost:8545

### 连接本地 API 端点时的 'Connection Refused' 错误分析 当尝试连接 `http://localhost:8080/depts` 并收到 `'connection refused'` 的错误时,通常意味着客户端无法成功建立与目标服务器之间的 TCP 连接。以下是可能的原因及其对应的排查方法: #### 1. **服务未启动** 如果运行的服务并未监听指定的端口(如 8080),则会触发此错误。可以通过以下命令确认是否有进程正在监听该端口: ```bash netstat -tuln | grep 8080 ``` 如果没有找到任何匹配项,则表明服务尚未启动或配置有误。 #### 2. **绑定地址不正确** 某些情况下,应用程序可能会被配置为仅绑定到特定 IP 地址而非通用的 `localhost` 或 `0.0.0.0`。可以检查程序的日志或者其配置文件来验证它是否绑定了正确的接口。例如,在 Go 中创建 HTTP 服务器时,代码应类似于下面这样[^3]: ```go package main import ( "fmt" "log" "net/http" ) func handler(w http.ResponseWriter, r *http.Request) { fmt.Fprintf(w, "Hello, world!") } func main() { http.HandleFunc("/depts", handler) log.Fatal(http.ListenAndServe(":8080", nil)) } ``` #### 3. **防火墙阻止访问** 即使服务已正常启动并绑定到了预期端口,操作系统级别的防火墙仍有可能拦截外部请求。对于 Linux 用户来说,这可通过查看当前活动规则来进行诊断: ```bash sudo iptables -L -n | grep 8080 ``` 必要时允许流量通过相应端口: ```bash sudo iptables -A INPUT -p tcp --dport 8080 -j ACCEPT ``` #### 4. **网络循环回路问题** 有时由于 DNS 配置不当或其他原因,“localhost” 可能会被解析成非标准环回地址 (比如 IPv6 ::1 而不是 IPv4 127.0.0.1),从而引发兼容性问题。确保 `/etc/hosts` 文件中有如下条目存在可以帮助解决这类情况: ``` 127.0.0.1 localhost ::1 ip6-localhost ip6-loopback ``` #### 使用 curl 测试连通性 为了进一步缩小范围,建议先利用简单的工具像 curl 来测试基本可达性: ```bash curl -v http://localhost:8080/depts ``` 观察返回的结果有助于判断问题是源于客户端还是服务器侧。 --- ###
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值