一、Web 基础Web 核心运行原理1.1 基础框架C / S 模式Web 采用客户端 - 服务器Client / Server模式客户端Client浏览器Chrome、Edge、Safari、APP、小程序服务器Server存放网站代码、处理请求、返回数据的远程机器1.2 核心机制请求 - 响应模型客户端发送请求服务器接收、处理请求服务器返回响应客户端渲染 / 展示结果1.3 Web 核心三要素URL同一资源定位符找打资源地址HTTP/HTTPS传输数据的规则HTML/CSS/JS展示页面的内容Web 核心协议HTTP/HTTPS2.1 URL 组成访问网站的地址https://www.baidu.com:443/index.html?nametest#top 协议 域名 端口 路径 参数 锚点协议http://明文传输https://加密传输域名IP 的别名方便记忆端口HTTP 默认 80HTTPS 默认 443路径服务器上文件 / 接口位置2.2 HTTP 请求核心内容1请求方法GET获取数据查如打开网页、加载图片POST提交数据增如登录、注册、上传文件PUT修改数据DELETE删除数据2HTTP 状态码响应结果200请求成功301/302页面跳转400请求错误403禁止访问404资源不存在500服务器内部错误2.3 HTTPS HTTP SSL/TLS 加密解决 HTTP明文传输、易被窃听、篡改的问题依赖 SSL 证书实现数据加密、身份验证Web 前端用户看到的页面前端负责页面展示、交互三大核心技术3.1 HTML结构超文本标记语言搭建页面骨架标题、段落、图片、按钮、表单。3.2 CSS样式层叠样式表美化页面颜色、布局、字体、动画。3.3 JavaScript交互脚本语言实现动态效果表单验证、轮播图、异步请求、页面交互。3.4 前端运行位置直接在浏览器中运行不依赖服务器计算。Web 后端处理逻辑的核心后端负责数据处理、业务逻辑、数据库操作用户不可见。4.1 后端开发语言Java、Python、PHP、Go、Node.js、C# 等。4.2 Web 服务器接收请求负责接收浏览器请求、返回静态资源、转发动态请求Nginx高并发、轻量适合静态服务、反向代理Apache稳定、兼容好IISWindows 服务器专用4.3 应用服务器处理逻辑运行后端代码处理业务TomcatJava、uWSGIPython、PHP-FPMPHP。4.4 数据库存储数据MySQL、PostgreSQL、Redis 等存储用户信息、文章、订单等数据。静态网站 vs 动态网站类型特点示例服务器处理静态网站内容固定直接返回文件纯 HTML、宣传页Nginx 直接返回文件动态网站内容实时生成数据可变商城、后台、论坛Nginx 转发给后端程序生成完整 Web 请求流程浏览器解析 URL拆分协议、域名、路径DNS 解析将域名转为服务器 IP 地址建立 TCP 连接三次握手浏览器发送 HTTP/HTTPS 请求服务器Nginx接收请求静态资源直接返回 HTML/CSS/ 图片动态请求转发给后端程序处理后端查询数据库生成页面 / 数据服务器返回响应结果浏览器渲染页面展示给用户断开 TCP 连接四次挥手二、Nginx 网站环境部署编译安装 Nginx安装支持软件# 关闭防火墙、SELinux内核防御机制systemctl stop firewalld systemctl disable firewalld setenforce0# 安装dnf-yinstallpcre-devel zlib-devel gcc* openssl-devel创建运行用户、组useradd-M-s/sbin/nologin nginx编译安装 Nginx# 解压tarzxvf nginx-1.26.3_http_proxy.tar.gz# 进入解压后的目录并且执行 ./configure 文件cdnginx-1.26.3 ./configure--prefix/usr/local/nginx\# 指定前缀--usernginx\# 指定 nginx 运行用户--groupnginx\# 指定 nginx 运行组--with-http_ssl_module\# 支持 https://--with-http_v2_module\# 支持 http 版本 2--with-http_realip_module\# 支持 ip 透传--with-http_stub_status_module\# 支持状态页面--with-http_gzip_static_module\# 支持压缩--with-pcre\# 支持正则--with-stream\# 支持 tcp 反向代理--add-module./ngx_http_proxy_connect_module# 支持 https 转发nginx 默认不支持# 编译makemakeinstall# 在 /usr/local/sbin 下创建 nginx 可执行文件的软链接全局ln-s/usr/local/nginx/sbin/nginx /usr/local/sbinls-l/usr/local/sbin/nginxNginx 的运行控制检查配置文件nginx-t启动、停止 Nginx# 启动nginx# 查看状态netstat-anpt|grepnginx# 终止killall-9nginxkillall-sHUP nginx添加 Nginx 系统服务cd/lib/systemd/systemvimnginx.service[Unit]DecriptionThe NGINX HTTP and reverse proxy serverAfternetwork.target[Service]TypeforkingPIDFile/usr/local/nginx/logs/nginx.pidExecStart/usr/local/sbin/nginxExecStop/usr/sbin/nginx-sstopExecReload/usr/local/sbin/nginx-sreload[Install]WantedBymulti-user.target备注fork 本身是一个进程当执行 ExecStart 启动 nginx 进程的时候fork 进程自身以 daemon 模式运行将 nginx 作为一个子进程并启动起来这个 nginx 的子进程。然后 fork 父进程退出并将 fork 出的 nginx 子进程作为服务主进程进行跟踪systemctl daemon-reload systemctlenablenginx systemctl start nginx