前言

大家好,在最近的折腾过程中遇到很多问题,例如我的服务器是debian系统,搜索到的资料中,大多数的教程用的是centos系统,两者最明显的区别就是包管理的工具是不一样的(对于小白来说,这个差异就够呛了),debian用的是apt,centos用的是yum。期间当然还有很多技术上的问题,每次都只能搜索,然后去尝试,昨天偶然找到为开发人员分享快速参考备忘录reference(git官网中文版本),里面有很多的技术资料,简直是小白的福音。我的备忘录传送门

环境准备

拥有一枚域名
有服务器的SSH访问权限
已安装Docker 和 Docker Compose,如果未安装,可以参考(这篇文章)

部署步骤

远程登录服务器

打开终端输入以下命令,替换 usernameip 为你的服务器用户名和 IP 地址:

1
ssh username@ip

创建项目目录

创建一个目录用来存放docker-compose文件,例如/home/data/docker_data/reference

1
mkdir -p /home/data/docker_data/reference

进入这个目录

1
cd /home/data/docker_data/reference

在该目录下创建一个docker-compose.yml文件

1
vim docker-compose.yml

配置docker compose

docker-compose.yml的内容可以到docker hub找你想用的镜像,里面一般有使用方法

1
2
3
4
5
6
7
8
version: '3.9'
services:
reference:
image: wcjiang/reference:latest
ports:
- '9667:3000'
restart: always
container_name: reference

查看9667端口是否被占用,没有返回信息就表示没有占用

1
lsof -i:9667  #查看8089端口是否被占用,如果被占用,重新自定义一个端口

如果出现以下提示,表示lsof没有安装

1
-bash: lsof: command not found

运行指令安装lsof

1
apt install lsof  #安装lsof

使用 Docker Compose 启动服务

在/home/data/docker_data/reference目录执行一下命令

1
docker-compose up -d

-d 标志意味着“detached”,运行容器在后台

检查服务状态

使用 Docker Compose 来检查服务的状态:

1
docker-compose ps

查看日志

如果需要,可以查看服务的日志来确保一切正常运行:

1
docker-compose logs

打开reference

在浏览器输入ip:9667并回车,打开reference,如果打不开,请确保服务器是否已放开对应端口,如本篇文章中用的9667
image

添加反向代理

每次通过ip来打开网站太不方便了,给这个网站添加一个域名就更安全方便了。
在添加反向代理之前,确保你已经完成了域名解析

先回到根目录

1
cd

然后切换到nginx的文件夹下

1
cd /etc/nginx/

新建一个vhost文件夹

里面存放各种需要代理的实例(不一定要用这个方法,可以参考我之前的文章在mac上将hexo部署到阿里云debian12服务器上,里面有其他选择)

1
mkdir vhost && cd vhost

编辑nginx配置文件

1
vim reference.conf

输入配置内容

把yourdomin.com和9667分别换成你的域名和端口

1
2
3
4
5
6
7
8
9
10
11
12
server {
listen 80;
server_name yourdomin.com;

location / {
proxy_pass http://localhost:9667; # 确保端口与 Docker Compose 映射的端口相匹配
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
}
}

通过域名打开reference

在浏览器输入domin.com并回车,打开reference,如果无法打开欢迎留言,共同交流!