Ubuntu服务器部署n8n
本文提供了在Ubuntu系统上部署n8n工作流自动化工具的详细步骤。首先完成必要的环境准备,包括更新系统、安装Node.js/npm和Docker环境。然后通过Docker Compose方式部署n8n,配置了基本认证、数据持久化等参数。针对可能出现的Docker镜像下载问题,给出了配置国内镜像源的解决方案。最后介绍了如何通过Nginx反向代理和Let's Encrypt证书配置HTTPS访问,确
·
必要的环境准备
更新Ubuntu的库版本
sudo apt update
sudo apt upgrade -y
安装Node.js和npm:n8n需要Node.js环境来运行。你可以通过以下命令安装Node.js和npm:
sudo apt install curl
curl -sL https://deb.nodesource.com/setup_18.x | sudo -E bash -
sudo apt install nodejs
验证node和npm是否安装成功
node -v
npm -v
安装Docker和Docker Compose
sudo apt install docker.io
sudo apt install docker-compose
验证Docker和Docker Compose是否安装成功:
docker --version
docker-compose --version
部署n8n
在根目录下新建 n8n 目录并且进入到目录
mkdir ~/n8n
cd ~/n8n
在 ~/n8n 目录下创建 docker-compose.yml
touch docker-compose.yml
将下面的内容添加到创建的 docker-compose.yml 中
vim docker-compose.yml
version: '3.8'
services:
n8n:
image: n8nio/n8n:latest
restart: always
ports:
- "5678:5678" # Web 界面端口
volumes:
- n8n_data:/home/node/.n8n # 持久化数据
environment:
- N8N_BASIC_AUTH_ACTIVE=true # 启用基础认证
- N8N_BASIC_AUTH_USER=admin # 登录用户名
- N8N_BASIC_AUTH_PASSWORD=password123 # 登录密码
# - TZ=Asia/Shanghai # 可选时区设置
# - N8N_ENCRYPTION_KEY=your_secure_key # 强烈建议添加加密密钥
networks:
- n8n_network
volumes:
n8n_data: # 命名卷持久化数据
networks:
n8n_network:
启动n8n:在 ~/n8n 目录下运行以下命令启动n8n:
docker-compose up -d
如果你运行上面的命令出现如下图的报错
需要更新 docker 的镜像源为国内的源即可,如下操作
配置 docker 的国内镜像源
sudo tee /etc/docker/daemon.json <<-'EOF'
{
"registry-mirrors": [
"https://dockerproxy.cn",
"https://docker.m.daocloud.io",
"https://docker.nju.edu.cn",
"https://mirror.baidubce.com"
]
}
EOF
然后重启 docker 服务
sudo systemctl restart docker
下面是执行 docker-compose up -d 成功的截图
使用 curl localhost:5678,显示下图证明启动成功
配置 https 解决访问出现如下页面的问题

下载安装 nginx
sudo apt install nginx
打开 nginx 配置文件 添加下面的内容
vim /etc/nginx/nginx.conf
添加如下内容
server {
listen 5678;
server_name http://xxx.xxx.xxx/; # 自己的服务器ip地址或者购买的域名
location / {
proxy_pass http://localhost:5678;
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;
}
}
重启 nginx
nginx -t # 检查 nginx 配置文件是否有错误
显示下图即可证明 nginx 配置文件修改无异常
nginx -s reload
配置免费的 https 证书可以使用我写的下面的这篇文章
火山引擎开发者社区是火山引擎打造的AI技术生态平台,聚焦Agent与大模型开发,提供豆包系列模型(图像/视频/视觉)、智能分析与会话工具,并配套评测集、动手实验室及行业案例库。社区通过技术沙龙、挑战赛等活动促进开发者成长,新用户可领50万Tokens权益,助力构建智能应用。
更多推荐
所有评论(0)