技能目标
- 能够区分静态页面与动态页面的差异
- 理解 HTTP 协议中 GET 与 POST 的使用场景
- 掌握 HTTP 请求与响应的完整流程
- 独立完成 Nginx 服务器的编译、安装与配置
前言
互联网技术飞速发展,企业应用大多以网页形式提供服务。想要掌握网站搭建、运维与优化,必须先打好 Web 基础。本章将从域名、网页、HTTP 协议等核心概念讲起,逐步过渡到高性能 Web 服务器 Nginx 的部署,为后续网站开发与服务维护打下扎实基础。
一、Web 基础核心知识
1. 域名与 DNS 解析
(1)域名的定义
网络中的主机依靠IP 地址 进行通信,但 IP 地址由数字组成,不便记忆。因此出现了域名,它是与 IP 对应的字符型地址,方便用户访问网站。
(2)域名层级结构
域名采用分层结构,从右向左级别依次降低:
- 根域:全球仅有 13 台根服务器
- 顶级域:
.com、.net、.org、.cn - 二级域:自定义名称,如
baidu、qq - 主机名:
www、mail、blog
完整格式示例:www.baidu.com
(3)DNS 系统
DNS(域名解析系统)负责将域名转换为 IP 地址。
- 静态解析:本机 Hosts 文件指定映射
- 动态解析:向 DNS 服务器发起查询解析顺序:Hosts 文件 → 本地缓存 → DNS 服务器
(4)Hosts 文件作用
Hosts 是本地域名映射文件,优先级高于 DNS。
- Linux 路径:
/etc/hosts - Windows 路径:
C:\Windows\System32\drivers\etc\hosts
bash
运行
192.168.1.100 www.myblog.com
(5)域名注册流程
- 准备资料:个人身份证或企业证件
- 选择正规注册商
- 查询域名是否可注册
- 提交申请并缴费
- 注册成功,配置解析记录
2. 网页与 HTML 基础
(1)网页组成
网页是存储在服务器上的文件,通过浏览器展示,包含:
- 文字、图片、音频、视频
- 超链接、表格、表单
- 导航栏、交互脚本
(2)HTML 语言
HTML(超文本标记语言)是制作网页的标准语言,由标签构成。
html
预览
<html>
<head>
<meta charset="utf-8">
<title>我的网页</title>
</head>
<body>
<h1>欢迎访问</h1>
<a href="index.html">返回首页</a>
</body>
</html>
(3)网站与首页
- 网站:由多个页面、域名、空间组成
- 首页:访问域名时默认加载的页面,通常为
index.html
(4)Web1.0 与 Web2.0
- Web1.0:网站提供内容,用户被动浏览
- Web2.0:用户参与创作、分享、互动
3. 静态网页与动态网页
(1)静态网页
- 后缀:
.html、.htm - 内容固定,不连接数据库
- 响应速度快、安全性高
- 修改需直接编辑源码
(2)动态网页
- 后缀:
.php、.jsp、.asp - 可连接数据库,内容实时变化
- 支持登录、查询、提交等交互
- URL 常携带参数,如
?id=10
(3)常用动态开发语言
- PHP:简单高效,Web 环境常用
- JSP:企业级 Java 平台
- Python:开发迅速,适合数据平台
- Ruby:简洁轻量,快速开发
二、HTTP 协议详解
1. HTTP 协议概述
HTTP(超文本传输协议)是 Web 通信的标准规则,采用请求 - 响应模式。
2. HTTP 请求方式
常用两种:
- GET:获取资源,参数显示在 URL 中
- POST:提交数据,参数存放在请求体
对比:
- GET:可缓存、长度有限、参数可见
- POST:不缓存、无长度限制、更安全
3. HTTP 状态码
服务器返回的执行结果标识:
- 2xx:请求成功(200)
- 3xx:重定向(301)
- 4xx:客户端错误(403、404)
- 5xx:服务器错误(500、502、503)
4. HTTP 完整访问流程
- 用户在浏览器输入网址
- 系统解析域名获取服务器 IP
- 客户端发送 HTTP 请求
- 服务器接收并处理请求
- 服务器返回响应数据
- 浏览器渲染页面展示
三、Nginx 网站服务搭建
1. Nginx 介绍
Nginx 是轻量级、高性能 Web 服务器,优势:
- 内存占用低
- 并发处理能力强
- 支持静态网页、代理、负载均衡
- 广泛应用于高并发网站
2. 环境准备
关闭防火墙与 SELinux:
bash
运行
systemctl stop firewalld
systemctl disable firewalld
setenforce 0
安装依赖包:
bash
运行
yum -y install gcc pcre-devel zlib-devel openssl-devel
3. 创建运行用户
bash
运行
useradd -M -s /sbin/nologin nginx
4. 编译安装 Nginx
bash
运行
tar zxf nginx-1.26.3.tar.gz
cd nginx-1.26.3
./configure \
--prefix=/usr/local/nginx \
--user=nginx \
--group=nginx \
--with-http_ssl_module \
--with-http_stub_status_module
make && make install
ln -s /usr/local/nginx/sbin/nginx /usr/local/sbin/
5. Nginx 服务管理
检查配置文件
bash
运行
nginx -t
服务控制
bash
运行
nginx # 启动服务
killall -s QUIT nginx # 停止服务
killall -s HUP nginx # 重新加载配置
配置 systemd 服务
bash
运行
vim /lib/systemd/system/nginx.service
ini
[Unit]
Description=nginx web server
After=network.target
[Service]
Type=forking
PIDFile=/usr/local/nginx/logs/nginx.pid
ExecStart=/usr/local/sbin/nginx
ExecReload=/usr/local/sbin/nginx -s reload
ExecStop=/usr/local/sbin/nginx -s stop
[Install]
WantedBy=multi-user.target
bash
运行
systemctl daemon-reload
systemctl start nginx
systemctl enable nginx
6. Nginx 配置文件结构
主配置文件:/usr/local/nginx/conf/nginx.conf
- 全局块:运行用户、进程数
- events 块:连接模型与并发设置
- http 块:日志、文件类型、超时
- server 块:监听端口、域名、站点目录
- location 块:匹配访问路径
7. 开启状态监控页面
bash
运行
location /status {
stub_status on;
access_log off;
}
访问:http://服务器IP/status 可查看连接状态与请求统计。
本章总结
本章全面讲解了 Web 基础理论与 Nginx 服务器搭建,是网站运维的必备内容:
-
Web 基础理解域名、DNS、Hosts 文件的作用,掌握静态 / 动态网页区别,了解 HTML 页面结构与网页组成元素。
-
HTTP 协议掌握 HTTP 请求 - 响应模型,熟悉 GET/POST 使用场景,认识常见状态码,理解网页访问全过程。
-
Nginx 部署完成环境准备、编译安装、服务配置全过程,掌握启动、停止、检查、重载等日常管理命令。
-
Nginx 配置熟悉配置文件结构,能够搭建基础网站,开启状态监控,具备独立部署 Web 服务的能力。