Linux的web服务器的部署和优化

http中访问请求中I/O结构

在HTTP协议中,I/O(输入/输出)结构主要涉及客户端与服务器之间的请求和响应交互。以下是HTTP请求和响应的基本结构及其关键组成部分:

HTTP请求结构

HTTP请求由请求行、请求头和请求体三部分组成

请求行:包含请求方法(如GET、POST)、请求的URI(如/index.html)和HTTP版本(如HTTP/1.1)。

请求头:包含客户端向服务器传递的附加信息,如Host、User-Agent、Accept等。

请求体:在POST或PUT请求中,请求体包含客户端发送给服务器的数据,如表单数据或文件内容。

HTTP响应结构

HTTP响应由状态行、响应头和响应体三部分组成。

状态行:包含HTTP版本(如HTTP/1.1)、状态码(如200)和状态消息(如OK)。

响应头:包含服务器返回的附加信息,如Content-Type、Content-Length等。

响应体:包含服务器返回的实际数据,如HTML内容、JSON数据等。

I/O操作

在HTTP通信中,I/O操作主要涉及网络套接字的读写。客户端通过套接字向服务器发送请求,服务器通过套接字返回响应。以下是一个简单的Python示例,展示如何使用socket库进行HTTP请求和接收响应:

关键点

  • 请求方法:GET、POST、PUT、DELETE等,用于指定客户端希望执行的操作。
  • 状态码:如200(成功)、404(未找到)、500(服务器内部错误)等,用于表示请求的处理结果。
  • 头信息:包含元数据,如内容类型、内容长度、缓存控制等,用于控制请求和响应的行为。
  • 体内容:包含实际传输的数据,如HTML、JSON、XML等

nginx的安装与启用

#dnf install nginx -y

#systemctl enable --now nginx        //开启nginx的守护进程

#firewall-cmd --permanent --add-service=http       

#firewall-cmd --reload

#firewall-cmd --list-all

/usr/share/nginx/html--默认发布目录 

/usr/share/nginx/html/index.html--默认发布文件

nginx的主配置文件及其修改

# vim /etc/nginx/nginx.conf

# nginx -s reload        //重新加载主配置文件的修改
# firewall-cmd --permanent --add-port=8080/tcp
# firewall-cmd --reload

nginx发表文件

# echo i am a test_file > /usr/share/nginx/html/test.html
# vim /etc/nginx/nginx.conf
# nginx -t        //检测配置文件中是否有错误
# nginx -s reload        //重载修改的配置

nginx发表目录

创建目录作为新的发行目录并创建发行文件

nginx的访问控制

#dnf install httpd-tools -y

# htpasswd -cm /etc/nginx/.htpasswd fjw
# htpasswd -m /etc/nginx/.htpasswd yyy

# nginx -s reload
# curl 192.168.0.0 -u yyy:123

配置日志

Nginx 支持访问日志和错误日志的配置。

重启和重载 Nginx

在修改配置文件后,需要重启或重载 Nginx 以使更改生效。

检查配置文件语法

在重载或重启 Nginx 之前,建议检查配置文件的语法是否正确。

常用命令

以下是一些常用的 Nginx 命令

# 启动 Nginx
sudo systemctl start nginx

# 停止 Nginx
sudo systemctl stop nginx

# 查看 Nginx 状态
sudo systemctl status nginx

# 重载 Nginx
sudo nginx -s reload

# 检查配置文件语法
sudo nginx -t
 

你可能感兴趣的:(服务器,运维)