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 服务的能力。

相关推荐
虾..2 小时前
Linux 网络基础(1)
linux·网络·智能路由器
野生工程师3 小时前
【Linux基础】CentOS Stream10详细安装教程
linux·运维·centos
爱装代码的小瓶子3 小时前
【c++与Linux进阶】轻量化进程与虚拟地址和页表
linux·开发语言·c++
liurunlin8883 小时前
Linux系统安装部署Tomcat
linux·运维·tomcat
tingting01193 小时前
linux系统-统计连接数-钉钉告警
linux·数据库·钉钉
尘觉3 小时前
OpenClaw 入门:OpenClaw 环境搭建完整指南(Mac / Windows / Linux)(2026-3月最新版)
linux·windows·macos
xlp666hub3 小时前
进来看看你对进程虚拟内存的了解有多深?
linux·面试
yann_qu3 小时前
Mac通过ssh远程连接wsl
linux·windows·macos·ssh·wsl
默|笙3 小时前
【Linux】库制作与原理(3)_动静态库的链接过程
linux