详解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配置中root和alias的区别_第1张图片

重启Nginx服务

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

访问到的是Nginx的欢迎界面

详解Nginx配置中root和alias的区别_第2张图片

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

显示报错404

详解Nginx配置中root和alias的区别_第3张图片

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

显示之前我们写入的内容

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

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

 编辑/etc/nginx/nginx.conf

vim /etc/nginx/nginx.conf

 把上面写入的内容注释掉

详解Nginx配置中root和alias的区别_第4张图片

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

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

重启Nginx服务

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

访问到的是Nginx的欢迎界面

详解Nginx配置中root和alias的区别_第5张图片

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

详解Nginx配置中root和alias的区别_第6张图片

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时可能会报错

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

详解Nginx配置中root和alias的区别_第7张图片

3.1 用浏览器访问服务器ip

显示之前我们写入的内容

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

你可能感兴趣的:(nginx,运维)