前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >ignite:一个漂亮的多用户SS/SSR面板

ignite:一个漂亮的多用户SS/SSR面板

作者头像
砸漏
发布2020-10-16 10:20:05
2.4K0
发布2020-10-16 10:20:05
举报
文章被收录于专栏:恩蓝脚本

这个面板是基于Docker的,SS/SSR服务都是用Docker的方式去跑。前端很漂亮,但目前只支持单节点,有点鸡肋。适合开给朋友用或者自用。嫌麻烦可以用官方的Docker方式部署,我这边是手动部署,只要还有一口气,我就要折腾。。。

代码语言:javascript
复制
yum -y install wget curl nano sudo
yum -y groupinstall "Development Tools"

关防火墙:

代码语言:javascript
复制
systemctl stop firewalld
systemctl disable firewalld

安装Docker

代码语言:javascript
复制
curl -sSL https://get.docker.com/ | sh

将当前用户加到docker的组里面:

代码语言:javascript
复制
usermod -aG docker root

启动Docker:

代码语言:javascript
复制
systemctl start docker
systemctl enable docker

安装Nodejs

代码语言:javascript
复制
curl --silent --location https://rpm.nodesource.com/setup_8.x | sudo bash -
yum -y install nodejs

安装Yarn:

代码语言:javascript
复制
curl --silent --location https://dl.yarnpkg.com/rpm/yarn.repo | sudo tee /etc/yum.repos.d/yarn.repo
yum -y install yarn

安装GO环境:

代码语言:javascript
复制
wget https://dl.google.com/go/go1.11.4.linux-amd64.tar.gz
tar -xzvf go1.11.4.linux-amd64.tar.gz -C /usr/bin

把Go的PATH写到账户配置文件:

代码语言:javascript
复制
echo "export PATH=$PATH:/usr/bin/go/bin"    ~/.bash_profile
source ~/.bash_profile

构建ignite和ignite-admin:

代码语言:javascript
复制
cd /opt
mkdir -p /opt/ignite && export GOPATH=$PWD/ignite
go get github.com/go-ignite/ignite
mkdir -p /opt/ignite-admin && export GOPATH=$PWD/ignite-admin
go get github.com/go-ignite/ignite-admin

项目的所有文件下载下来并把之前构建好的二进制文件移动项目目录内:

代码语言:javascript
复制
wget https://github.com/go-ignite/ignite/archive/V1.4.tar.gz
wget https://github.com/go-ignite/ignite-admin/archive/V1.5.tar.gz
tar -xzvf V1.4.tar.gz
tar -xzvf V1.5.tar.gz
mv /opt/ignite/bin/ignite /opt/ignite-1.4
mv /opt/ignite-admin/bin/ignite-admin /opt/ignite-admin-1.5
rm -rf ignite && rm -rf ignite-admin && rm -rf V1.4.tar.gz && rm -rf V1.5.tar.gz
mv ignite-1.4 ignite && mv ignite-admin-1.5 ignite-admin

新建一个数据库存放目录,这边我是直接使用SQLite

代码语言:javascript
复制
mkdir ignite/data

构建ignite-admin的前端资源

代码语言:javascript
复制
cd ignite-admin/fe
yarn install
yarn build

复制一份ignite以及ignite-admin的配置文件:

代码语言:javascript
复制
cp /opt/ignite/conf/config-temp.toml /opt/ignite/conf/config.toml
cp /opt/ignite-admin/conf/config-temp.toml /opt/ignite-admin/conf/config.toml

编辑ignite的配置文件:

代码语言:javascript
复制
nano /opt/ignite/conf/config.toml

我的配置如下:

代码语言:javascript
复制
[app]
address = ":5000"

[db]
#driver = "mysql"
#connect = "root:@tcp(localhost:3306)/ignite?charset=utf8"
driver = "sqlite3"
connect = "./data/ignite.db"

[host]
address = "服务器公网IP地址"
from = 50000
to = 65535

编辑ignite-admin的配置文件:

代码语言:javascript
复制
nano /opt/ignite-admin/conf/config.toml

我的配置如下:

代码语言:javascript
复制
[app]
address = ":8000"

[db]
#driver = "mysql"
#connect = "root:@tcp(localhost:3306)/ignite?charset=utf8"
driver = "sqlite3"
connect = "../ignite/data/ignite.db"

[auth]
username = "imlala"
password = "管理员密码"
secret = "随便填"

复制systemd配置文件:

代码语言:javascript
复制
cp /opt/ignite/daemon/ignite.service /etc/systemd/system/ignite.service
cp /opt/ignite-admin/daemon/ignite-admin.service /etc/systemd/system/ignite-admin.service

编辑ignite的systemd配置文件:

代码语言:javascript
复制
nano /etc/systemd/system/ignite.service

修改为:

代码语言:javascript
复制
[Unit]
Description=ignite service
After=network.target

[Service]
WorkingDirectory=/opt/ignite
ExecStart=/opt/ignite/ignite
User=root  
Restart=always
KillMode=process
RestartSec=2s

[Install]
WantedBy=multi-user.target

编辑ignite的systemd配置文件:

代码语言:javascript
复制
nano /etc/systemd/system/ignite-admin.service

修改为:

代码语言:javascript
复制
[Unit]
Description=ignite-admin service
After=network.target

[Service]
WorkingDirectory=/opt/ignite-admin
ExecStart=/opt/ignite-admin/ignite-admin
User=root
Restart=always
KillMode=process
RestartSec=2s

[Install]
WantedBy=multi-user.target

启动服务:

代码语言:javascript
复制
systemctl start ignite
systemctl enable ignite
systemctl start ignite-admin
systemctl enable ignite-admin

访问前端地址:IP+端口5000 访问管理员后台:IP+端口8000

我在开通服务的时候会提示失败,解决办法如下:

首先停止systemd运行,然后直接./ignite运行,看一下报错的日志,提示如下:

字面意思是说我们创建的容器已经存在了,无法再创建,但是明明没有容器创建成功啊,我是第一次创建。那就看看:

代码语言:javascript
复制
docker ps -a

看到有一个容器没有启动成功,那么我们删除这个容器:

代码语言:javascript
复制
docker rm 容器ID

接着再在前端创建一个服务看看,这次报了一个很眼熟的错误:

这个应该是Docker在CentOS7上的一个BUG,我以前遇到过很多次,解决很简单,只要重启一下Docker的服务就好了。所以重复之前的步骤,最后重启Docker即可:

代码语言:javascript
复制
docker ps -a
docker rm 容器ID
systemctl restart docker

首页:

用户页:

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2019-04-13 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
容器镜像服务
容器镜像服务(Tencent Container Registry,TCR)为您提供安全独享、高性能的容器镜像托管分发服务。您可同时在全球多个地域创建独享实例,以实现容器镜像的就近拉取,降低拉取时间,节约带宽成本。TCR 提供细颗粒度的权限管理及访问控制,保障您的数据安全。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档