惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

小众软件
小众软件
C
Check Point Blog
Vercel News
Vercel News
Y
Y Combinator Blog
G
Google Developers Blog
P
Proofpoint News Feed
WordPress大学
WordPress大学
MongoDB | Blog
MongoDB | Blog
博客园 - 司徒正美
Last Week in AI
Last Week in AI
博客园 - 【当耐特】
N
Netflix TechBlog - Medium
L
LangChain Blog
V
V2EX
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
大猫的无限游戏
大猫的无限游戏
D
DataBreaches.Net
博客园_首页
B
Blog RSS Feed
The Cloudflare Blog
MyScale Blog
MyScale Blog
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
Microsoft Security Blog
Microsoft Security Blog

Anyeの小站

PlayGuard,让你的播放器老实点! Peg - 命令行便签 · 把终端输出钉上布告板 2025 年终总结:折腾不止,热情常青 告别公网暴露风险:mTLS助你构建家里云安全边界 🚀 0 代码部署:Halo 博客与企业门户系统 B站跟随系统深色模式脚本——让你的B站体验更丝滑 【1024抽奖】EdgeOne下线源站防护?这个办法更简单! 全新!Edge 还是卸载不掉?来试试这个! 混元模型玩家必看:CNB API 不限量调用! 1Panel 应用商店如何上架应用 Next Terminal 实战:内网无密码安全登录 用了 EdgeOne 降本增效,源站却可能裸奔? 降本增效!上云真香! 在线重装 Proxmox VE SSL证书申请老出问题?这套组合直接帮你搞定! 🌐 森屿云:让数字化转型像呼吸一样自然 1Panel v2 首发体验(alpha) Vscode/Code-Server 安装中文包——CI/CD DockerHub Mirror 终极解决方案——零成本,速度超快! 本地跑不动 QwQ?快用 CNB,免费运行满血 QwQ! Docker Push 巨慢?Skopeo 来拯救 2024 年终总结:与 17170 位读者相遇的旅程 云厂 200Mbps 小鸡,家里云的希望 Halo 插件 thyuu-embed 主题样式注入模板 Windows 11 卸载 Edge 小破站 6 级萌新前来挑战硬核会员,答题分享 手机系统杂谈 1Panel 自建邮局 - Docker Mailserver 1Panel 推送 SSL 证书到阿里云、腾讯云 整了几个简洁的单页,欢迎来扒
如何在OpenEuler中安装1Panel
Anye · 2024-01-29 · via Anyeの小站

前言

OpenEuler 作为面向数字基础设施的开源操作系统,越来越广泛地应用于金融、运营商、能源、物流、高校&科研、云计算等领域,1Panel 是新一代的 Linux 服务器运维管理面板,它们之间会擦出怎样的火花呢?

准备工作

  • OpenEuler 服务器一台;

  • 服务器架构:x86_64、aarch64、armv7l、ppc64le、s390x;

  • 内存要求:建议可用内存在 1GB 以上;

  • 浏览器要求:请使用 Chrome、FireFox、IE10+、Edge等现代浏览器;

  • 可访问互联网。

安装步骤

手动安装 docker

与常规 RedHat / CentOS 发行版不同,docker 官方的一键安装脚本尚且不可以直接在 OpenEuler 服务器中运行,故需要手动安装 docker 。

sudo dnf install docker-engine

安装 1Panel

执行 1panel 官方的一键安装脚本

curl -sSL https://resource.fit2cloud.com/1panel/package/quick_start.sh -o quick_start.sh && sh quick_start.sh

1Panel 中的一些工具

进程守护

  1. 从 pip 安装

pip install supervisor
  1. 创建启动脚本

vi /etc/systemd/system/supervisor.service

填入

[Unit]
Description=Supervisor process control system for UNIX
Documentation=http://supervisord.org
After=network.target

[Service]
ExecStart=/usr/local/bin/supervisord -n -c /etc/supervisor/supervisord.conf
ExecStop=/usr/local/bin/supervisorctl $OPTIONS shutdown
ExecReload=/usr/local/bin/supervisorctl -c /etc/supervisor/supervisord.conf $OPTIONS reload
KillMode=process
Restart=on-failure
RestartSec=50s

[Install]
WantedBy=multi-user.target
  1. 创建必要文件夹

mkdir /etc/supervisor/
mkdir /var/log/supervisor/
  1. 创建基本配置文件

vi /etc/supervisor/supervisord.conf

填入

; supervisor config file
[unix_http_server]
; (the path to the socket file)
file  = /var/run/supervisor.sock
; sockef file mode (default 0700)
chmod = 0700

[supervisord]
; (main log file;default $CWD/supervisord.log)
logfile     = /var/log/supervisor/supervisord.log
; (supervisord pidfile;default supervisord.pid)
pidfile     = /var/run/supervisord.pid
; ('AUTO' child log dir, default $TEMP)
childlogdir = /var/log/supervisor

; the below section must remain in the config file for RPC
; (supervisorctl/web interface) to work, additional interfaces may be
; added by defining them in separate rpcinterface: sections
[rpcinterface:supervisor]
supervisor.rpcinterface_factory = supervisor.rpcinterface:make_main_rpcinterface

[supervisorctl]
; use a unix:// URL  for a unix socket
serverurl = unix:///var/run/supervisor.sock

; The [include] section can just contain the "files" setting.  This
; setting can list multiple files (separated by whitespace or
; newlines).  It can also contain wildcards.  The filenames are
; interpreted as relative to this file.  Included files *cannot*
; include files themselves.
[include]
files  = /opt/1panel/tools/supervisord/supervisor.d/*.ini
;files = /etc/supervisor/conf.d/*.conf
  1. 设置开机自启

systemctl enable supervisor
  1. 在 1Panel 中进行初始化操作。

Fail2ban

  1. 安装 git

dnf install git
  1. 从源码安装

git clone https://github.com/fail2ban/fail2ban.git
cd fail2ban
sudo python setup.py install 
  1. 创建启动脚本

vi /etc/systemd/system/fail2ban.service

输入

[Unit]
Description=Fail2Ban Service
Documentation=man:fail2ban(1)
After=network.target iptables.service firewalld.service ip6tables.service ipset.service nftables.service
PartOf=iptables.service firewalld.service ip6tables.service ipset.service nftables.service

[Service]
User=root
Type=simple
Environment="PYTHONNOUSERSITE=1"
Environment="PYTHONPATH=$PYTHONPATH:/usr/local/lib/python3.9/site-packages"
ExecStartPre=/bin/mkdir -p /run/fail2ban
ExecStart=/usr/local/bin/fail2ban-server -xf start
ExecStop=/usr/local/bin/fail2ban-client stop
ExecReload=/usr/local/bin/fail2ban-client reload
PIDFile=/run/fail2ban/fail2ban.pid
Restart=on-failure
RestartPreventExitStatus=0 255


[Install]
WantedBy=multi-user.target
  1. 在 1Panel 中启动Fail2ban