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

Web技术与Apache网站部署

一、Web 基础与 HTTP 协议

1.1 静态网页与动态网页

静态网页

  • 定义:由纯 HTML、CSS、JavaScript 构成,文件扩展名为 .htm 或 .html。内容在服务器生成后固定不变,仅通过客户端脚本(如 JS)实现视觉动态效果(如动画)。

  • 特点:加载速度快、安全性高,但维护成本高,无法根据用户请求动态生成内容。

  • 适用场景:企业官网、产品展示页等内容稳定的场景。

动态网页

  • 定义:结合后端编程语言(如 PHP、Python、Java)与数据库技术生成,扩展名通常为 .php.jsp.aspx 等。URL 中常包含 ? 符号标识动态参数。

  • 特点:内容实时变化,支持用户交互(如登录、搜索),但服务器负载较高。

  • 技术分类

    • CGI:早期动态网页技术,效率低,逐渐被淘汰。

    • 现代语言:PHP(语法简洁,适合快速开发)、JSP(基于 Java,适合企业级应用)、Python(跨平台,生态丰富)。


1.2 HTTP 协议核心机制

HTTP 方法对比

方法特点安全性适用场景
GET参数暴露于 URL,长度受限(≤2048 字符),可缓存低(敏感信息易泄露)获取数据(如搜索)
POST参数隐藏于请求体,无长度限制,不可缓存较高提交敏感数据(如登录、表单)
PUT上传资源至服务器需身份验证RESTful API 资源更新
DELETE删除服务器资源需身份验证RESTful API 资源删除

HTTP状态码分类

状态码类别常见示例含义
1xx信息提示100(继续)请求已接收,需继续处理
2xx成功200(OK)、206(部分内容)请求处理成功
3xx重定向301(永久跳转)、403(禁止访问)资源位置变更,需客户端跳转
4xx客户端错误404(资源未找到)、403(禁止访问)请求错误或权限不足
5xx服务器错误500(内部错误)、503(服务不可用)服务器处理请求失败
HTTP 请求流程
  1. 客户端请求

    • 请求行:包含方法(GET/POST)、URL、协议版本。

    • 请求头:附加信息(如 HostUser-AgentAccept-Language)。

    • 请求体:POST 方法提交的参数(如表单数据)。

  2. 服务器响应

    • 状态行:协议版本、状态码(如 200)、状态描述。

    • 响应头:服务器信息(如 ServerContent-Type)。

    • 响应体:HTML 页面或其他资源。


二、DNS 与域名解析

2.1 域名结构

  • 格式主机名.二级域名.顶级域名(如 www.baidu.com)。

  • 层级解析:从右向左,顶级域名(.com)→ 二级域名(baidu)→ 主机名(www)。

  • 管理机制:根服务器(全球 13 台)→ 顶级域名服务器(.com.cn)→ 权威 DNS 服务器。

2.2 Hosts 文件

  • 作用:本地域名解析,优先级高于 DNS。

  • 修改方法

    • WindowsC:\Windows\System32\drivers\etc\hosts

    • Linux/etc/hosts

  • 应用场景:开发测试(如将 www.test.com 指向 127.0.0.1)。

2.3 DNS 解析类型

  • 静态映射:每台设备独立维护映射表(如 Hosts 文件)。

  • 动态映射:通过 DNS 服务器集中解析,支持递归查询与迭代查询。


三、Apache HTTP 服务器部署

3.1 Apache 核心特点

  • 开源跨平台:支持 Linux、Windows、Unix。

  • 模块化设计:通过动态加载模块(如 mod_rewrite)扩展功能。

  • 高性能与安全:支持高并发,定期更新漏洞补丁。

3.2 源码编译安装步骤

1.依赖安装

dnf install -y apr-util-devel pcre-devel gcc make

2.解压与配置:

tar zxf httpd-2.4.48.tar.gz -C /usr/src
cd /usr/src/httpd-2.4.48
./configure --prefix=/usr/local/httpd --enable-so --enable-rewrite

3.编译与安装

make && make install

4.优化路径:

ln -s /usr/local/httpd/bin/* /usr/local/bin

5.系统服务集成

  • 创建 httpd.service 文件,配置Systemd管理。
  • 启用服务:

systemctl enable httpd --now


四、虚拟主机配置

4.1 基于域名的虚拟主机

实现步骤

  1. DNS解析:将多个域名(如 www.kgc.com 和 www.kcce.com)指向同一IP。
  2. 目录准备:

mkdir -p /var/www/html/{kgccom,kccecom}
echo "<h1>kgc</h1>" > /var/www/html/kgccom/index.html

        3.配置文件

<VirtualHost *:80>
    DocumentRoot "/var/www/html/kgccom"
    ServerName www.kgc.com
    ErrorLog "logs/kgc_error.log"
</VirtualHost>

        4.加载配置:在 httpd.conf 中添加 Include conf/extra/httpd-vhosts.conf。

4.2 基于 IP 与端口的虚拟主机

  • 基于 IP:每个虚拟主机绑定独立 IP,需服务器配置多网卡。

  • 基于端口:通过不同端口(如 80 和 8080)区分服务,需在配置中指定 Listen 指令。

五、核心配置文件解析

5.1 httpd.conf 全局配置项

  • ServerRoot:Apache 安装目录(如 /usr/local/httpd)。

  • Listen:监听端口(默认 80)。

  • DocumentRoot:网站根目录(如 /usr/local/httpd/htdocs)。

  • DirectoryIndex:默认首页(如 index.html index.php)。

5.2 目录权限控制

<Directory "/var/www/html">
    Options Indexes FollowSymLinks
    AllowOverride None
    Require all granted
</Directory>

  • Options:控制目录行为(如 FollowSymLinks 允许符号链接)
  • Require:访问权限(granted 允许所有用户)

相关文章:

  • Halcon 3D 表面匹配基于形状
  • Google Earth Engine 中地形晕渲图(Hillshade)的实现与应用
  • 使用Python在excel里创建柱状图
  • 我的HTTP和HTTPS
  • Web开发之三层架构
  • jdk开启https详细步骤
  • 深入理解CSS3:Flex/Grid布局、动画与媒体查询实战指南
  • Linux权限概念讲解
  • 鸿蒙 长列表加载性能优化
  • 【Web应用服务器_Tomcat】三、Tomcat 性能优化与监控诊断
  • 优化 Flutter 应用启动:从冷启动到就绪仅需 2 秒
  • Flow原理
  • 使用TortoiseGit进行文件比较
  • JAVA-ArrayList使用方法
  • RecoNIC 入门:SmartNIC 上支持 RDMA 的计算卸载-FPGA-智能网卡-AMD-Xilinx
  • 实战指南:搭建AIRIOT全场景智慧养老管理平台系统全流程解析
  • 使用手机录制rosbag包
  • 高性价比手机如何挑选?
  • 基于 SSE 和分块传输的 Uniapp 微信小程序 实现 流式传输 对话
  • 第十二节:性能优化高频题-shallowRef/shallowReactive使用场景
  • 上海112位全国劳动模范和先进工作者接受表彰,樊振东榜上有名
  • 北京公园使用指南
  • 国内生产、境外“游一圈”再进保税仓,这些“全球购”保健品竟是假进口
  • 哈马斯同意释放剩余所有以色列方面被扣押人员,以换取停火五年
  • 申花四连胜领跑中超,下轮榜首大战对蓉城将是硬仗考验
  • 我驻阿巴斯总领馆:将持续跟踪港口爆炸事件进展,全力确保中方人员安全