
如果您在麒麟操作系统上需要部署Web服务,但尚未安装Nginx,则需根据系统连通性、架构类型及定制化需求选择适配的安装路径。以下是多种可行的安装方法:
一、使用YUM包管理器在线安装
该方式适用于能访问互联网或已配置可用软件源的麒麟V10服务器(x86_64或ARM64架构),由系统自动解析并安装依赖,操作简洁、适合快速部署。
1、更新系统软件包索引,确保获取最新元数据:
sudoyum update -y
2、执行Nginx主程序及配套模块安装:
sudoyum install -y nginx nginx-all-modules nginx-filesystem
3、启动Nginx服务并设为开机自启:
sudosystemctl start nginx
sudosystemctlenablenginx
4、验证服务状态:
sudosystemctl status nginx
5、检查默认监听端口是否就绪:
sudo ss -tlnp | grep :80
二、离线RPM包批量安装
该方式专为无外网连接的生产环境设计,需提前在可联网机器下载全部依赖RPM包,再统一上传至目标麒麟服务器,规避网络隔离导致的依赖缺失问题。
1、确认目标系统架构与版本:
cat /etc/os-release | grep -E "(NAME|VERSION_ID|ARCH)"
重点核对arch字段为x86_64或aarch64,以及VERSION_ID匹配SP3/SP4等补丁版本
2、从麒麟官方源或可信镜像站下载以下RPM包(以V10 SP3 x86_64为例):
nginx-*.rpm、nginx-filesystem-*.rpm、nginx-all-modules-*.rpm、openssl-libs-*.rpm、pcre2-*.rpm、zlib-*.rpm、nghttp2-*.rpm、gperftools-libs-*.rpm
3、将所有RPM文件上传至服务器/tmp/nginx_offline/目录
4、进入该目录并强制安装全部包(忽略依赖检查,因已全量提供):
cd /tmp/nginx_offline/
sudo rpm -ivh *.rpm --force --nodeps
5、创建Nginx运行用户并赋权:
sudo useradd -r -s /sbin/nologin -d /var/lib/nginx nginx
sudo chown -R nginx:nginx /var/lib/nginx /var/log/nginx
三、源码编译安装(支持自定义模块与版本)
该方式适用于需启用特定模块(如HTTP SSL/TLS、GeoIP、Brotli)、适配ARM64平台优化或安装非仓库提供的新版Nginx(如1.26.x)的场景,具备最高灵活性。
1、安装基础编译工具与开发库:
sudoyum install -y gcc gcc-c++ make pcre pcre-devel zlib zlib-devel openssl openssl-devel
2、下载Nginx源码包(以1.26.3为例):
wget http://nginx.org/download/nginx-1.26.3.tar.gz
3、解压并进入源码目录:
tar zxvf nginx-1.26.3.tar.gz
cd nginx-1.26.3
4、配置编译参数(启用SSL、状态页、指定用户与安装路径):
./configure --user=nginx --group=nginx --prefix=/usr/local/nginx --with-http_ssl_module --with-http_stub_status_module --with-http_gzip_static_module
5、执行编译与安装:
make && sudo make install
6、创建systemd服务单元文件 /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=/usr/local/nginx/logs/nginx.pid
ExecStartPre=/usr/local/nginx/sbin/nginx -t
ExecStart=/usr/local/nginx/sbin/nginx
ExecReload=/usr/local/nginx/sbin/nginx -s reload
KillSignal=SIGQUIT
TimeoutStopSec=5
KillMode=process
Restart=on-failure
RestartSec=5
[Install]
WantedBy=multi-user.target
7、重载systemd配置并启用服务:
sudo systemctl daemon-reload
sudo systemctl start nginx
sudo systemctl enable nginx
四、Docker容器化部署(ARM64原生支持)
该方式适用于已部署Docker引擎的麒麟OS(特别是鲲鹏/飞腾ARM64服务器),通过标准镜像实现环境隔离、快速启停与版本切换,避免主机系统污染。
1、确认Docker已就绪且架构匹配:
sudo docker version | grep "Arch"
输出必须为aarch64,否则需更换为ARM64专用镜像
2、拉取官方Nginx ARM64镜像:
sudo docker pull nginx:alpine
3、创建宿主机挂载目录并写入测试页面:
sudo mkdir -p /opt/nginx/html
echo "
kylin-nginx-running
" | sudo tee /opt/nginx/html/index.html4、运行容器并映射端口与目录:
sudo docker run -d --name kylin-nginx -p 80:80 -v /opt/nginx/html:/usr/share/nginx/html:ro -v /opt/nginx/conf:/etc/nginx/conf.d:ro --restart=always nginx:alpine
5、验证容器运行状态:
sudo docker ps | grep kylin-nginx










