1. 为什么要在银河麒麟上离线部署Nginx?
大家好,我是老张,在运维和架构这个行当里摸爬滚打了十几年,跟各种国产操作系统和服务器软件都打过不少交道。今天想跟大家聊聊一个非常具体、但又很常见的场景:在没有外网的环境下,怎么在银河麒麟Kylin Linux V10 SP3上,把Nginx 1.21.5给装起来。
你可能要问了,现在不都讲究云原生、容器化了吗,为啥还要折腾这种“古老”的离线安装?其实,在实际的生产环境里,尤其是金融、政务、军工这些对安全性和自主可控要求极高的领域,服务器往往是物理隔离的,根本不允许连接互联网。你想从网上下个包?门都没有。所有的软件安装、更新,都得靠我们运维人员提前准备好“离线安装包”,然后像“蚂蚁搬家”一样,一个个服务器去部署。这种场景,我遇到过无数次,也踩过无数的坑。所以,今天这篇实战指南,就是把我这些年总结下来的经验,手把手地教给你,让你在封闭环境里部署Nginx时,能少走弯路,一次成功。
简单来说,这篇指南就是为你准备的,如果你正在或即将面临以下情况:
- 你的服务器运行的是银河麒麟Kylin Linux V10 SP3,这是目前很多国产化项目的主流选择。
- 服务器处于内网、隔离网甚至断网环境,无法使用
yum或apt在线安装。 - 你需要部署一个稳定、高性能的Web服务器或反向代理,而Nginx 1.21.5是一个经过广泛验证的可靠版本。
- 你希望获得一份从零开始、步步为营、附带避坑指南的操作手册,而不是零散的、可能过时的命令片段。
那么,请跟着我的思路往下走。我会假设你是一个有一定Linux基础,但对银河麒麟和离线部署不太熟悉的朋友,用最直白的话,把每一步的原理、操作和背后的“为什么”都讲清楚。
2. 战前准备:找准你的“武器”和“弹药”
离线安装,最怕的就是“缺胳膊少腿”。你兴冲冲地把Nginx主包传上去,一安装,报错说缺openssl,等你把openssl传上去,它又说缺pcre。这种依赖地狱,在离线环境下简直就是噩梦。所以,准备工作做得好,安装就成功了一大半。
2.1 确认你的操作系统“身份证”
第一步,我们必须百分百确认服务器的具体版本。别看都叫“银河麒麟V10”,SP1、SP2、SP3之间的软件包可能是不兼容的。用错包,轻则安装失败,重则可能破坏系统已有的基础库,导致系统不稳定。
登录你的银河麒麟服务器,打开终端,执行这个命令:
nkvers
你会看到类似下面的输出:
############## Kylin Linux Version #################
Release: Kylin Linux Advanced Server release V10 (Lance)
Kernel: 4.19.90-52.15.v2207.ky10.x86_64
Build: Kylin Linux Advanced Server release V10 (SP3) /(Lance)-x86_64-Build20/20221125
#################################################
请死死盯住 Build: Kylin Linux Advanced Server release V10 (SP3) 这一行。这明确告诉我们,系统是 V10 SP3 版本,架构是 x86_64。这是我们后续寻找所有软件包的唯一依据,千万不能搞错。
2.2 寻找官方的“军火库”:软件包仓库
这是整个离线部署最核心、也最容易出错的一步。绝对不要去网上的第三方网站随便下载一个为CentOS或Ubuntu编译的Nginx RPM包!国产操作系统的底层库和编译环境可能有自己的调整,乱用其他发行版的包,就像给一辆汽油车加柴油,后果不堪设想。
银河麒麟有自己官方的软件仓库。我们需要根据上面确认的版本(V10 SP3),去对应的仓库里“淘金”。官方仓库的目录结构是有规律的,通常分为base(基础包)和updates(更新包)等。
-
基础包仓库:这个目录包含了系统初始发布时的所有基础软件包。路径通常类似于:
http://.../NS/V10/V10SP3/os/adv/lic/base/x86_64/Packages/你可以用浏览器访问这个地址(具体域名请以你单位的实际镜像源为准)。在这里,你确实能找到Nginx,但版本可能比较老,比如我经常看到的是1.16.x。对于新项目,我们通常希望用更新一点的版本。 -
更新包仓库

8757

被折叠的 条评论
为什么被折叠?



