步骤 1:关闭防火墙与 SELINUX(避免端口 / 权限拦截)
# 关闭防火墙并禁用开机自启
systemctl stop firewalld
systemctl disable firewalld
# 临时关闭SELINUX
setenforce 0
# 永久关闭SELINUX(修改配置文件,重启生效,可选但推荐)
sed -i 's/^SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config
步骤 2:安装必要依赖(Nginx+Java+unzip,diagrams.net运行核心)
diagrams.net有两种部署形态:前端静态部署(推荐,轻量) 和 后端服务部署,这里选静态部署 + Nginx 代理,更稳定、易配置中文版。
# 1. 安装EPEL源(CentOS 7必备,获取Nginx包),采用2部署直接下载方式可以不安装epel源
yum install epel-release -y
# 2. 部署nginx
# 进入/tmp目录,方便后续操作
cd /tmp
# 下载Nginx 1.20.1(CentOS 7兼容,稳定版)
wget --no-check-certificate http://nginx.org/packages/centos/7/x86_64/RPMS/nginx-1.20.1-1.el7.ngx.x86_64.rpm
# 用rpm命令本地安装,自动解决依赖
rpm -ivh nginx-1.20.1-1.el7.ngx.x86_64.rpm
# 验证安装成功
nginx -v
#提前编辑好conf配置文件
#只替换原server模块
server {
listen 80;
server_name 192.168.10.213; # 服务器IP,也可配置内网域名
# 字符集配置(避免中文乱码)
charset utf-8;
# 访问日志配置(可选,记录访问记录)
access_log /var/log/nginx/drawio.access.log main;
# 指向diagrams.net静态目录
root /usr/share/nginx/html/drawio;
index index.html index.htm;
# 核心:默认跳转中文版(通过URL参数&lang=zh-CN实现中文)
location / {
# 访问根目录时,自动跳转至index.html并携带中文参数
rewrite ^/$ /index.html?lang=zh-CN permanent;
try_files $uri $uri/ =404;
}
# 防止静态文件缓存导致中文配置不生效(可选)
location ~* \.(html|css|js|png|jpg|gif)$ {
expires -1;
add_header Cache-Control "no-cache, no-store, must-revalidate";
}
}
# 3. 安装Java(可选,若需后端功能,diagrams.net静态部署可省略,这里一并安装备用)
yum install java-1.8.0-openjdk -y
# 4. 安装unzip(解压源码包)
yum install unzip -y
步骤 3:启动 Nginx 并设置开机自启
# 启动Nginx
systemctl start nginx
# 开机自启Nginx
systemctl enable nginx
# 验证Nginx是否启动成功(访问http://192.168.10.213,能看到Nginx默认页面即成功)
二、部署diagrams.net(静态版,中文版配置)
步骤 1:创建diagrams.net部署目录
# 创建Nginx静态文件目录(存放diagrams.net源码)
mkdir -p /usr/share/nginx/html/drawio
# 进入目录
cd /usr/share/nginx/html/drawio
步骤 1:直接解压draw.war包(提取所有静态资源)
在当前/usr/share/nginx/html/drawio目录下,执行unzip命令解压draw.war,直接提取内置的静态网页资源:
# 确保在drawio目录下(当前已在,直接执行解压命令)
unzip draw.war -d ./
# 说明:
# 1. unzip draw.war:解压draw.war包
# 2. -d ./:指定解压到当前目录(/usr/share/nginx/html/drawio),避免生成多余目录
# 3. 若提示「unzip: command not found」,先安装unzip:yum install unzip -y
# 1. 删除draw.war包(解压后已无用,节省空间)
rm -rf draw.war
# 2. (可选)删除非静态资源文件(仅保留前端网页所需文件,不删也可正常运行)
rm -rf WEB-INF META-INF # 这两个是Java Web后端配置目录,纯静态部署无需依赖
# 重启nginx服务
systemctl restart nginx