【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)主配置文件

错误日志级别: