Nginx【Nginx虚拟主机基于多端口的配置、Nginx核心指令_root和alias指令的区别、Nginx核心指令_return指令、上下文 】(五)-全面详解(学习总结---从入门到深化)

 

目录

Nginx虚拟主机基于多端口的配置

Nginx核心指令_root和alias指令的区别

Nginx核心指令_return指令

Nginx虚拟主机基于多端口的配置

通过不同的端口来区分不同的虚拟主机。此类虚拟主机对应的 企业应用主要为公司内部的网站。 

需求

Nginx对提供8888与9999两个端口的监听服务

请求8888端口则访问html8888目录下的index.html

请求9999端口则访问html9999目录下的index.html 

还原IP地址为192.168.66.100:

vim /etc/sysconfig/network-scripts/ifcfg-ens33
#将:
IPADDR0=192.168.66.100
IPADDR1=192.168.66.101
#改为
IPADDR=192.168.66.100
#重启网络服务
systemctl restart network

修改Nginx的配置文件完成基于端口的虚拟主机配置

#一个Server就是一个虚拟主机 基于端口
server {
   listen       8888;
 #为虚拟机指定IP或者是域名
   server_name  192.168.66.100;
 #主要配置路由访问信息
   location / {
    #用于指定访问根目录时,访问虚拟主机的web目录
       root   html8888;
    #在不指定访问具体资源时,默认的展示资源的列表
       index index.html index.htm;
   }
   error_page   500 502 503 504 /50x.html;
   location = /50x.html {
       root   html;
   }
}
#一个Server就是一个虚拟主机
server {
    listen       9999;
 #为虚拟机指定IP或者是域名
   server_name  192.168.66.100;
 #主要配置路由访问信息
   location / {
 #用于指定访问根目录时,访问虚拟主机的web目录
       root   html9999;
 #在不指定访问具体资源时,默认的展示资源的列表
       index index.html index.htm;
   }
   error_page   500 502 503 504 /50x.html;
   location = /50x.html {
       root   html;
   }
}

准备需要的目录和html页面

[root@node1 nginx]# cp -r html101/ html8888
[root@node1 nginx]# cp -r html101/ html9999
[root@node1 nginx]# vim html9999/index.html
<h1>Welcome to nginx 192.168.20.101:9999!
</h1>
[root@node1 nginx]# vim html8888/index.html
<h1>Welcome to nginx 192.168.20.101:8888!
</h1>

实时效果反馈

1. Nginx技术中实现基于端口的虚拟主机,使用_____指令指定端口。

A root

B server

C listen

D server_name

Nginx核心指令_root和alias指令的区别

区别

共同点 : root和alias两者都都是用来指定URI和磁盘文件的映射关系;

区别: root会将定义路径与URI叠加;而alias只取定义路径; 

root示例

客户端请求www.test.com/images/1.jpg,则对应磁盘映射路径/opt/nginx/html/images/images/1.jpg

location /images {
   root /opt/nginx/html/images;
   index index.html index.htm;
}

注意:

也就是说使用root 请求的真实路径是 rootpath + /uri ,也就是 文件目录 + URI / 后面的内容。

alias示例 

客户端请求www.test.com/images/1.jpg,则对应磁盘映射路 径/opt/nginx/html/images/1.jpg

location /images {
   alias /opt/nginx/html/images/; //最后面一定要加 "/"
   index index.html index.htm;
}

注意: 使用alias uri和文件路径进行了叠加,其实就是alias + 请求的文件。

实时效果反馈

1. 下列描述root指令和alias指令不正确的是____。

A alias指定的目录是准确的 

B alias指令最后一定要加“ / ”

C root是指定目录的上级目录

D root是指定根目录

Nginx核心指令_return指令

 return功能

1 停止处理请求,直接返回响应码或重定向到其他URL;

2 执行return指令后,location中后序指令将不会被执行;

return语法结构

1 return code [text]; # 如果返回2XX的,text才有意义,text会在body中;

2 return code URL; #主要用于重定向;

3 return URL; #须以http或者https开头的;

常用状态码: 

200 请求成功

301 永久转移到其他URL

404 请求资源不存在

500 内部服务器错误

上下文 

server | location | if

示例 

code + text

location / {
   return 200 'your success';
}

请求:

➜ nginx curl website.com
your success%       //响应的内容

code + URL

#302 表示临时性重定向。访问一个Url时,被重定向到另一个url上。常#用于页面跳转。
location / {
   return 302 /bbs;
}
location /bbs {
   root html;
   index index.html;
}

URL

直接重定向到了百度了

location / {
   return http://baidu.com;
}

实时效果反馈

1. Nginx核心配置文件中return指令作用描述错误的是_____。

A 停止处理请求

B 重定向到其他URL

C 直接返回响应码

D 指定资源文件目录

2. HTTP状态码302的作用是__。

A 请求成功

B 重定向到其他URL

C 内部服务器错误

D 请求的资源(网页等不存在)

猜你喜欢

转载自blog.csdn.net/m0_58719994/article/details/131506284
今日推荐