盒子系列教程,演示1Panel部署以及简单使用(以Netcup服务器为例)。
引言——1Panel简介
1Panel 是一个现代化、开源的 Linux 服务器运维管理面板。
简单来说,就是一个图形化的服务器管理工具,可以通过浏览器使用,可以大幅降低服务器的操作难度。
官网地址:https://1panel.cn/
Github 地址:https://github.com/1Panel-dev/1Panel
本文针对常用功能给出示例,如需进阶使用/设置,请参考官方文档。
特别说明: 根据社区反馈,V2版本仍不够稳定。本文演示安装 V1,二者功能差异不大,但 V1 胜在更稳定,推荐普通用户使用。
准备事项
服务器
官方建议内存 ≥ 1GB(实测至少需要≥512MB,否则极易报错 )
推荐使用Debian系统(Debian11/12/13皆可),本文也以 Netcup 服务器运行 Debian 12为例进行演示
Netcup服务器相关,参考:Netcup服务器购买示例稳定的网络环境和浏览器
推荐使用 Chrome/Edge 浏览器SSH终端软件
本文使用Termius域名
非必须,如果希望加密访问(HTTPS)或使用反向代理则为必选项
部署演示
安装命令参考官方文档,根据使用的系统选择对应命令:1Panel安装部署
复制到SSH中粘贴回车,如果提示curl未安装/curl命令未找到,就安装下curl,然后再重新执行上一条
sudo apt install curl -y
稍等下载好安装包后会询问选择语言,输入数字2后回车
然后会询问安装目录,直接回车即可
接下来会自动安装Docker,自动选择软件源等,也会输出一些安装信息,稍等即可,完成后会让选择面板端口,直接回车使用默认即可
然后设置安全入口,建议直接回车使用默认,同样的,面板用户和密码可以默认
等待自动安装,安装后会再次输出安装信息,记得保存账号密码以及安全入口
如果安装过程中出现error提示,很可能是内存不足,可以尝试增加swap后重新安装
访问面板
根据提示信息在浏览器中访问对应地址(如需加密访问可以使用SSH隧道进行端口映射,后续再部署TSL证书,该部分在下文“面板配置”中的“配置面板证书(HTTPS)”中展开,这里不多赘述)
注意:如果你的服务商有额外的防火墙(例如阿里云/腾讯云),记得在厂商后台放开1Panel对应的端口,例如这里是39193/TCP连接,Netcup防火墙无需额外处理。
输入账号密码登陆,进入面板
通常Edge会询问是否保存密码,建议选择保存以使用自动填充
到这里,面板的部署环节已经全部完成。
面板配置
修改密码(可选)
面板设置 -> 面板 -> 修改密码
这里只是介绍如何修改,并不是必要的,实际使用默认密码已足够安全,如无必要请勿修改
重设安全入口
面板设置 -> 安全 -> 设置面板端口和安全入口
同样,这里也只是介绍如何修改,如无必要请勿修改
如果只是忘记了安全入口,可在SSH中使用命令查看
1pctl user-info
配置面板证书(HTTPS)
该章节内容为可选执行,如无较高安全性要求,使用HTTP访问无伤大雅
申请证书
如需申请证书,进入网站 -> 证书 -> 面板配置
HTTP解析模式无需配置DNS账户
DNS模式需配置账户API Key,这里以Cloudflare为例
Acme账户配置
开始申请
可以申请泛域名证书,例如 *.mfmao.de,可以覆盖blog.mfmao.de
通过面板申请的证书有自动续签功能,无需手动续期
部署证书到面板
面板设置 -> 安全 -> 面板SSL
选择“已有证书”,下拉列表中选择对应证书,确认保存
注意:需保证域名已经在域名服务商处设置了DNS解析,解析到服务器对应IP地址才能正确访问,例如演示中 *.mfmao.de已在Cloudflare解析到服务器IP,此时访问https://1panel.mfmao.de:39193/2f759cee03 可以进入面板,并且是https的加密连接
面板使用
即将演示的面板主要功能有以下几项,并且Docker管理将会与网站部署联动,演示使用域名访问容器,而不局限于IP:端口的形式
文件管理
Docker管理
网站部署/管理
其他功能
文件管理
位于系统 -> 文件
可以创建/修改文件夹、文件以及修改权限等,不多赘述
Docker管理
最重要的功能,集成了Compose、网络、镜像管理等功能
1Panel对于容器Compose的管理非常友好,凡是Docker部署,都建议使用Compose,也就是这里的“编排”功能
部署演示
这里演示部署一个Speedtest,并在下一小节“网站部署”中演示如何配置使用域名访问该容器
1.配置一个自定义的bridge网络以保证容器IP固定
在SSH中设置一个Docker网络命名为mynet,使用172.20.0.1/16网段,网关为172.20.0.1(需保证172.20网段未被使用)
sudo docker network create \
--driver bridge \
--subnet 172.20.0.0/16 \
--gateway 172.20.0.1 \
mynet
2.使用Docker Compose(编排)部署容器
使用Compose部署容器可以方便重建以及更新
(如果有域名,那么建议使用bridge部署Docker不要映射端口到主机,使用Openresty反向代理通过域名访问即可)
在下一小节中,OpenResty设置speedtest.mfmao.de反代容器的IP:80(演示中为172.20.0.15:80),这样访问域名speedtest.mfmao.de即可打开Speedtest,而不必容器映射80端口到主机,且此时容器只能从域名访问,提供了较高安全性。
Compose.yaml示例内容为:
services:
speedtest:
image: badapple9/speedtest-x:latest
container_name: speedtest-x
restart: unless-stopped
networks:
mynet:
ipv4_address: 172.20.0.15
networks:
mynet:
external: true
3.部署Compose
确认后会有日志输出,显示是否成功
4.返回“容器”菜单可以看到Docker运行状态
网站部署/管理
安装OpenResty
相当于Nginx的增强版,进入应用商店第一个就是,点击安装
会出现一个配置面板,通常默认即可,直接安装
如果你的80/443端口被占用,需另行调整,通常新安装的服务器无此问题
安装后“网站”功能将变得可用
部署网站
以反代1Panel面板为例,假设域名为speedtest.mfmao.de,已经申请好了*.mfmao.de的证书,上一小节“Docker管理”中已经部署的Speedtest容器端口为80,IP为172.20.0.15
部署后配置HTTPS
进入配置
启用HTTPS,选择对应Acme账户后再选择已经申请好的证书
完成后即可使用https加密访问,例如此时访问 https://speedtest.mfmao.de可以打开Speedtest页面。
部署静态网站或其他运行环境流程大致相同,如需使用自行配置。
其他功能
防火墙安装参考:https://1panel.cn/docs/v1/user_manual/hosts/firewall/#__tabbed_1_2
Fail2ban安装参考:https://1panel.cn/docs/v1/user_manual/toolbox/fail2ban/#__tabbed_1_2
相关说明
本文中的示例实际使用了多台服务器,并不限于Netcup服务器,但安装的系统仍然相同,无实质区别,不影响流程