第九篇:HTTP概述和Nginx部署

第九篇:HTTP概述和Nginx部署

HTTP(超文本传输协议)⭐⭐⭐⭐⭐

默认端口:80

HTTP(超文本传输协议):数据请求与响应

请求request:访问网站

响应response:显示网站,返回客户端想要的内容

URI和URL

URI(Uniform Resource Identifier 统一资源标识符)

URL(Uniform Resource Locator 统一资源定位符)

所有的URL都是URI,URL主要强调资源的地址,URL更注重资源的标识

HTTP请求方式⭐⭐⭐

用于指定客户端如何访问服务端(上传,下载,查看服务端信息)

常见的请求方式

说明

GET

下载(大部分请求都是GET请求)

POST

上传(登录,上传文件)

HEAD

类似于GET,仅仅输出响应的头部信息(用于查看服务信息)

curl -I www.baidu.com

浏览器调试查看

访问方式

curl -v www.baidu.com

wget --debug www.baidu.com

浏览器访问

浏览器调试功能:DevTools(开发者工具)

F12或Fn+F12查看网络部分

HTTP协议版本⭐⭐

http1.0

http1.1

http2.0

http3.0

特点

短(无)连接:每次请求都要建立连接

队头阻塞:下一个请求必须等待前一个响应到达之前才能发送

长连接:keepalive功能

管道传输:单个连接可以发送多个请求

多路复用

多个请求可以同时通过一个连接

头部压缩

基于udp,应用了媒体流

是否加密

默认不加密

默认不加密

默认基于https

默认基于https

基于tcp/udp

tcp

tcp

tcp

udp

HTTP协议详解⭐⭐⭐⭐⭐

HTTP请求报文⭐⭐⭐

HTTP响应报文⭐⭐⭐

http协议响应状态码⭐⭐⭐⭐⭐

状态码

详细状态码

含义

2xx

200 ok

访问正常

3xx

301 Moved Permanently

永久跳转

302 Found或Moved Temporarily

临时跳转

304 Not Modified

浏览器缓存

4xx

403 Forbidden

权限拒绝(拒绝访问)

权限问题

首页文件问题

404 Not Found

文件找不到(一般通过辅助错误日志排查)

5xx

500 Internal Error

内部错误(一般是SELinux开启,其他原因通过辅助错误日志排查)

502 Bad Gateway

网关错误,一般发生在负载中(请求发送到后面,后面无人处理)

503 service temporarily unavailable

服务临时不可用(后端负载异常或人为设置)

504 Gateway Time-out

网关超时

响应状态码:https://developer.mozilla.org/zh-CN/docs/Web/HTTP/Status

WEB集群-Nginx⭐⭐⭐⭐⭐

WEB服务:部署并启动该服务,便可以搭建网站

中间件:夹在用户与数据之间的都可以称为中间件

WEB中间件:等同于web服务

衡量系统访问量指标

指标

说明

IP

访问网站的ip数(公网ip)

PV

页面访问量(Page view)

UV

独立访客数(Unique VIstor 特定时间段内访问网站的独立用户数量)

DAU

日活跃用户(Daily Active Users)

MAU

月活跃用户(Monthly Active Users)

查询网站排名:https://alexa.chinaz.com

常见网站服务

网站服务

说明

Nginx

大部分都是用nginx

Tengine

基于Nginx二次开发(淘宝开发)

Openresty

基于Nginx二次开发,加强了Lua功能与模块

Tomcat/Jboss/Jetty/Weblogic

运行java环境

PHP

运行php环境,需要使用nginx(LNMP)

Nginx服务部署

配置yum源

[nginx-stable]

name=nginx stable repo

baseurl=http://nginx.org/packages/centos/$releasever/$basearch/

gpgcheck=1

enabled=1

gpgkey=https://nginx.org/keys/nginx_signing.key

module_hotfixes=true

启动与管理

# 检查服务状态

systemctl start nginx

systemctl enable nginx

systemctl status nginx

# 检查端口

ss -lntup |grep 80

# 检查进程

ps -ef |grep nginx

Nginx目录及其文件⭐⭐⭐⭐⭐

目录结构⭐⭐⭐⭐

目录结构

说明

/etc/nginx/

nginx各种配置文件

/etc/nginx/nginx.conf

主配置文件

/etc/nginx/conf.d/

子配置文件存放目录

/etc/nginx/conf.d/default.conf

默认的子配置文件

/usr/sbin/nginx

nginx命令文件

/usr/share/nginx/html/

nginx默认的站点目录

/var/log/nginx/

nginx日志:访问日志、错误日志、跳转日志

/etc/logrotate.d/nginx

日志切割(防止文件过大)

/etc/nginx/mime.types

媒体类型文件

/etc/nginx/fastcgi_params

nginx+php

/etc/nginx/uwsgi_params

nginx+python

/usr/lib/systemd/system/nginx.service

systemctl 配置文件

/var/cache/nginx/

缓存目录

主配置文件⭐⭐⭐⭐⭐

include

文件包含或引用,引用nginx配置文件

user

指定nginx用户

error_log

错误日志

access_log

访问日志

子配置文件⭐⭐⭐⭐⭐

listen

指定监听端口

server_name

指定域名,多个域名通过空格分割

location

匹配请求中的uri(location / 标识匹配所有)

root

指定站点目录(站点目录:存放网站文件的文件系统位置)

root /app/code/www

www.baidu.com/yuan/xiaojiang.txt

/app/code/www/yuan/xiaojiang.txt

index

指定站点的首页文件(只输入域名默认展示首页)

error_log

指定错误状态码与对应的错误页面

部署小鸟飞飞网站网站⭐⭐⭐⭐⭐

网站要求

说明

站点

xiaoniao.master.cn

站点目录

/app/code/xiaoniao-master/

代码来源

xiaoniao-master.zip

小鸟飞飞源代码:https://gitee.com/ithos/xiaoniao

配置文件

# 子配置文件 /etc/nginx/conf.d/xiaoniao.master.cn.conf

server {

listen 80;

server_name xiaoniao.master.cn; root /app/code/xiaoniao-master/;

location / {

index index.html;

}

}

# 检测是否有语法错误

[root@web01 /etc/nginx/conf.d]# nginx -t

nginx: the configuration file /etc/nginx/nginx.conf syntax is ok

nginx: configuration file /etc/nginx/nginx.conf test is successful

# 重启系统

[root@web01 /etc/nginx/conf.d]# systemctl reload nginx

代码部署

# 创建目录

mkdir -p /app/code/xiaoniao-master/

# 上传、解压代码

unzip xiaoniao-master.zip

mv xiaoniao-master/* /app/code/xiaoniao-master/

# 配置Linux和windows的 hosts解析

#windows

C:\Windows\System32\drivers\etc\hosts windows的hosts文件需要以管理员身份进行运行

# Linux

/etc/hosts

10.0.0.7 xiaoniao.master.cn

访问

相关推荐

proe散热分析
bat365bet

proe散热分析

📅 07-17 👁️ 7646
淘宝差评要多久才自动消失?如何修改评价?
365bet提款要求

淘宝差评要多久才自动消失?如何修改评价?

📅 07-16 👁️ 5141
绝招的意思
bat365bet

绝招的意思

📅 08-29 👁️ 4594