本文档详细说明了在无法访问外网的麒麟服务器 V10 系统上离线安装 Nginx 的完整方案,用于部署 DMS 系统(Django+Vue 前后端分离架构)。
在有网络连接的相同系统版本计算机上执行以下步骤:
# 1. 添加 Nginx 官方仓库
wget -P /tmp http://nginx.org/packages/rhel/7/noarch/RPMS/nginx-release-rhel-7-0.el.noarch.rpm
# 2. 下载 Nginx 主程序包
yum install --downloadonly --downloaddir=/tmp nginx
# 或者直接下载特定版本的 Nginx RPM 包
wget -P /tmp http://nginx.org/packages/rhel/7/x86_64/RPMS/nginx-1.24.0-1.el7.ngx.x86_64.rpm
将以下文件复制到麒麟服务器: - nginx-release-rhel-7-0.el.noarch.rpm - nginx-1.24.0-1.el7.ngx.x86_64.rpm (或最新版本)
# 1. 安装 Nginx 仓库配置
sudo rpm -ivh nginx-release-*.rpm
# 2. 安装 Nginx
sudo rpm -ivh nginx-*.rpm
# 3. 验证安装
nginx -v
由于 HTTPD 和 Nginx 都会使用 80/443 端口,需要先停止 HTTPD 服务:
# 1. 查看 HTTPD 状态
sudo systemctl status httpd
# 2. 停止 HTTPD 服务
sudo systemctl stop httpd
# 3. 禁用 HTTPD 自动启动
sudo systemctl disable httpd
# 4. 检查端口占用情况
sudo netstat -tlnp | grep :80
sudo netstat -tlnp | grep :443
# 1. 启动 Nginx
sudo systemctl start nginx
# 2. 设置开机自启
sudo systemctl enable nginx
# 3. 检查 Nginx 状态
sudo systemctl status nginx
# 检查 Nginx 配置语法
sudo nginx -t
# 访问默认页面验证
curl http://localhost
# 检查进程
ps aux | grep nginx
# 创建配置目录
# 检查 Nginx 配置和日志目录(安装 Nginx 时通常会自动创建)
# 一般情况下,/etc/nginx/conf.d 和 /var/log/nginx 在安装后已存在
ls -la /etc/nginx/conf.d
ls -la /var/log/nginx
# 如果上述目录不存在,才需要手动创建:
# sudo mkdir -p /etc/nginx/conf.d
# sudo mkdir -p /var/log/nginx
# 或者,如果您希望将所有 Nginx 相关文件集中管理,可以创建统一目录:
# sudo mkdir -p /usr/share/nginx/conf.d
# sudo mkdir -p /usr/share/nginx/logs
# 创建 DMS 前端文件目录,这里我们使用 /var/www/dms(与 httpd 一致的标准路径)
sudo mkdir -p /var/www/dms
# 或者您也可以选择使用 /usr/share/nginx/html(Nginx默认路径)
# sudo mkdir -p /usr/share/nginx/html
将dms.conf 文件保存在 /etc/nginx/conf.d/ 目录下,并根据需要进行修改。不要修改默认的主配置文件nginx.conf 文件。
sudo nano /etc/nginx/conf.d/dms.conf
主要修改以下内容:
C:/nginx-1.28.0/cert/ 改为 /etc/ssl/certs//var/www/dms/示例配置,详细配置请联系工程师:
# HTTP服务器块 - 重定向到HTTPS
server {
listen 80;
server_name _; # 支持所有域名/IP访问
return 301 https://$server_name$request_uri;
}
# HTTPS服务器块
server {
listen 443 ssl;
server_name _; # 支持所有域名/IP访问
# SSL证书配置
ssl_certificate /etc/ssl/certs/dms.crt;
ssl_certificate_key /etc/ssl/certs/dms.key;
ssl_session_cache shared:SSL:1m;
ssl_session_timeout 5m;
ssl_ciphers HIGH:!aNULL:!MD5;
ssl_prefer_server_ciphers on;
# 静态文件服务配置
location / {
root /var/www/dms; # DMS前端文件目录
index index.html index.htm;
try_files $uri $uri/ /index.html; # 支持Vue history模式
}
# 静态资源处理 - 设置缓存和访问控制
location ~* \.(js|css|png|jpg|jpeg|gif|ico|svg|woff|woff2|ttf|eot)$ {
expires 1y;
add_header Cache-Control "public, immutable";
try_files $uri =404;
}
# API 请求代理到后端Django服务
location ^~ /api/ {
proxy_pass http://localhost:9090/; # 代理到后端Django服务地址(注意末尾斜杠)
proxy_set_header Host $host; # 设置Host头
proxy_set_header X-Real-IP $remote_addr; # 设置真实IP头
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; # 设置转发IP链
proxy_set_header X-Forwarded-Proto $scheme; # 设置转发协议(HTTP/HTTPS)
}
}
如果麒麟服务器启用了防火墙,需要开放 80 和 443 端口:
# 使用 firewalld
sudo firewall-cmd --permanent --add-service=http
sudo firewall-cmd --permanent --add-service=https
sudo firewall-cmd --reload
# 启动 Nginx
sudo systemctl start nginx
# 停止 Nginx
sudo systemctl stop nginx
# 重启 Nginx
sudo systemctl restart nginx
# 重新加载配置
sudo nginx -s reload
# 测试配置文件
sudo nginx -t
# 设置开机自启
sudo systemctl enable nginx
# 取消开机自启
sudo systemctl disable nginx
如果 Nginx 启动失败,检查端口占用:
sudo netstat -tlnp | grep :80
sudo netstat -tlnp | grep :443
使用以下命令检查配置文件语法:
sudo nginx -t
sudo systemctl status nginx
/etc/ssl/certs/ 目录/etc/nginx/conf.d/ 目录sudo nginx -s reload
本方案提供了在麒麟服务器 V10 上离线安装 Nginx 的完整步骤,确保 DMS 系统能够正常部署并提供 HTTPS 服务。通过合理的配置,Nginx 将作为反向代理服务器,处理前端静态资源请求和后端 API 请求的转发。
PM2.5/10、温湿度、有害气体等实时监测