nginx

mac2022-06-30  87

nginx的location、root、alias指令用法和区别

root

[root] 语法:root path 默认值:root html 配置段:http、server、location、if

alias

[alias] 语法:alias path 配置段:location

root与alias主要区别在于nginx如何解释location后面的uri,这会使两者分别以不同的方式将请求映射到服务器文件上。 root的处理结果是:root路径+location路径 alias的处理结果是:使用alias路径替换location路径 alias是一个目录别名的定义,root则是最上层目录的定义。 还有一个重要的区别是alias后面必须要用“/”结束,否则会找不到文件的。。。而root则可有可无~~

root实例

location ^~ /t/ { root /www/root/html/; } #如果一个请求的URI是/t/a.html时,web服务器将会返回服务器上的/www/root/html/t/a.html的文件。

alias 实例

location ^~ /t/ { alias /www/root/html/new_t/; } #如果一个请求的URI是/t/a.html时,web服务器将会返回服务器上的/www/root/html/new_t/a.html的文件。注意这里是new_t,因为alias会把location后面配置的路径丢弃掉,把当前匹配到的目录指向到指定的目录。 使用alias时,目录名后面一定要加"/"。alias在使用正则匹配时,必须捕捉要匹配的内容并在指定的内容处使用。alias只能位于location块中。(root可以不放在location中)

ubuntu

sudo apt update

sudo apt install nginx

所有的配置文件都在/etc/nginx下,并且每个虚拟主机已经安排在了/etc/nginx/sites-available下程序文件在/usr/sbin/nginx日志放在了/var/log/nginx中并已经在/etc/init.d/下创建了启动脚本nginx

默认的虚拟主机的目录设置在了/var/www

启动

ps -ef|grep nginx

启动 sudo nginx

sudo nginx -s reload #服务重载,配置文件更新后,需要运行此命令

sudo nginx -s stop # 强制停止服务,丢弃正在处理的任务

sudo nginx -s qui # 等待任务处理后退出

sudo vim /etc/nginx/nginx.conf

server { listen 8000; server_name localhost; location /tag { root /var/www/html; index index.html index.htm; } } # 把文件放在 /var/www/html 下面 访问地址 http://198.13.60.35:8000/tag/

卸载

删除nginx,-purge包括配置文件 sudo apt --purge remove nginx

sudo apt autoremove

``` 罗列出与nginx相关的软件并删除 dpkg --get-selections|grep nginx sudo apt-get --purge remove nginx sudo apt-get --purge remove nginx-common sudo apt-get --purge remove nginx-core

``` 查看nginx正在运行的进程,如果有就kill掉 ps -ef |grep nginx sudo kill -9 XXX

转载于:https://www.cnblogs.com/ndzy01/p/11535444.html

最新回复(0)