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 的工作流程
- 用户在浏览器地址栏输入 URL(如https://www.example.com)并发送请求。
- 浏览器解析 URL,确定目标 Web 服务器的地址(IP)和端口。
- 浏览器通过 HTTP/HTTPS 协议向目标服务器发送请求,说明需要获取的资源。
- Web 服务器接收请求,查找对应的资源或执行相关处理。
- 服务器将资源或处理结果通过 HTTP/HTTPS 协议返回给浏览器。
- 浏览器解析返回的内容,将其渲染为用户可见的网页。
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启动就可以了