Nginx服务中一些常见的模块功能

利用Nginx服务在一台虚拟主机上搭建多个网站

  1. 在"/etc/nginx/conf.d/"目录下创建多个主机配置文件(一个server,就代表一个网站)
    Nginx服务中一些常见的模块功能_第1张图片
    Nginx服务中一些常见的模块功能_第2张图片
    Nginx服务中一些常见的模块功能_第3张图片
  2. 创建站点目录和站点目录中的首页文件;这里我使用的是默认站点目录"/usr/share/nginx/html"和默认的首页文件"index.html",大家也可以随意修改。
    Nginx服务中一些常见的模块功能_第4张图片
  3. 在Windows主机中编写"Windows/System32/drivers/etc/hosts"解析文件
    Nginx服务中一些常见的模块功能_第5张图片
  4. 利用Windows中的浏览器进行访问测试
    Nginx服务中一些常见的模块功能_第6张图片
    Nginx服务中一些常见的模块功能_第7张图片

网站的访问方式

  • 基于域名的方式进行访问,上面已经说过,不在赘述了。
  • 基于地址的方式进行访问。(只能使用指定的地址来访问)
    Nginx服务中一些常见的模块功能_第8张图片
  • 基于端口的方式进行访问。
    Nginx服务中一些常见的模块功能_第9张图片
    Nginx服务中一些常见的模块功能_第10张图片

网站页面的访问原理
Nginx服务中一些常见的模块功能_第11张图片
TIPS:当通过浏览器直接访问"10.0.0.7"时,若没有设置监听,那么默认打开的就是排序在最上面的网站首页。因为浏览器找到"10.0.0.7"这台服务器后,访问80端口。这时Nginx主配置文件"/etc/nginx/nginx.comf"就会加载"/etc/nginx/conf.d"所有的扩展配置文件,又因为没有具体的域名匹配,所以就会按照加载的顺序的第一个网站的首页文件返回给客户端。

网站的安全访问配置

  • 根据用户访问的地址进行控制。需要用到nginxf访问模块:“ngx_http_access_module”;下图是我从Nginx官网截取的"ngx_http_access_module"模块的一些配置说明:

Nginx服务中一些常见的模块功能_第12张图片

实际操作:
Nginx服务中一些常见的模块功能_第13张图片
Nginx服务中一些常见的模块功能_第14张图片
在shell命令行访问"blog.cxsnb.com/blog":
Nginx服务中一些常见的模块功能_第15张图片
TIPS:location外面的信息,是全局配置的信息;location里面的信息,是局部信息。

  • 根据用户访问进行认证;需要用到的模块为"ngx_http_auth_basic_module";下图是我从Nginx官网截取的一些"ngx_http_auth_basic_module"认证模块的配置说明:
    Nginx服务中一些常见的模块功能_第16张图片
    实际操作:
    第一步:编写网站的扩展配置文件
    Nginx服务中一些常见的模块功能_第17张图片
    第二部:创建密码文件(密码文件中的信息必须是密文的)
    在这里插入图片描述Nginx服务中一些常见的模块功能_第18张图片
    第三步:测试
    Nginx服务中一些常见的模块功能_第19张图片
    通过curl命令的方式在命令行测试:
    在shell命令行通过curl命令,基于域名的访问方式的话,需要在Linux系统中"/etc/hosts"文件配置一下DNS解析。
    Nginx服务中一些常见的模块功能_第20张图片
    使用curl 命令访问;"-u"参数是指定认证用户的名称
    Nginx服务中一些常见的模块功能_第21张图片

TIPS:密码文件"/etc/nginx/password/htpasswd"的初始权限是644,这样很不安全。可以把密码文件的权限改为600,这样其它用户就不能够获取到密码。但是只是简单的修改密码文件的权限,这样再使用浏览器访问网站时就会报"500"的错误。下面通过一张图讲解一下原理。
Nginx服务中一些常见的模块功能_第22张图片
Nginx服务中一些常见的模块功能_第23张图片

TIP:Nginx服务搭建的网站别名功能
第一步:编写好配置文件
Nginx服务中一些常见的模块功能_第24张图片

第二步:在Windows中的hosts文件中配置好DNS解析
Nginx服务中一些常见的模块功能_第25张图片

作用:
a.用于进行网站访问测试;若是真实域名太长,可以设置一个较为简单的虚拟域名来测试访问网站
b.用于定位要访问的网站服务器;可以把别名的信息带上物理服务器的信息,这样访问某个别名时,就可以方便的知道自己再访问那台物理服务器。

你可能感兴趣的:(Nginx服务中一些常见的模块功能)