Web基础与Nginx部署全攻略

技能目标

  • 能够区分静态页面与动态页面的差异
  • 理解 HTTP 协议中 GET 与 POST 的使用场景
  • 掌握 HTTP 请求与响应的完整流程
  • 独立完成 Nginx 服务器的编译、安装与配置

前言

互联网技术飞速发展,企业应用大多以网页形式提供服务。想要掌握网站搭建、运维与优化,必须先打好 Web 基础。本章将从域名、网页、HTTP 协议等核心概念讲起,逐步过渡到高性能 Web 服务器 Nginx 的部署,为后续网站开发与服务维护打下扎实基础。


一、Web 基础核心知识

1. 域名与 DNS 解析

(1)域名的定义

网络中的主机依靠IP 地址 进行通信,但 IP 地址由数字组成,不便记忆。因此出现了域名,它是与 IP 对应的字符型地址,方便用户访问网站。

(2)域名层级结构

域名采用分层结构,从右向左级别依次降低:

  • 根域:全球仅有 13 台根服务器
  • 顶级域:.com.net.org.cn
  • 二级域:自定义名称,如baiduqq
  • 主机名:wwwmailblog

完整格式示例: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)域名注册流程

  1. 准备资料:个人身份证或企业证件
  2. 选择正规注册商
  3. 查询域名是否可注册
  4. 提交申请并缴费
  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 完整访问流程

  1. 用户在浏览器输入网址
  2. 系统解析域名获取服务器 IP
  3. 客户端发送 HTTP 请求
  4. 服务器接收并处理请求
  5. 服务器返回响应数据
  6. 浏览器渲染页面展示

三、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 服务器搭建,是网站运维的必备内容:

  1. Web 基础理解域名、DNS、Hosts 文件的作用,掌握静态 / 动态网页区别,了解 HTML 页面结构与网页组成元素。

  2. HTTP 协议掌握 HTTP 请求 - 响应模型,熟悉 GET/POST 使用场景,认识常见状态码,理解网页访问全过程。

  3. Nginx 部署完成环境准备、编译安装、服务配置全过程,掌握启动、停止、检查、重载等日常管理命令。

  4. Nginx 配置熟悉配置文件结构,能够搭建基础网站,开启状态监控,具备独立部署 Web 服务的能力。

相关推荐
朝发如雪9 分钟前
快速掌握Linux(2)(时间相关函数)(文件IO)
linux·python·算法
郭涤生14 分钟前
VScode回归ACM模式(古法编程)配置
linux·ide·vscode
盐焗鹌鹑蛋19 分钟前
【Linux】ELF与库加载
java·linux·服务器
梦诺36 分钟前
LINUX定时执行脚本
linux·运维·服务器
wazmlp0018873691 小时前
控制器管理
linux·运维·服务器
学linux的QQ蛋1 小时前
Linux 文件 IO:系统调用 open/read/write 完整总结
linux·运维·算法
sg_knight1 小时前
openCode 安装与初始化配置(Windows / macOS / Linux)
linux·windows·macos·llm·agent·ai编程·opencode
Rei22481 小时前
使用llama.cpp的Qwen3.6-27B-Q8本地部署详解【Linux GPU】
linux·运维·llama
ComputerInBook1 小时前
Linux内核之概观
linux·linux内核代码结构·linux内核结构
M78佐菲11 小时前
c语言学习笔记:排序与查找方法整理
linux·c语言·笔记·学习·算法