一、加SWAP(新手忽略)
注意:此步骤新手可直接跳过,直接进行第二步
若服务器内存 ≤ 1G 可添加 swap虚拟内存,一般为内存的 1-2 倍即可
设置 SWAP 可以用脚本:
wget -O box.sh https://raw.githubusercontent.com/BlueSkyXN/SKY-BOX/main/box.sh && chmod +x box.sh && clear && ./box.sh
填写18后,选择1,填写2048或者1024,然后回车
二、更新工具
2.1、切换到 root 用户
sudo -i
2.2、升级 packages
apt update -y
2.3、安装常用的工具
apt install wget curl sudo vim git -y
三、安装 Docker 环境(非大陆)
此步为非大陆vps安装docker的步骤,
大陆服务器的 三、四 步骤请划至最下面 1.7、补充
3.1、安装
wget -qO- get.docker.com | bash
3.2、查看 docker 版本
docker -v
3.3、设置开机自动启动
systemctl enable docker
四、安装 Docker-compose(非大陆)
4.1、安装 compose 插件
apt install docker-compose-plugin -y
4.2、查看版本
docker compose version #查看 docker compose 版本
4.3、修改 Docker 配置(可选,新手忽略并跳过此步)
增加一段自定义内网 IPv6 地址,开启容器的 IPv6 功能,以及限制日志文件大小,防止 Docker 日志塞满硬盘
cat > /etc/docker/daemon.json <<EOF
{
"log-driver": "json-file",
"log-opts": {
"max-size": "20m",
"max-file": "3"
},
"ipv6": true,
"fixed-cidr-v6": "fd00:dead:beef:c0::/80",
"experimental":true,
"ip6tables":true
}
EOF
4.4、重启docker
systemctl restart docker
五、安装 Nginx Proxy Manager
注:不需要域名访问功能可跳过
第五步、安装 Nginx Proxy Manager,直接前往第六步、安装项目(以halo博客网站为例)
5.1、创建文件夹目录
mkdir -p /root/data/docker_data/npm
5.2、进入文件夹
cd /root/data/docker_data/npm
5.3、配置
nano docker-compose.yml
5.4、nano输入:
services:
app:
image: jc21/nginx-proxy-manager:2.11.3 #如需升级,请手动修改版本号并重新 docker compose pull
restart: unless-stopped
ports:
- '80:80' # 保持默认即可,不建议修改左侧的80
- '81:81' # 冒号左边可以改成自己服务器未被占用的端口
- '443:443' # 保持默认即可,不建议修改左侧的443
volumes:
- ./data:/data # 冒号左边可以改路径,现在是表示把数据存放在在当前文件夹下的 data 文件夹中
- ./letsencrypt:/etc/letsencrypt # 冒号左边可以改路径,现在是表示把数据存放在在当前文件夹下的 letsencrypt 文件夹中
💡 Nano 编辑器小贴士:
- 粘贴内容: 在终端点击鼠标右键,或使用快捷键
Shift + Insert。- 保存修改: 按
Ctrl + O,然后按Enter确认文件名。- 退出编辑器: 按
Ctrl + X。- 注意: 如果你对文件做了改动,退出时会询问是否保存,输入
y(Yes) 即可。
5.5、配置启动
docker compose up -d
5.6、浏览器访问
此时我们就可以通过浏览器 http://改为你的vps的ip:81 访问 NPM 面板了
默认Email: admin@example.com #记得改
默认Password: changeme #记得改
⚠️ 补充:生产环境建议不要长期对公网暴露 81 管理端口,域名配置完成后可关闭,可将'81:81'改为'127.0.0.1:81:81',后续访问NPM可通过走 SSH 隧道:ssh -L 81:127.0.0.1:81 root@你的VPS_IP,然后再浏览器http://localhost:81 。后文中halo端口ports: - "8090:8090"同样
六、安装项目(以halo为例)
如果小伙伴是需要安装其他项目如memos,wordpress,Reubah等,主页搜素对应文章关键词
前3步骤 创建、进入、配置类似,第3步骤根据自己所建项目修改配置
6.1、创建
mkdir -p /root/data/docker_data/halo
6.2、进入
cd /root/data/docker_data/halo
6.3、配置
nano docker-compose.yml
6.4、nano输入:
services:
halo:
image: halohub/halo:2.22.13
container_name: halo
restart: on-failure:3
depends_on:
halodb:
condition: service_healthy
networks:
halo_network:
volumes:
- ./:/root/.halo2
ports:
- "8090:8090"
command:
- --spring.r2dbc.url=r2dbc:pool:mysql://halodb:3306/halo
- --spring.r2dbc.username=root
# MySQL的密码记得修改,并且与下方 MYSQL_ROOT_PASSWORD 的变量值一致。
- --spring.r2dbc.password=123changword1
- --spring.sql.init.platform=mysql
# 外部访问地址,请根据实际需要修改
- --halo.external-url=http://localhost:8090/
# 初始化的超级管理员用户名,可改
- --halo.security.initializer.superadminusername=123changename
# 初始化的超级管理员密码,可改
- --halo.security.initializer.superadminpassword=123changword2
halodb:
image: mysql:8.0.36
container_name: halodb
restart: on-failure:3
networks:
halo_network:
command:
- --default-authentication-plugin=mysql_native_password
- --character-set-server=utf8mb4
- --collation-server=utf8mb4_general_ci
- --explicit_defaults_for_timestamp=true
volumes:
- ./mysql:/var/lib/mysql
- ./mysqlBackup:/data/mysqlBackup
healthcheck:
test: ["CMD", "mysqladmin", "ping", "-h", "127.0.0.1", "--silent"]
interval: 3s
retries: 5
start_period: 30s
environment:
# 请修改此密码,并对应修改上方 Halo 服务的 SPRING_R2DBC_PASSWORD 变量值
- MYSQL_ROOT_PASSWORD=123changword1
- MYSQL_DATABASE=halo
networks:
halo_network:
6.5、配置启动
docker compose up -d
7、补充:大陆服务器
大陆服务器1.3,1.4步骤不一样,且要多一步 开通防火墙,国内大厂阿里云,腾讯云等等都自带防火墙
一、打开提供商控制台
二、找到防火墙设置
必须开放端口:
80
443
81(如未关闭)
8090(如直接访问)
三、安装 Docker 环境(大陆服务器)
3.1、安装脚本
bash <(curl -sSL https://linuxmirrors.cn/docker.sh)
3.2、设置开机启动
systemctl enable docker
四、安装 Docker-compose大陆服务器)
apt install docker-compose-plugin -y
五、安装 Nginx Proxy Manager
回到总文章上面的 第五步 即可(大陆/非大陆后续步骤一样)
评论区