当前位置: 首页 > news >正文

Linux | WEB服务器的部署及优化

一. web服务的常用知识

1.1 www

        www(World Wide Web):即为万维网,常被称为“全球信息广播”。它是一种基于超文本和HTTP协议,能够将文字、图形、影像以及声音等多媒体信息,通过超链接的方式组织在一起,使用户可以方便地在网络中查询所需信息的系统。用户通过浏览器访问www提供的资源,浏览器作为HTTP客户端向服务器发送请求,服务器根据请求返回相应的网页资源。

1.2 网址

  • URI:Uniform Resource Identifier统一资源标识,分为URL和URN
    • URN:Uniform Resource Naming,统一资源命名,P2P下载使用的磁力链接是URN的一种实现
    • URL:Uniform Resorce Locator,统一资源定位符用于描述某服务器某特定资源位置
  • 两者区别:而URL提供查找该事物的方法。URN仅用于命名,而不指定地址
## URL的构成组织
<scheme>://<user>:<password>@<host>:<port>/<path>:<params>?<query>#<frag>方案      用户      密码     主机    端口   路径     参数    查询    片段
  • <scheme>:协议方案,常见的如 http 、https 、ftp 等。决定了客户端与服务器通信时使用的协议规则。
  • <user>:<password>:用于需要身份验证的场景。<user> 代表用户名,<password> 代表密码 。但直接在URL中暴露密码存在安全风险,实际应用中,更多是采用如OAuth等安全认证机制。
  • <host>:表示服务器的域名或IP地址,用于指定资源所在的服务器位置。
  • <port>:指定服务器上用于通信的端口号。不同的协议有默认端口,例如 http 默认端口是80, https 默认端口是443。若访问时使用默认端口,在URL中可省略不写;若使用非默认端口,则必须明确写出。
  • <path>:用于指定服务器上资源的具体路径,类似于文件系统中的路径结构。
  • <params>:由一系列参数名和参数值组成,参数之间用分号(;)分隔,主要用于传递额外的参数信息给服务器端应用程序。。
  • <query>:同样用于向服务器传递参数,以问号(?)开头,多个参数之间用与号(&)分隔。常见于搜索功能。
  • <frag>:也叫片段标识符,以井号(#)开头,主要在客户端使用。它用于指定页面内的特定位置或片段,当浏览器加载页面时,会根据这个片段标识符自动滚动到对应的位置。

二. 实验环境配置

  • 配置软件仓库

  • 写脚本

三. Nginx 的安装与启用

  • 安装nginx

  • 启动与火墙放行

  • 启用

  • nginx端口 -- web服务默认使用80端口

  • nginx的配置目录

四. web服务的基本设置

4.1 nginx修改端口

  • 默认的端口为80

4.2 默认发布文件

  • 查看原本的默认发布文件

  • 更改默认发布文件 

  • 可以指定多个,但是访问时需要按先后顺序(test先,index后)

4.3 默认发布目录

  • 原先的发布目录

  • 修改

五. nginx的访问控制

5.1 基于ip的访问控制

  • 先写小范围,再写大范围

  • 先后顺序:前面的命令先执行,后面的无法覆盖前面的

5.2 基于用户认证的访问控制

  • 安装httpd-tools工具

  • 添加用户与密码 

  • 在/etc/nginx/nginx.conf 文件中修改

  • 访问

六. nginx的虚拟主机

        nginx 的虚拟主机功能允许在同一台服务器上部署多个网站,提高服务器资源的利用率。

6.1 基于ip的虚拟主机

  • 设置

    • 访问

    6.2 基于域名的虚拟主机

    • 配置

    • 在主配置文件中配置

    http://www.xdnf.cn/news/286849.html

    相关文章:

  • 山东大学项目实训-创新实训-法律文书专家系统-项目报告(三)
  • 推特逆向算法,推特爬虫,数据分析,推特关键词搜索
  • C# 检查某个点是否存在于圆扇区内(Check whether a point exists in circle sector or not)
  • AI小智本地前后端部署
  • Web Workers 技术详解与最佳实践
  • Kubernetes(k8s)学习笔记(七)--KubeSphere 最小化安装
  • webpack 的工作流程
  • 备忘录模式(Memento Pattern)
  • 56.[前端开发-前端工程化]Day03-webpack构建工具
  • Windows11 VS code 安装 Cline 调用 Github MCP 配置过程坑点汇总
  • 深入探索 51 单片机:从入门到实践的全面指南
  • ctfshow——web入门361~368
  • 电脑怎么分屏操作?
  • Gradio全解20——Streaming:流式传输的多媒体应用(5)——基于WebRTC的摄像头实时目标检测
  • N-Gram 模型
  • 慢sql处理流程和常见案例
  • Webug4.0靶场通关笔记16- 第20关文件上传(截断上传)
  • 数据结构——算法复杂度
  • 部署GM DC Monitor 一体化监控预警平台
  • Python 整理3种查看神经网络结构的方法
  • 3DGS-slam:splatam公式
  • 开源模型应用落地-qwen模型小试-Qwen3-8B-推理加速-vLLM(一)
  • Git 标签管理
  • 【STM32 学习笔记】GPIO输入与输出
  • Scrapy分布式爬虫实战:高效抓取的进阶之旅
  • 【NLP】30. 深入理解 In-Context Learning 的核心机制与策略
  • PrivKV: Key-Value Data Collection with Local Differential Privacy论文阅读
  • vue+element 导航 实现例子
  • HarmonyOS Device Connector(hdc)
  • linux 中inotify与inode的关系是什么?