记录win10服务器上nginx修改目录后403Forbidden问题的解决方法

1,368 阅读2分钟

记录win10服务器上nginx修改目录后403Forbidden问题的解决方法

只是简单的将目录从初始目录html移入到html目录下面的fifth13目录下。本来以为只是改个root配置的问题,没想到改了相对路径后出现403,期间搜索了资料,有说是目录没有读取权限的问题,也有说是启动用户和工作用户不一致的问题(我的版本使用user root会报错,重启不了),蛋疼的大部分还是linux环境下的解决方法。尝试在windows下面修改目录权限,修改用户等方法都逐一失败。因为对nginx不熟悉,原理也不甚清楚,所以这里只是记录一下解决方法。

  • 首先nginx版本是nginx version: nginx/1.21.1,执行命令nginx -v即可查看。

  • 然后放配置。最终还是只是改了个root配置,和权限、用户都没关系,是我菜了。

    server {
        listen       80;
        server_name  www.fifth13.top;
        #charset koi8-r;

        #access_log  logs/host.access.log  main;

        location / {
            #alias C:/nginx-1.21.1/html/fifth13/;
            #alias 和root效果是一样的,重点是这个绝对路径下少了fifth13目录后面的/。
            root C:/nginx-1.21.1/html/fifth13/;
            index  index.html index.htm;
        }
    }
  • 最后是放一些windows命令,因为发现有时候nginx -s reload重启感觉没生效?可以强制干掉nginx进程再手动启动。
// windows命令行帮助
tasklist /?

// 查看nginx进程
// fi 筛选
// imagename 是筛选器名称-映像名称
// eq是有效运算符
tasklist /fi "imagename eq nginx.exe"

// 查看端口
netstat -an | findstr "80"

// 终止进程,通过筛选出来的信息查看pid
// -t 为 tree,表示终止指定的进程和任何由此启动的子进程
// -f 指定强制终止
taskkill /pid 3920 -t -f

// nginx 命令

// 启动nginx
start nginx

// 停止nginx
// 快速停止
nginx -s stop
// 完整有序的停止,保存相关信息
nginx -s quit

// 重启,修改配置后重启
nginx -s reload

// 查看版本
nginx -v
// 除了版本号还有其他详细配置信息
nginx -V

// 指定新的nginx配置文件
nginx -c </path/to/config>

// 测试配置文件但是不运行
nginx -t -c </path/to/config>

// 重新打开新的日志文件
nginx -s reopen
// nginx 强制全部干掉进程重启命令
// restart.bat

@echo off
taskkill /f /fi "IMAGENAME eq nginx.exe"
start nginx.exe
#pause
1
2
3
4