注意!哪吒v1已经发布,本篇教程已经失效。
哪吒面板可以快速的监控服务器性能占用、网络消耗等情况,同时可以方便的在浏览器上进行远程 SSH 连接。哪吒客户端支持所有Linux发行版、Windows、macOS、甚至是Android手机。搭建一个哪吒面板服务器,需要一台至少 256MB 内存、2GB 硬盘的任意 Linux 发行版服务器,最好要有一个域名 (子域名也可以)。这里我选择使用 Debian 12 系统,Debian 12 相较于其他发行版更加稳定,资源占用更低。
1. 创建 OAuth
哪吒面板需要 OAuth 进行登录来管理后台。OAuth 提供商有很多,这里以 GitHub 为例子。
- 打开 https://github.com/settings/developers 选择 OAuth Apps>New OAuth App。Application name填写 OAuth App 名称、Homepage URL填写面板域名、Authorization callback URL填写回调地址
关于回调地址: 哪吒面板的回调地址是
/oauth2/callback
,假如你的哪吒面板域名是 nezha.example.org 那么 Authorization callback URL 应当填写https://nezha.example.org/oauth2/callback
。
- 复制 Client ID 备用,并新建一个 Client Secret,复制密钥备用。
2. 安装哪吒面板
使用 sudo -i
切换到 root 账户,在终端内输入以下指令来安装哪吒面板:
apt update && apt install curl ca-certificates && curl -L https://raw.githubusercontent.com/naiba/nezha/master/script/install.sh -o nezha.sh && chmod +x nezha.sh && ./nezha.sh
按照脚本的指引安装哪吒面板本体。此时,你已经可以直接用 IP 访问哪吒了,例如 http://89.213.219.212:8008 ,但这不仅不美观也不方便,需要安装 Nginx 进行反代。
3. 反代
在终端内输入以下指令来安装 Nginx 和一些需要用到的工具:
apt install nginx micro
micro 可以替换为任何喜爱的编辑器。
然后,输入 micro /etc/nginx/sites-available/default
编辑 Nginx 配置文件,并将配置文件替换为以下内容:
server {
listen 80;
#listen [::]:80; # 如果你的服务器支持IPv6,去掉这行注释
server_name stat.lagsn.es; # 修改为你的域名
index index.php index.html index.htm default.php default.htm default.html;
#PROXY-START/
location / {
proxy_pass http://127.0.0.1:8008;
proxy_set_header Host $http_host;
proxy_set_header Upgrade $http_upgrade;
}
location ~ ^/(ws|terminal/.+|file/.+)$ {
proxy_pass http://127.0.0.1:8008;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "Upgrade";
proxy_set_header Host $http_host;
}
#PROXY-END/
保存完毕后,输入 nginx -t
测试配置文件是否正确。如果测试回报通过,则输入 systemctl restart nginx
重新启动 Nginx。此时,你应该可以域名访问哪吒面板了,类似 http://stat.lagsn.es 。
4. 申请 SSL
事实上,Chromium 106 开始,浏览器已不允许访问 http 网站,为了所谓的「安全」。让较新的浏览器支持通过 https 访问你的哪吒面板,还需要申请一个 SSL 证书。
输入以下指令来安装 certbot 和 Nginx 插件:
apt install certbot python3-certbot-nginx -y
然后,输入以下指令申请 SSL:
certbot --nginx -d example.org -m email@example.com --agree-tos --redirect --no-eff-email
注意: 分别将 example.org 和 email@example.com 替换为你的域名和 电子邮箱地址。
certbot 会自动通过 cron 创建一个 job (自动任务)来自动更新 SSL 证书以防掉线。输入 certbot renew --dry-run
测试 cron job 是否正常工作。
5. 完成
完成这一切后,你可以访问你的面板了。需要注意的是,你必须登录到面板后台后在设置内绑定域名或 IP,否则客户端无法正常运行。