银河麒麟高级服务器操作系统 V10,是国产企业级 Linux 服务器发行版,安装 Nginx 官方适配最好的版本是 Nginx 1.21.5(ky10 官方 rpm),如果需要更新一点的版本可以选择1.24.x 源码编译,但是最好不要选择1.25+,容易出现兼容问题。
1,先确认环境
cat /etc/os-release# 看到:Kylin Linux Advanced Server V10 (Lance) → SP3uname -m# x86_64 或 aarch64(飞腾/鲲鹏)
2,生产环境推荐(最稳)
首选:Nginx 1.21.5(麒麟官方 rpm)
文件名类似:nginx-1.21.5-1.ky10.x86_64.rpm 或 .aarch64.rpm
来自麒麟官方更新源,专门针对 V10 SP3 编译、依赖完全匹配
支持:http/https、gzip、反向代理、负载均衡,足够绝大多数业务
缺点:版本不是最新,但安全补丁会官方维护
联网安装
离线安装(内网常用)
去麒麟官方源下载:
https://update.cs2c.com.cn/NS/V10/V10SP3/os/adv/lic/updates/x86_64/Packages/
把 nginx-1.21.5 + 依赖(pcre、zlib、openssl)一起下,然后:
3,安装默认路径
如果是联网安装,其安装路径默认为:
Nginx 主程序
直接执行 nginx 就能启动,不用加路径。
配置文件
主配置文件:/etc/nginx/nginx.conf
子配置文件(放网站 / 反向代理):/etc/nginx/conf.d/*.conf
默认网站根目录
日志文件目录
系统服务文件
/usr/lib/systemd/system/nginx.service
4,常用管理命令
# 启动systemctl start nginx# 开机自启systemctl enable nginx# 重启systemctl restart nginx# 重新加载配置(不中断服务)systemctl reload nginx# 查看状态systemctl status nginx
5,常见问题
5.1,nginx启动后,在其他电脑上访问不了
这种情况一般是服务器防火墙的问题,可以分步验证排查
1) 先本机自测访问
返回默认页面内容,说明 Nginx 本身正常。
2)查看防火墙状态
systemctl status firewalld
显示active代表防火墙开启。
3) 查看80端口是否放行
firewall-cmd --list-ports
输出里无80/tcp,就是端口拦截。
4)放行80端口测试
firewall-cmd --add-port=80/tcp --permanentfirewall-cmd --reload
5.2,启动(或者重启)nginx 的时候发现80端口被占用
1)先杀掉占用 80 端口的进程
2)再启动nginx
3)查看是否成功
看到 active (running) 就好了。
如果上面命令提示找不到 fuser,用如下这个命令替代:
会显示占用 80 端口的进程 ID (PID),比如:
LISTEN 0 128 *:80 *:* users:(("httpd",pid=1234,fd=4))kill -9 1234
再启动 nginx: