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后面配置的路径丢弃掉,把当前匹配到的目录指向到指定的目录。
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