設置 bitcoind 在啟動 Ubuntu 17.04 時執行
我創建了一個 bitcoin.service 文件,如下所示:
<https://github.com/bitcoin/bitcoin/blob/master/contrib/init/bitcoind.service>
但是,當我將比特幣核心從原始碼建構為以下內容時,我已經對其進行了修改:
<https://gist.github.com/anonymous/7e1bca97739147d698327d7f3a119992>
它安裝到:
/lib/systemd/系統
顯然在這個版本的 Ubuntu 中它必須存在
它在我執行此命令時執行:
bitcoind -daemon -pid=/home/chris/.bitcoin/bitcoind.pid - conf=/home/chris/.bitcoin/bitcoin.conf -datadir=/home/chris/.bitcoin/ -disablewallet
但是試圖執行:
systemctl start bitcoind
給出這個錯誤
bitcoind.service - Bitcoin's distributed currency daemon Loaded: loaded (/lib/systemd/system/bitcoind.service; enabled; vendor preset: enabled) Active: failed (Result: exit-code) since Sun 2017-10-15 17:27:38 BST; 2s ago Process: 4180 ExecStart=/home/chris/.bitcoin/bitcoind -daemon - pid=/home/chris/.bitcoin/bitcoind.pid - conf=/home/chris/.bitcoin/bitcoin.conf -datadir=/home/chris/.bitcoin/ -disablewallet (code=exited, status=203 Oct 15 17:27:38 chris-GE60-2PL systemd[1]: bitcoind.service: Unit entered failed state. Oct 15 17:27:38 chris-GE60-2PL systemd[1]: bitcoind.service: Failed with result 'exit-code'. Oct 15 17:27:38 chris-GE60-2PL systemd[1]: bitcoind.service: Service hold-off time over, scheduling restart. Oct 15 17:27:38 chris-GE60-2PL systemd[1]: Stopped Bitcoin's distributed currency daemon. Oct 15 17:27:38 chris-GE60-2PL systemd[1]: bitcoind.service: Start request repeated too quickly. Oct 15 17:27:38 chris-GE60-2PL systemd[1]: Failed to start Bitcoin's distributed currency daemon. Oct 15 17:27:38 chris-GE60-2PL systemd[1]: bitcoind.service: Unit entered failed state. Oct 15 17:27:38 chris-GE60-2PL systemd[1]: bitcoind.service: Failed with result 'exit-code'.
有誰知道我在這裡做錯了什麼?
我碰巧遇到了這個,我不知道你是否有這個工作。嘗試在
bitcoind.service
文件中為該ExecStart
行使用正確的執行檔(您的要點的 11)。我的 bitcoind 安裝在/usr/bin/bitcoind
.我還用一個例子評論了你上面的要點。
它在我執行此命令時執行:
bitcoind -daemon -pid=/home/chris/.bitcoin/bitcoind.pid - conf=/home/chris/.bitcoin/bitcoin.conf -datadir=/home/chris/.bitcoin/ -disablewallet
當您執行該命令時,您在伺服器中的哪個位置?在您的主文件夾的基本級別?您的服務文件
ExecStart=
必須指向相同的位置,並且目前它bitcoind
在/home/chris/.bitcoin/
. 您確定在您的主文件夾bitcoind
的目錄中嗎?.bitcoin
作為旁注,這是二進製文件的奇怪位置。考慮將
bitcoind
和bitcoin-cli
放在/usr/local/bin/
. 這樣您就可以從伺服器中的任何位置執行它,而無需指定路徑。但是對於服務文件,您應該指定完整路徑,例如ExecStart=/usr/local/bin/bitcoind -daemon -pid=/home/chris/.bitcoin/bitcoind.pid \ -conf=/home/chris/.bitcoin/bitcoin.conf -datadir=/home/chris/.bitcoin/ -disablewallet
您還應該考慮更改 PID 文件的位置,您也可以省略
-datadir=/home/chris/.bitcoin/
,因為bitcoind
預設情況下會在該位置查找數據目錄,因為該服務是由使用者“克里斯”啟動的。這些建議取自您在文章中連結的官方比特幣模板。例如
sudo systemctl daemon-reload
,在對 systemd 服務文件進行更改之後,不要忘記這樣做。sudo systemctl restart <service-name.service>