运维教程WEB集群之三Nginx高清下载站案例

举报
tea_year 发表于 2025/01/12 21:25:21 2025/01/12
238 0 0
【摘要】 WEB集群之Nginx技术目标理解常见的WEB服务理解Nginx的作用掌握nginx常见的配置文件搭建web站点ngx处理用户请求流程ngx常用功能与模块一、WEB服务WEB服务:网站服务,部署并启动了这个服务,你就可以搭建一个网站. WEB中间件: 等同于WEB服务 中间件:范围更加广泛,指的负载均衡之后的服务.

技术目标

  • 理解常见的WEB服务

  • 掌握使用Nginx搭建下载站点

  • 掌握nginx常见的配置文件

  • 搭建web站点

操作实践

1.搭建要求

  1. 浏览器打开后,显示目录结构.

    xxx.mp4 时间 大小

    xxx.mp4 ... ...

  2. 增加svip功能。

  3. 增加统计功能,统计nginx服务的状态,访问情况。

2.基本要求

域名:v.cn

站点目录:/app/code/v/

自动索引功能(列表站点目录的内容),首页文件不存在

autoindex模块
autoindex on:开启目录索引功能(显示站点目录下的文件的列表,首页不存在)
autoindex_localtime on: 显示本地时间
autoindex_exact_size off:是否显示精确的文件的大小,off表示以人类可读形式显示大小
 [root@web01 /etc/nginx/conf.d]# cat v.cn.conf 
 server{
     listen 80;
     server_name v.cn;
     root /app/code/video;
     
     error_log /var/log/nginx/v.cn-error.log notice;
     access_log /var/log/nginx/v.cn-access.log main;
     charset utf8;
     
     autoindex on;                               
     autoindex_localtime on;
     autoindex_exact_size off;
     location / {
         index index.html;
     }
 }
  
 [root@web01 ~]# ll /app/code/video/
 #在下面创建china,jp,目录,在下面创建电影
 mkdir {china,jp,india}
 touch china/YX{01..05}.avi
 ​

3.增加vip认证功能

增加一个svip目录,里面创建文件;vip:very inportant person;svip:super;

增加认证功能(用户名和密码)

auth_basic模块

 [root@web01 /etc/nginx/conf.d]# cat v.cn.conf 
 server{
     listen 80;
     server_name v.cn;
     root /app/code/video;
     
     error_log /var/log/nginx/v.cn-error.log notice;
     access_log /var/log/nginx/v.cn-access.log main;
     charset utf8;
     
     autoindex on;
     autoindex_localtime on;
     autoindex_exact_size off;
     location / {
         index index.html;
     }
     location /vip/ {
         #输出提示,根据不同的浏览器,可能不显示
         auth_basic "请输入密码:";
         #指定用户名,密码文件
         auth_basic_user_file /etc/nginx/user;
     }
 }
 ​
 ​
 ​
 [root@web01 ~]# yum install -y httpd-tools
 #-b 增加用户     #-c 创建文件
 ​
 ​
 ​
 [root@web01 ~]# htpasswd -bc /etc/nginx/user admin  admin
 ​
 ​
 [root@web01 ~]# chmod 600 /etc/nginx/user
 [root@web01 ~]# chown nginx.nginx /etc/nginx/user
 ​
 ​
 [root@web01 ~]# mkdir /app/code/v/vip/
 [root@web01 ~]# touch /app/code/v/vip/vip{01..10}.mp4
  
 #点击vip目录就需要密码了,密码会进行缓存,下次就不会要输入了

*htpasswd是一个apache的内置工具,其生成的文件称之为htpasswd文件。htpasswd文件本身一个密码本,或者类似于数据库一样,用来存储一些密码(凭证)信息。

 -c:创建一个加密文件;
 -n:不更新加密文件,只将加密后的用户名密码显示在屏幕上;
 -m:默认采用MD5算法对密码进行加密;
 -d:采用CRYPT算法对密码进行加密;
 -p:不对密码进行进行加密,即明文密码;
 -s:采用SHA算法对密码进行加密;
 -b:在命令行中一并输入用户名和密码而不是根据提示输入密码;
 -D:删除指定的用户。

4. 增加统计功能

 #stub_status模块/指令,显示nginx服务的状态,用户访问的状态.
 [root@web01 ~]# cat /etc/nginx/conf.d/v.cn.conf 
 server{
     listen 80;
     server_name v.cn;
     root /app/code/v;
     
     error_log /var/log/nginx/v.cn-error.log notice;
     access_log /var/log/nginx/v.cn-access.log main;
     charset utf8;
     
     autoindex on;
     autoindex_localtime on;
     autoindex_exact_size off;
     location / {
         index index.html;
     }
     location /vip/ {
         auth_basic "请输入密码:";
         auth_basic_user_file /etc/nginx/user;
     }
     location /status/ {
         stub_status;
     }
 }

 ​
 #在浏览器进行访问,后面增加/status/
  #-----------http://v.cn/status/
 Active connections: 1 
 server accepts handled requests
  64 64 397 
 Reading: 0 Writing: 1 Waiting: 0 

nginx状态模块中的指标说明 说明
Active connections 当前已经建立的连接数和等待数量 体现:nginx并发
server accepts 已经接收到客户端的连接总数
handled 服务端已经处理的连接
requests 客户端发出请求的总数
reading 正在读取的请求头连接数量
writing 正在进行的响应的连接数量
waiting 排队数量
 ab 压力测试功能
 ab  -n 9999999  -c 3    -H Host:v.cn   http:10.0.0.7/

2.1 *模块小结*

视频网站项目中我们接触到了一些ngx的模块与指令,下面汇总了一下.

*模块* *模块中的核心指令* 重要程度
目录索引模块 autoindex on;
认证功能模块 auth_basic_user_file; htpasswd指令
访问控制模块 allow,deny ❤❤❤
用于监控ngx连接情况, stub_status ❤❤
状态模块 ❤❤
ngx核心模块 root,location,error_log,server_name,listen ❤❤❤❤❤
ngx日志模 access_log,log_format main ❤❤
❤❤

总结

本教程详细介绍了Nginx作为高性能HTTP和反向代理服务器的高清下载站集群案例。

通过配置Nginx实现集群部署,提升系统的可靠性和可扩展性,并确保高并发处理能力。技术教程涵盖了从基础概念到实际操作,包括安装、配置负载均衡、动静分离及高可用性设置等。

【声明】本内容来自华为云开发者社区博主,不代表华为云及华为云开发者社区的观点和立场。转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息,否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

作者其他文章

评论(0

抱歉,系统识别当前为高风险访问,暂不支持该操作

    全部回复

    上滑加载中

    设置昵称

    在此一键设置昵称,即可参与社区互动!

    *长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

    *长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。