需根据网络条件与安全要求选择部署路径:联网环境用yum安装nginx;离线环境批量安装11个rpm包;高安全场景源码编译并指定nginx用户;容器化需求使用docker;apache仅在模块强依赖时选用。

如果您在银河麒麟V10操作系统上需要对外提供Web服务,但尚未部署可用的HTTP服务器,则需根据实际需求选择Apache或Nginx并完成基础配置。以下是针对该系统环境的多路径部署操作指南:
一、使用YUM安装并启用Nginx服务
此方法适用于快速启用标准版Nginx,依赖系统官方仓库提供的预编译包,无需手动编译,适合对定制化要求不高的生产或测试场景。
1、更新系统软件包索引以确保获取最新可用版本:
sudoyumupdate-y
2、安装Nginx主程序及关联组件:
sudoyuminstall-ynginx
3、启动Nginx服务并验证运行状态:
sudosystemctlstartnginx
sudosystemctlstatusnginx
4、设置开机自启以保障服务持续可用:
sudosystemctlenablenginx
5、确认防火墙放行HTTP(80端口)和HTTPS(443端口)流量:
sudofirewall-cmd--permanent--add-service=http
sudofirewall-cmd--permanent--add-service=https
sudofirewall-cmd--reload
二、离线环境下批量安装Nginx RPM包
当目标服务器处于无网络连接状态时,必须预先下载全部依赖RPM包并本地部署。该方式规避了网络依赖,但需严格匹配系统架构(x86_64或aarch64)与SP3版本兼容性。
1、在联网环境中访问银河麒麟官方更新仓库:
https://update.cs2c.com.cn/NS/V10/V10SP3/os/adv/lic/updates/x86_64/Packages/
2、下载Nginx 1.21.5主包及以下10个核心依赖包:
pcre-devel-8.44-1.ky10.x86_64.rpm
zlib-devel-1.2.11-17.ky10.x86_64.rpm
openssl-devel-1.1.1k-10.ky10.x86_64.rpm
gcc-10.3.1-1.ky10.x86_64.rpm
make-4.2.1-10.ky10.x86_64.rpm
nginx-1.21.5-1.ky10.x86_64.rpm
其余为systemd、glibc、libpcap等基础运行时依赖
3、将全部RPM文件上传至目标服务器的/opt/nginx_offline目录
4、进入该目录并执行强制安装(忽略依赖检查,因已确保完整依赖链):
cd/opt/nginx_offline
rpm-Uvh*.rpm--nodeps--force
5、验证Nginx是否注册为系统服务:
systemctllist-unit-files|grepnginx
三、从源码编译安装Nginx并指定运行用户
该方式可精确控制Nginx版本、模块启用状态及安全上下文,适用于需启用第三方模块、定制SSL策略或遵循最小权限原则的高安全要求场景。
1、安装编译工具链与开发头文件:
sudoyumgroupinstall-y"DevelopmentTools"
sudoyuminstall-ypcre-develzlib-developenssl-devel
2、创建专用低权限运行账户,避免主进程以root身份长期驻留:
sudouseradd-s/sbin/nologin-Mnginx
Apache Superset 是一个广泛采用的开源 BI 平台,用于 SQL 探索、图表构建和仪表板交付。当代理需要查询仓库数据、组装仪表板或使用成熟的分析界面解释指标而不是临时笔记本代码时,此技能非常有用。
3、下载并解压Nginx 1.26.2源码包:
wgethttps://nginx.org/download/nginx-1.26.2.tar.gz
tarzxvfnginx-1.26.2.tar.gz
cdnginx-1.26.2
4、执行configure脚本,启用关键模块并绑定用户上下文:
./configure--user=nginx--group=nginx--prefix=/usr/local/nginx--with-http_ssl_module--with-http_v2_module--with-pcre
5、编译并安装二进制文件:
makemakeinstall
6、创建systemd服务单元文件/etc/systemd/system/nginx.service,定义启动行为与资源限制
四、使用Docker容器方式部署Nginx
该方式实现环境隔离与快速回滚,适用于微服务架构或需并行运行多个不同版本Nginx实例的测试环境,不直接侵入宿主机系统。
1、确认Docker引擎已在银河麒麟V10上正确安装并运行:
sudodocker--version
sudosystemctlstatusdocker
2、拉取官方Nginx镜像(推荐Alpine精简版以降低资源占用):
sudodockerpullnginx:alpine
3、创建宿主机映射目录用于持久化配置与网页内容:
sudo mkdir -p /data/nginx/{conf,html,logs}
4、将默认Nginx配置导出至宿主机进行定制:
sudodockerrun--rmnginx:alpinecat/etc/nginx/nginx.conf>/data/nginx/conf/nginx.conf
5、启动容器并挂载定制配置与静态资源目录:
sudodocker run-d--name nginx-prod-p80:80-p443:443-v/data/nginx/conf/nginx.conf:/etc/nginx/nginx.conf:ro-v/data/nginx/html:/usr/share/nginx/html:ro-v/data/nginx/logs:/var/log/nginx:rw--restart=unless-stoppednginx:alpine
五、配置Apache HTTP Server替代方案
若业务系统存在Apache模块强依赖(如mod_php、.htaccess规则),可选用Apache作为Web服务器。银河麒麟V10 SP3官方仓库提供httpd 2.4.x稳定版本,支持SELinux策略集成。
1、安装Apache及其常用扩展模块:
sudoyuminstall-yhttpdhttpd-toolsmod_ssl
2、启用并启动服务:
sudosystemctlstarthttpd
sudosystemctlenablehttpd
3、调整SELinux布尔值以允许HTTP服务绑定网络端口:
sudo setsebool -P httpd_can_network_bind 1
4、配置防火墙开放HTTP/HTTPS端口:
sudofirewall-cmd--permanent--add-service=http
sudofirewall-cmd--permanent--add-service=https
sudofirewall-cmd--reload
5、将网站根目录设为/var/www/html,并确保其SELinux上下文为httpd_sys_content_t:
sudo semanage fcontext -a -t httpd_sys_content_t "/var/www/html(/.*)?"
sudo restorecon -Rv /var/www/html










