银河麒麟(Kylin)离线安装Nginx并部署多服务完整步骤

 更新时间:2026年02月07日 09:49:50   作者:南念-shmily  
这篇文章主要介绍了银河麒麟(Kylin)离线安装Nginx并部署多服务的相关资料,包括依赖包下载、HTTPS配置、多端口站点部署等步骤,文中通过代码介绍的非常详细,需要的朋友可以参考下

本文介绍如何在 银河麒麟操作系统(Kylin V10)上进行 Nginx 的离线安装与配置,包括依赖包下载、HTTPS 配置、多端口站点部署等完整步骤。

1. 准备环境

由于是离线安装,需要提前下载 Nginx 及其依赖的 RPM 包。

银河麒麟官方镜像地址示例:https://update.cs2c.com.cn/NS/V10/V10SP3/os/adv/lic/updates/x86_64/Packages/

其中 V10V10SP3x86_64 根据你的系统版本和 CPU 架构调整。

需要下载以下 RPM 包(注意版本匹配):

  • gperftools-libs-.......rpm
  • nghttp2-.......rpm
  • nginx-.......rpm
  • nginx-all-modules-.......rpm
  • nginx-filesystem-.......rpm
  • openssl-.......rpm
  • openssl-libs-.......rpm
  • pcre2-.......rpm
  • zlib-.......rpm

2. 安装 Nginx 及依赖

将下载好的 RPM 包放到 /tmp/nginx_rpm/ 目录:

cd /tmp/nginx_rpm/
rpm -ivh *.rpm --force --nodeps

3. 生成 SSL 证书

创建证书目录:

mkdir -p /etc/nginx/ssl
cd /etc/nginx/ssl

生成自签名证书(有效期 365 天):

openssl req -newkey rsa:2048 -nodes -keyout test.key \
    -x509 -days 365 -out test.crt \
    -subj "/C=CN/ST=Beijing/L=Beijing/O=Test/OU=IT/CN=localhost"

4. 创建测试站点目录

mkdir -p /var/www/test-web
mkdir -p /var/www/test-app
echo "Web Index" > /var/www/test-web/index.html
echo "App Index" > /var/www/test-app/index.html

5. 配置 Nginx

编辑 /etc/nginx/nginx.conf(替换原内容):

user  nginx;
worker_processes  auto;

error_log  /var/log/nginx/error.log;
pid        /var/run/nginx.pid;

events {
    worker_connections  1024;
}

http {
    include       /etc/nginx/mime.types;
    default_type  application/octet-stream;

    # Gzip 压缩
    gzip on;
    gzip_min_length 1k;
    gzip_comp_level 6;
    gzip_types text/plain text/css application/json application/javascript application/xml;
    gzip_vary on;

    sendfile        on;
    keepalive_timeout  65;

    include /etc/nginx/conf.d/*.conf;
}

6. 新建多站点配置文件

新建 /etc/nginx/conf.d/project.conf

# Web HTTP → HTTPS
server {
    listen 80;
    server_name localhost;
    return 301 https://$server_name$request_uri;
}

# Web HTTPS
server {
    listen 443 ssl http2;
    server_name localhost;

    client_max_body_size 1024m;

    ssl_certificate     /etc/nginx/ssl/test.crt;
    ssl_certificate_key /etc/nginx/ssl/test.key;
    ssl_protocols       TLSv1.2 TLSv1.3;
    ssl_ciphers         HIGH:!aNULL:!MD5;

    location / {
        root /var/www/test-web;
        index index.html;
        try_files $uri $uri/ /index.html;
    }

    location /test/ {
        proxy_pass http://192.168.2.67:9652;
        proxy_http_version 1.1;
        proxy_set_header Connection "";
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
    }
}

# App HTTP → HTTPS
server {
    listen 3000;
    server_name localhost;
    return 301 https://$server_name:3001$request_uri;
}

# App HTTPS
server {
    listen 3001 ssl http2;
    server_name localhost;

    client_max_body_size 1024m;

    ssl_certificate     /etc/nginx/ssl/test.crt;
    ssl_certificate_key /etc/nginx/ssl/test.key;
    ssl_protocols       TLSv1.2 TLSv1.3;
    ssl_ciphers         HIGH:!aNULL:!MD5;

    location / {
        root /var/www/test-app;
        index index.html;
        try_files $uri $uri/ /index.html;
    }

    location /test/ {
        proxy_pass http://192.168.2.67:9652;
        proxy_http_version 1.1;
        proxy_set_header Connection "";
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
    }
}

测试配置文件:nginx -t

7. 注册服务并启动 Nginx

创建服务文件:
vim /etc/systemd/system/nginx.service
写入以下内容:

[Unit]
Description=The nginx HTTP and reverse proxy server
After=network.target remote-fs.target nss-lookup.target

[Service]
Type=forking
PIDFile=/run/nginx.pid
# Nginx will fail to start if /run/nginx.pid already exists but has the wrong
# SELinux context. This might happen when running `nginx -t` from the cmdline.
ExecStartPre=/usr/bin/rm -f /run/nginx.pid
ExecStartPre=/usr/sbin/nginx -t
ExecStart=/usr/sbin/nginx
ExecReload=/bin/kill -s HUP $MAINPID
KillSignal=SIGQUIT
TimeoutStopSec=5
KillMode=mixed
PrivateTmp=true

[Install]
WantedBy=multi-user.target

设置开机启动并启动 Nginx:

systemctl enable nginx
systemctl start nginx
systemctl status nginx

8. 开放防火墙端口

sudo firewall-cmd --add-port=80/tcp --permanent
sudo firewall-cmd --add-port=443/tcp --permanent
sudo firewall-cmd --add-port=3000/tcp --permanent
sudo firewall-cmd --add-port=3001/tcp --permanent
sudo firewall-cmd --reload

9. 访问测试

Web 站点:
http://localhost 会自动跳转到 https://localhost
https://localhost 显示 Web Index

App 站点:
http://localhost:3000 会跳转到 https://localhost:3001
https://localhost:3001 显示 App Index

10. 总结

本文介绍了在银河麒麟 V10 系统中 离线安装 Nginx 的全过程,包括:

  • 依赖包下载与安装
  • 自签名 SSL 证书生成
  • 多站点 HTTPS 配置
  • 反向代理示例
  • 防火墙端口开放

通过该流程,即使在无外网环境下,也能在 Kylin OS 上快速部署 Nginx 服务器。

到此这篇关于银河麒麟(Kylin)离线安装Nginx并部署多服务完整步骤的文章就介绍到这了,更多相关银河麒麟离线安装Nginx部署多服务内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Nginx请求转发配置指南

    Nginx请求转发配置指南

    Nginx 是一款高性能的 HTTP 和反向代理服务器,也是一个 IMAP/POP3/SMTP 代理服务器,本文档将介绍如何使用 Nginx 配置请求转发,并解释一些常用的配置参数,需要的朋友可以参考下
    2024-10-10
  • Nginx中反向代理+负载均衡+服务器宕机解决办法详解

    Nginx中反向代理+负载均衡+服务器宕机解决办法详解

    这篇文章主要介绍了Nginx中反向代理+负载均衡+服务器宕机解决办法详解,反向代理保证系统安全,不暴露服务器IP,利用nginx服务器,利用内网ip进行访问,避免出现攻击服务器的情况,需要的朋友可以参考下
    2024-01-01
  • nginx中的日志切割详解

    nginx中的日志切割详解

    Nginx日志切割是定期将访问日志和错误日志分割成多个文件,以优化性能、便于管理和分析,常见的实现方法包括使用logrotate工具和编写自定义脚本,解决常见的问题如Nginx不再写入新日志和权限问题,需要确保正确的信号发送和权限设置
    2025-11-11
  • nginx正向代理http和https的实现步骤

    nginx正向代理http和https的实现步骤

    本文主要介绍了nginx正向代理http和https的实现步骤,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-07-07
  • 基于nginx设置浏览器协商缓存过程详解

    基于nginx设置浏览器协商缓存过程详解

    这篇文章主要介绍了基于nginx设置浏览器协商缓存过程详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2019-12-12
  • Nginx基础安装+配置文件过程

    Nginx基础安装+配置文件过程

    这篇文章主要介绍了Nginx基础安装+配置文件过程,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2025-04-04
  • Nginx漏洞复现的问题案例解析

    Nginx漏洞复现的问题案例解析

    这篇文章主要介绍了Nginx解析漏洞复现,这个漏洞其实是由php.ini中cgi.fix pathinfo选项与php-fpm的配置一起导致的,防范的话,只需在php-fpm配置文件中设置security.limit_extensions=.php,重启一下服务即可,本文讲解的非常详细,需要的朋友可以参考下
    2024-01-01
  • Nginx代理同域名前后端分离项目的完整步骤

    Nginx代理同域名前后端分离项目的完整步骤

    这篇文章主要给大家介绍了关于Nginx代理同域名前后端分离项目的完整步骤,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-10-10
  • Nginx实现会话保持的两种方式

    Nginx实现会话保持的两种方式

    在我们做Nginx负载均衡的时候经常会遇到会话保持的问题,为了保证同一用户session会被分配到同一台服务器上,这时就需要会话保持,本文介绍了两种方法,感兴趣的可以了解一下
    2022-03-03
  • Nginx的URL重写及IP访问控制详解

    Nginx的URL重写及IP访问控制详解

    Nginx 是一个高性能的 HTTP 服务器和反向代理服务器,广泛应用于 Web 服务中,除了基本的 HTTP 服务功能外, Nginx 还提供了许多强大的功能,如 URL 重写、 IP 访问控制和基本认证,本文小编给大家详细介绍了Nginx的URL重写及IP访问控制,需要的朋友可以参考下
    2025-05-05

最新评论