查nginx位置
find / -name nginx
nginx目录:/usr/local/
查看nginx进程号
ps -ef |grep nginx
停止进程
kill 2072
启动
./sbin/nginx
/usr/local/nginx/sbin/nginx -t -c /usr/local/nginx/conf/nginx.conf
启动并校验校验配置文件
./sbin/nginx -t
看到如下显示nginx.conf syntax is ok nginx.conf test is successful 说明配置文件正确!
停止
./sbin/nginx -s stop
重启nginx服务
./sbin/nginx -s reload
nginx: [emerg] “proxy_pass” cannot have URI part in location given by regular expression, or inside named location, or inside “if” statement, or inside “limit_except” block
1、修改nginx.conf后,重启时报错
2、错误原因
如果location或if中用到了正则,则不能再转发除ip:port外的路径请求
正确:
location ^~ /tools {
if (!-e $request_filename) {
proxy_pass http://localhost:1620;
}
}
错误:
location ^~ /tools {
if (!-e $request_filename) {
proxy_pass http://localhost:1620/tools;
}
}
$request_filename
当前连接请求的文件路径,由root或alias指令与URI请求生成。
$request_filename 就是请求资源的路径啦~~
例如example.com/test.php,应该对应的是 root下的 index.php 和 test.php
当然还有看前面有没有伪静态规则什么的。。。