详解Nginx配置中root和alias的区别

目录

1、使用alias实现虚拟目录(示例)

1.1 用浏览器访问服务器ip

1.2 用浏览器访问服务器ip/a1

1.3 用浏览器访问服务器ip/a2

2、使用root实现访问业务目录(1)

2.1 用浏览器访问服务器ip

2.2 用浏览器访问服务器ip/a1

3、使用root实现访问业务目录(2)

3.1 用浏览器访问服务器ip


1、使用alias实现虚拟目录(示例)

注意:实验前确定防火墙和selinux已关闭

在Nginx的网站发布目录下创建两个目录

cd /usr/local/nginx
mkdir {a1,a2}

 在a1目录中写入文件index.html,内容是“nihao xiaohua”

vim a1/index.html

编辑/etc/nginx/nginx.conf

vim /etc/nginx/nginx.conf

 在http块里的server块中添加如下内容:

location /a2 {
    alias   /usr/local/nginx/a1/;
    index  index.html index.htm;
}

重启Nginx服务

systemctl restart nginx
1.1 用浏览器访问服务器ip

访问到的是Nginx的欢迎界面

1.2 用浏览器访问服务器ip/a1

显示报错404

1.3 用浏览器访问服务器ip/a2

显示之前我们写入的内容

由此可以看出,输入ip访问虚拟目录a2,获取到的内容是真实目录a1的内容,这就是用alias实现虚拟目录的过程

2、使用root实现访问业务目录(1)

 编辑/etc/nginx/nginx.conf

vim /etc/nginx/nginx.conf

 把上面写入的内容注释掉

在http块里的server块中添加如下内容:

location /a1 {
    root   /usr/local/nginx/;
    index  index.html index.htm;
}

重启Nginx服务

systemctl restart nginx
2.1 用浏览器访问服务器ip

访问到的是Nginx的欢迎界面

由此可以看出,输入ip访问ip,访问不到内容,因为ip访问到的是/usr/local/nginx目录,此目录下没有Nginx服务默认匹配的文件名

2.2 用浏览器访问服务器ip/a1

显示之前我们写入的内容

3、使用root实现访问业务目录(2)

通常我们用下面的方法配置Nginx:

将第2步中写入/etc/nginx/nginx.conf的内容修改为:

location / {
    root   /usr/local/nginx/a1/;
    index  index.html index.htm;
}

重启Nginx服务

systemctl restart nginx

注意:在修改内容后重启Nginx时可能会报错

 因为和原有的内容有冲突,将原有内容注释掉即可

3.1 用浏览器访问服务器ip

显示之前我们写入的内容

由此可以看出,输入ip访问ip,显示业务内容,因为ip访问到的是/usr/local/nginx/a1目录,此目录就是服务文件所在目录

  • 3
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值