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

Web 与 Nginx 网站服务介绍与nginx安装

目录

Web 与 Nginx 网站服务

1. Web 的介绍和概念

1.1 Web 的核心组成

1.2 Web 的工作流程

2. HTTP 与 HTTPS(介绍,状态码)

2.1 HTTP 介绍

2.2 HTTPS 介绍

2.3 常见状态码

3. Nginx 介绍和概念

3.1 Nginx 的核心特点

3.2 Nginx 的应用场景

4. Nginx 服务安装

4.1 安装前准备

4.2 通过安装包编译安装


Web 与 Nginx 网站服务

1. Web 的介绍和概念

Web(World Wide Web,万维网)是基于互联网的信息系统,通过超文本链接将全球范围内的文档和资源连接起来,用户可借助浏览器访问这些资源。它是互联网的核心应用之一,为用户提供了便捷的信息检索、交流互动和服务使用渠道。

1.1 Web 的核心组成

  • Web 资源:包括文本、图片、音频、视频、网页等各类可被访问的文件,这些资源通过统一资源定位符(URL)进行标识,例如https://www.example.com/index.html
  • Web 浏览器:用户用于访问 Web 资源的客户端工具,如 Chrome、Firefox、Edge 等,能够解析 HTML、CSS、JavaScript 等语言,将 Web 资源呈现为可视化页面。
  • Web 服务器:存储 Web 资源并响应浏览器请求的服务器软件(如 Nginx、Apache),通过 HTTP/HTTPS 协议与客户端进行通信,处理请求并返回对应的资源或结果。
  • HTTP/HTTPS 协议:Web 浏览器与服务器之间的通信规则,定义了请求的格式、响应的方式以及数据传输的规范,确保双方能够准确理解和处理信息。
  • Web 采用 B/S 架构( Browser/Server
    Browser (浏览器) :用户的入口,发送请求、渲染页面。
    Server (服务器) :接收请求,返回所需资源或动态内容

1.2 Web 的工作流程

  1. 用户在浏览器地址栏输入 URL(如https://www.example.com)并发送请求。
  2. 浏览器解析 URL,确定目标 Web 服务器的地址(IP)和端口。
  3. 浏览器通过 HTTP/HTTPS 协议向目标服务器发送请求,说明需要获取的资源。
  4. Web 服务器接收请求,查找对应的资源或执行相关处理。
  5. 服务器将资源或处理结果通过 HTTP/HTTPS 协议返回给浏览器。
  6. 浏览器解析返回的内容,将其渲染为用户可见的网页。

2. HTTP 与 HTTPS(介绍,状态码)

2.1 HTTP 介绍

HTTP(Hypertext Transfer Protocol,超文本传输协议)是 Web 浏览器与服务器之间进行数据传输的基础协议,采用客户端 - 服务器模式,通过明文方式传输数据。

  • 特点:无状态(每次请求都是独立的,服务器不保留之前的交互信息)、基于 TCP 连接(确保数据传输的可靠性)、简单高效(协议格式简洁,易于实现和解析)。
  • 默认端口:80。

2.2 HTTPS 介绍

HTTPS(Hypertext Transfer Protocol Secure,超文本传输安全协议)是在 HTTP 基础上加入 SSL/TLS 加密层的安全协议,用于保护数据传输的机密性和完整性。

  • 特点:数据加密(通过 SSL/TLS 对传输内容进行加密,防止被窃听)、身份认证(通过数字证书验证服务器身份,防止钓鱼攻击)、数据完整性校验(确保传输过程中数据未被篡改)。
  • 默认端口:443。
  • 与 HTTP 的区别:HTTPS 需要申请和配置数字证书,传输速度略慢于 HTTP(因加密解密过程消耗资源),但安全性显著高于 HTTP,常用于涉及敏感信息(如支付、登录)的场景。

2.3 常见状态码

状态码是服务器对客户端请求的响应标识,由三位数字组成,用于说明请求的处理结果,主要分为以下几类:

  • 1xx(信息类):表示服务器已接收请求,正在处理。例如:
    • 100:继续,客户端可继续发送请求。
  • 2xx(成功类):表示请求已成功处理。例如:
    • 200:成功,请求正常处理并返回数据。
    • 201:已创建,请求成功且服务器创建了新资源。
  • 3xx(重定向类):表示需要客户端进一步操作才能完成请求。例如:
    • 301:永久重定向,请求的资源已永久迁移到新 URL。
    • 302:临时重定向,资源临时位于新 URL,未来可能变更。
    • 304:未修改,客户端请求的资源自上次获取后未发生变化,可使用本地缓存。
  • 4xx(客户端错误类):表示客户端请求存在错误,服务器无法处理。例如:
    • 400:错误请求,请求格式不正确。
    • 401:未授权,请求需要身份验证(如登录)。
    • 403:禁止访问,服务器拒绝处理该请求(可能因权限不足)。
    • 404:未找到,请求的资源不存在。
  • 5xx(服务器错误类):表示服务器在处理请求时发生错误。例如:
    • 500:服务器内部错误,服务器处理请求时出现意外。
    • 502:网关错误,服务器作为网关时收到上游服务器的无效响应。
    • 503:服务不可用,服务器暂时无法处理请求(如维护中)。

3. Nginx 介绍和概念

Nginx(发音为 “engine x”)是一款高性能的开源 Web 服务器,同时也可作为反向代理服务器、负载均衡器和 HTTP 缓存服务器使用。它由俄罗斯程序员 Igor Sysoev 开发,以轻量、高效、高并发处理能力著称,广泛应用于各类网站和 Web 应用中。

3.1 Nginx 的核心特点

  • 高性能:采用异步非阻塞的事件驱动模型,能够高效处理大量并发连接(理论上支持数万甚至数十万并发连接),资源占用低(内存和 CPU 消耗少)。
  • 高可靠性:设计稳定,支持热部署(可在不停止服务的情况下更新配置或升级程序),单个进程崩溃后,主进程会自动重启新进程,确保服务持续运行。
  • 多功能:除作为 Web 服务器外,还支持反向代理(将客户端请求转发给后端服务器)、负载均衡(将请求分发到多个后端服务器,提高系统可用性和并发能力)、HTTP 缓存(缓存静态资源,减少后端服务器压力)、SSL/TLS 加密(支持 HTTPS)等功能。
  • 灵活性:配置文件简洁易懂,支持多种模块扩展(如用于处理 PHP 的 FastCGI 模块、用于压缩的 gzip 模块等),可根据需求灵活定制功能。

3.2 Nginx 的应用场景

  • 作为 Web 服务器,托管静态资源(如 HTML、CSS、JavaScript、图片等)。
  • 作为反向代理服务器,隐藏后端服务器信息,提高安全性,并实现请求转发。
  • 作为负载均衡器,将流量分发到多个应用服务器,避免单点故障,提升系统处理能力。
  • 作为 HTTP 缓存服务器,缓存常用资源,加快用户访问速度,减轻后端服务器负担。

4. Nginx 服务安装

以 CentOS 7 系统为例,介绍 Nginx 的安装步骤,其他 Linux 发行版(如 Ubuntu)步骤类似,仅包管理命令略有差异。

4.1 安装前准备

确保系统网络通畅,能够访问软件源。并且关闭防火墙

输入systemctl stop firewalld(关闭防火墙)systemctl disable firewalld(禁用防火墙)
setenforce 0(将 SELinux 切换为 ​​宽容模式

4.2 通过安装包编译安装

1. 下载 Nginx 源码包:从 Nginx 官网(http://nginx.org/)下载最新稳定版源码包,或使用 wget 命令下载。 输入wget https://nginx.org/download/nginx-1.20.2.tar.gz ,下载到 /opt下,或者自己下载安装包,然后发送到主机里

2.安装依赖包
#nginx的配置及运行需要pcre、zlib等软件包的支持,因此需要安装这些软件的开发包,以便提供相应的库和头文件。
输入:yum install -y gcc gcc-c++ make pcre pcre-devel zlib zlib-devel openssl openssl-devel

3.创建运行用户、组(Nginx 服务程序默认以 nobody 身份运行,建议为其创建专门的用户账号,以便更准确地控制其访问权限)
输入useradd -M -s /sbin/nologin nginx

4.解压Nginx 源码包

进入/opt下,然后解压Nginx 源码包,输入tar zxvf nginx-1.20.2.tar.gz -C /opt/,然后解压到/opt目录下

5.编译安装Nginx

进入刚解压好的 nginx-1.20.2/下 然后输入以下命令(中文是命令解释,不用输入)

./configure \
--prefix=/usr/local/nginx \                            #指定nginx的安装路径
--user=nginx \                                        #指定用户名
--group=nginx \                                        #指定组名
--with-http_stub_status_module
--with-http_ssl_module                           #启用 http_stub_status_module 模块以支持状态统计

然后输入make && make install 编译并安装软件​,将编译好的文件复制到系统目录

5.检查、启动、重启、停止 nginx服务

先创建软链接到系统命令的目录下 ,让系统识别

输入ln -s /usr/local/nginx/sbin/nginx /usr/local/sbin/


然后输入   nginx -t   检查配置文件是否配置正确     

显示安装正确,然后输入 nginx启动就可以了                        

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

相关文章:

  • 泛型-泛型方法
  • C++工程实战入门笔记10-面向对象之静态成员变量和成员函数、构造函数和析构函数
  • 【C++设计模式】第二篇:策略模式(Strategy)--从基本介绍,内部原理、应用场景、使用方法,常见问题和解决方案进行深度解析
  • 联软科技:以“韧性安全”守护数字世界,致敬抗战胜利80周年的坚韧精神
  • vite与webpack对比
  • ATT层MTU大小
  • 【工具变量】数林指数数据集(2017-2024年)
  • 力扣654:最大二叉树
  • 51单片机-按键、蜂鸣器、定时器模块及中断
  • 大文件断点续传解决方案:基于Vue 2与Spring Boot的完整实现
  • C++并发编程-23. 线程间切分任务的方法
  • `void 0` 与 `undefined` 深度解析
  • mysql安装(压缩包方式8.0及以上)
  • 2026届IC秋招联芸科技IC面经(完整面试题)
  • 从零开始学大模型之大语言模型
  • 大模型部署全攻略:Docker+FastAPI+Nginx搭建高可用AI服务
  • MindMeister AI版:AI思维导图工具高效生成框架,解决结构卡壳与逻辑优化难题
  • 十一、容器化 vs 虚拟化-K8s-Kustomize
  • Spark中的堆外和堆内内存以及内部行数据表示UnsafeRow
  • S 3.3深度学习--卷积神经网络--代码
  • (A题|烟幕干扰弹的投放策略)2025年高教杯全国大学生数学建模国赛解题思路|完整代码论文集合
  • 【mmcv自己理解】
  • “全结构化录入+牙位可视化标记”人工智能化python编程路径探析
  • 新电脑硬盘如何分区?3个必知技巧避免“空间浪费症”!
  • 如何监控员工的电脑?7款实用的员工电脑管理软件,探索高效管理捷径!
  • cursor+python轻松实现电脑监控
  • 【嵌入式DIY实例-ESP32篇】-倾斜弹跳球游戏
  • 小程序缓存数据字典
  • Android 项目:画图白板APP开发(三)——笔锋(多 Path 叠加)
  • 当液态玻璃计划遭遇反叛者:一场 iOS 26 界面的暗战