记录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