以太坊作为全球领先的智能合约平台和去中心化应用(DApps)的底层基础设施,其节点网络是整个生态系统的基石,运行一个以太坊节点,无论是作为开发者、DApp用户,还是区块链爱好者,都能让你更深入地参与到这个去中心化的网络中,享受数据自主、隐私保护的便利,而将节点部署在云服务器上,相较于本地部署,具有更高的稳定性、可访问性和扩展性,本文将详细介绍如何在云服务器上部署一个以太坊节点,从准备工作到运行维护,带你一步步搭建属于你的以太坊门户。
为何选择云服务器部署以太坊节点?

在开始之前,我们首先需要明确为何选择云服务器而非本地硬件来部署以太坊节点:
部署前的准备工作
选择云服务商与服务器配置:
创建与连接服务器:
ssh username@server_ip)连接到你的云服务器。更新系统与安装必要工具:

sudo apt update && sudo apt upgrade -y sudo apt install -y software-properties-common curl git build-essential
选择并安装以太坊客户端软件
以太坊网络由执行层(Execution Layer,原ETH1)和共识层(Consensus Layer,原ETH2)组成,你需要分别安装对应的客户端。
执行层客户端:
# 官方推荐方式安装(以最新版本为例,请查阅Geth官方文档获取最新安装命令) sudo add-apt-repository -y ppa:ethereum/ethereum sudo apt update sudo apt install -y geth
geth version
共识层客户端:
常用选择:Prysm(Go语言实现,用户最多)、Lodestar(Node.js/TypeScript实现)、Lodestar(Python语言实现,轻量级)。

以安装Prysm为例:
# 安装Go(如果尚未安装,Prysm需要Go环境) wget https://go.dev/dl/go1.21.0.linux-amd64.tar.gz sudo tar -C /usr/local -xzf go1.21.0.linux-amd64.tar.gz echo 'export PATH=$PATH:/usr/local/go/bin' >> ~/.bashrc source ~/.bashrc go version # 克隆Prysm仓库 git clone https://github.com/prysmaticlabs/prysm.git cd prysm # 编译Prysm make install
验证安装:
prysmctl version
启动并同步以太坊节点
启动执行层节点(Geth):
geth --http --http.addr "0.0.0.0" --http.port "8545" --http.api "eth,net,web3,personal" --syncmode "full" --gcmode "full" --datadir "/path/to/your/geth/data"
--http 和 --http.addr、--http.port:启用HTTP API服务,方便DApp连接。--http.api:指定开放的API接口。--syncmode "full":全同步模式。--gcmode "full":保留所有状态数据。--datadir:指定数据存储目录,确保你有足够的空间。geth --http --http.addr "0.0.0.0" --http.port "8545" --http.api "eth,net,web3,personal" --syncmode "snap" --gcmode "full" --datadir "/path/to/your/geth/data"
启动共识层节点(Prysm):
# 启动Beacon节点 prysm-beacon-chain --datadir "/path/to/your/prysm/data" --http-web3provider "http://localhost:8545" --genesis-state-url https://github.com/eth-educators/eth2.0-deposit-cli/raw/master/example-genesis-state/genesis.ssz --p2p-host-ip your_server_ip
--datadir:Prysm数据目录。--http-web3provider:指向执行层节点(Geth)的HTTP API。--genesis-state-url:创世状态文件URL。--p2p-host-ip:服务器公网IP。prysm-validator命令和钱包。后台运行与日志管理:
nohup或tmux/screen工具在后台运行。nohup示例:nohup geth --http --http.addr "0.0.0.0" --http.port "8545" --http.api "eth,net,web3,person