本着节约为本的原则,利用一切可利用资源,从而实现利润最大化,特写此教程。由于firejail本身资源占用比极低(对比docker),故通过firejail沙盒环境隔离,可以在资源很低的情况下实现一机多开。以下以在ubuntu上多开cysic 进行举例
思考自己需要开多少个程序,假设是3
准备好自己的cysic的程序及配置文件
sudo apt install firejail -y
mkdir ~/firejail_env1 ~/firejail_env2 ~/firejail_env3
cp -rf ~/cysic-verifier ~/firejail_env1/
cp -rf ~/cysic-verifier ~/firejail_env2/
cp -rf ~/cysic-verifier ~/firejail_env3/
#用vim或者nano 打开文件,修改配置中的claim_reward_address
nano ~/firejail_env1/cysic-verifier/config.yaml
#检查启动是否正常,是否有报错
firejail --private=~/firejail_env1 bash -c "cd cysic-verifier && ./start.sh"
#如果之前没安装pm2,执行如下命令进行安装(已安装忽略)
sudo apt install npm -y
sudo npm install pm2 -g
# pm2启动cysic1
pm2 start 'firejail --private=~/firejail_env1 bash -c "cd cysic-verifier && ./start.sh"' --name "cysic1"
# pm2启动cysic2
pm2 start 'firejail --private=~/firejail_env2 bash -c "cd cysic-verifier && ./start.sh"' --name "cysic2"
# pm2启动cysic3
pm2 start 'firejail --private=~/firejail_env3 bash -c "cd cysic-verifier && ./start.sh"' --name "cysic3"
# 查看列表
pm2 ls

# 查看cysic日志
pm2 logs cysic1
pm2 logs cysic2
pm2 logs cysic3

由于firejail 执行命令时设定了firejail_env1当作沙盒的私有文件根目录,故在隔离环境中写入到~/下的任何数据,包括key、param都会在firejail_env1下。如果需要替换key,直接替换此目录下的key即可


