Nginx访问异常的根源是配置路径错位、用户权限未设、SELinux拦截或conf.d加载未启用;需校验服务状态与端口占用,修正root路径、取消user nginx注释、添加include conf.d/*.conf,并创建带权限设置的独立站点配置后重载服务。

你在银河麒麟终端里已经装好Nginx,但访问IP只看到连接被拒绝、返回403 Forbidden或空白页——这不是Nginx没装上,而是配置路径错位、用户权限未设、SELinux策略拦截或conf.d加载机制未启用导致的。
确认服务状态与端口占用
先查Nginx是否真正在跑:sudo systemctl status nginx。若显示inactive (dead),别急着start,先看80端口有没有被占:sudo ss -tlnp | grep :80。如果输出里有httpd、python -m http.server或另一行nginx进程,必须用sudo kill -9
服务起来后立刻本地测通:curl -I http://localhost。【若返回403 Forbidden,说明Nginx已启动但root目录权限或SELinux上下文阻止了文件读取】
修正主配置文件nginx.conf
打开核心配置:sudo vim /etc/nginx/nginx.conf。
找到server块里的root指令,默认是/usr/share/nginx/html/,但离线RPM安装可能实际落在/usr/local/nginx/html/,得用ls -l /usr/local/nginx/html/和ls -l /usr/share/nginx/html/双路验证。
把user nginx;这一行前面的#号删掉——源码编译或离线安装后这行常被注释,不取消会导致worker进程以root身份运行,违反最小权限原则。
在http块最后一行添加:include /etc/nginx/conf.d/*.conf;。这是麒麟V10官方仓库包约定的扩展配置加载路径,不加则你后续写的站点配置全都不生效。
创建独立站点配置(推荐)
在/etc/nginx/conf.d/下新建your-site.conf:
server {
listen 80;
server_name _;
root /data/www;
index index.html;
location / {
try_files $uri $uri/ =404;
}
}
注意:【/data/www目录必须真实存在,且nginx用户有读取权限】。执行:sudo mkdir -p /data/www && echo "
Hi from Kylin
" | sudo tee /data/www/index.html && sudo chown -R nginx:nginx /data/www。保存后立刻语法校验:sudo nginx -t。若报“unknown directive”,大概率是某行末尾漏了分号;若报“invalid number of arguments”,说明用了当前Nginx未编译进来的模块指令(比如stream或grpc_pass)。
重启并验证
语法通过后执行:sudo systemctl reload nginx。
再次curl -I http://localhost,应返回200 OK。
从局域网另一台机器用浏览器访问服务器IP,页面显示“Hi from Kylin”即完成。


















