【Day 19】Linux-网站操作
一、网站相关概念
1、协议
协议 | 基本概念 |
HTTP | (HyperText Transfer Protoco,超文本传输协议)用于从网络服务器传输超文本到本地浏览器的协议,属于明文传输协议。数据以明文形式传输,容易被拦截或篡改。默认使用80端口。 |
HTTPS | (HyperText Transfer Protocol Secure)HTTP的安全版本,通过SSL/TLS协议对传输数据进行加密,确保传输过程的机密性和完整性。默认使用443端口。 |
HTTP版本
HTTP协议经历了多个版本的迭代:
- HTTP/0.9:仅支持GET方法,无法传递头部信息,响应内容只能是纯文本。
- HTTP/1.0:引入MIME机制(支持非文本内容)、缓存机制,短连接。
- HTTP/1.1:支持长连接和管道化技术,缓存技术。
- HTTP/2:引入二进制分帧、多路复用等技术,显著提升效率。
- HTTP/3:基于QUIC协议,进一步优化了传输性能。
(1)MIME
MIME通过定义消息格式和编码方式,解决了传统邮件协议仅支持ASCII文本内容类型声明。
通过 Content-Type
头字段标识数据类型
MIME 类型通常通过配置文件 mime.types
定义,以确保服务器能正确发送文件的 Content-Type 头
Content-Type 声明 | 数据类型 |
---|---|
text/plain | 纯文本文件 |
text/css | CSS 样式表 |
application/javascript | JavaScript 文件(新标准) |
application/json | JSON 数据 |
application/pdf | PDF 文件 |
application/octet-stream | 二进制数据(通常用于下载) |
image/png | PNG 图像 |
image/gif | GIF 图像 |
audio/mpeg | MP3 音频 |
video/mp4 | MP4 视频 |
(2)缓存机制
(3)短/长连接
- 短连接:每次请求-响应后断开连接,频繁建立/断开连接增加开销。
- 长连接:客户端与服务器之间建立一次TCP连接后,可以持续传输多个请求和响应,而非每次通信后立即断开。通过复用TCP连接传输多次数据,减少握手次数。
(4)管道化
- 传统HTTP请求:客户端发送一个请求后必须等待服务器响应,才能发送下一个请求。
- 管道化HTTP请求:允许客户端在同一个TCP连接上连续发送多个HTTP请求,而无需等待服务器返回响应的技术。服务器按接收顺序依次处理并返回响应。
2、网站
网站是由多个网页通过超链接相互连接形成的集合,通常托管在服务器上并通过互联网访问。其核心要素包括域名、服务器、网页文件(HTML/CSS/JavaScript)及数据库(动态网站需使用)。
网站类型 | 基本概念 | 开发语言 |
静态网站 | 由预先生成的HTML、CSS和JavaScript等文件组成,内容固定不变,除非手动修改代码。服务器直接返回这些文件,无需实时处理。 | HTML、Jquery、Js、CSS |
动态网站 | 通过服务器端脚本实时生成内容,数据通常存储在数据库中,页面内容可根据用户交互或请求动态变化。 | PHP(专为Web开发)、JAVA(Web、移动开发) |
3、Web服务器软件
Web服务器软件 | 特点 | ||
静态资源 | httpd (Apache HTTP Server) | 支持.htaccess分布式配置,适合共享主机环境,专注静态内容。 | |
nginx | 集中式配置,不支持目录级配置(如.htaccess)擅长高并发静态内容服务(如图片、CSS/JS)、反向代理、负载均衡 | ||
动态资源 | tomcat |
二、Nginx
1、下载nginx
- RPM包安装通常会在安装时自动生成配置文件、创建服务单元文件并设置开机自启,并且通常可以使用systemctl 命令直接管理服务(如启动、停止或查看状态)。通过rpm-e 卸载时,通常会清理服务文件和相关配置。
- Tar 包解压后需要手动配置和管理,通常不直接集成到系统服务体系中。需要手动编写启动脚本或 Systemd 服务文件,或直接运行二进制文件。删除 Tar 包解压的文件不会自动清理服务配置,需手动删除相关文件和脚本。
// Nginx 编译需要 C 编译器。需要先安装 GCC(GNU C 编译器)
2、设置开机自启动并添加执行权限
# vim /etc/rc.d/rc.local //初始化脚本,存储 Linux 系统的启动过程中执行用户自定义命令
# chmod a+x /etc/rc.d/rc.local
3、去浏览器搜索自己虚拟机的ip。
4、关闭
# /usr/local/nginx/sbin/nginx -s stop
//再去浏览器搜就搜不到了。
5、再次启动
3、Nginx文件
(1)主配置文件
错误日志级别: