云计算运维学习---Nginx服务中一些常见的模块功能

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

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

网站的访问方式

  • 基于域名的方式进行访问,上面已经说过,不在赘述了。
  • 基于地址的方式进行访问。(只能使用指定的地址来访问)
    云计算运维学习---Nginx服务中一些常见的模块功能
  • 基于端口的方式进行访问。
    云计算运维学习---Nginx服务中一些常见的模块功能
    云计算运维学习---Nginx服务中一些常见的模块功能

网站页面的访问原理
云计算运维学习---Nginx服务中一些常见的模块功能
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服务中一些常见的模块功能

实际操作:
云计算运维学习---Nginx服务中一些常见的模块功能
云计算运维学习---Nginx服务中一些常见的模块功能
在shell命令行访问"blog.cxsnb.com/blog":
云计算运维学习---Nginx服务中一些常见的模块功能
TIPS:location外面的信息,是全局配置的信息;location里面的信息,是局部信息。

  • 根据用户访问进行认证;需要用到的模块为"ngx_http_auth_basic_module";下图是我从Nginx官网截取的一些"ngx_http_auth_basic_module"认证模块的配置说明:
    云计算运维学习---Nginx服务中一些常见的模块功能
    实际操作:
    第一步:编写网站的扩展配置文件
    云计算运维学习---Nginx服务中一些常见的模块功能
    第二部:创建密码文件(密码文件中的信息必须是密文的)
    云计算运维学习---Nginx服务中一些常见的模块功能云计算运维学习---Nginx服务中一些常见的模块功能
    第三步:测试
    云计算运维学习---Nginx服务中一些常见的模块功能
    TIPS:密码文件"/etc/nginx/password/htpasswd"的初始权限是644,这样很不安全。可以把密码文件的权限改为600,这样其它用户就不能够获取到密码。但是只是简单的修改密码文件的权限,这样再使用浏览器访问网站时就会报"500"的错误。下面通过一张图讲解一下原理。
    云计算运维学习---Nginx服务中一些常见的模块功能
    云计算运维学习---Nginx服务中一些常见的模块功能