2024年7月29日(web nginx)

web

一、web基本概念和常识

Web:为用户提供的一种在互联网上浏览信息的服务,Web服务是动态的、可交互的、跨平台的和图形化的。

Web 服务为用户提供各种互联网服务,这些服务包括信息浏览服务,以及各种交互式服务,包括聊天、购物、学习等等内容。

Web 应用开发也经过了几代技术的不断发展,目前Web开发依然是最重要的开发内容之一。Web基础的技术包括超文本标记语言(HTML)和HTTP协议,HTML是一种呈现数据的方式(给人看的),HTTP则是一组通信的标准(语法、语义、时许),可以简单的理解为HTTP携带HTML。

1. web应用:

网站(广义上的PC,手机app)

2. 浏览器(Browser):

也称用户代理,web客户端,主要有IE、Edge、Chrome、Firefox、腾讯浏器,360浏览器等。

3. web服务器(web server):

也称HTTP服务器(HTTP server),主要有Nginx、Apache、Tomcat 等。

一、网站基础

1、域名

域名是一个IP地址的“面具”,目的是便于记忆和访问一个或一组服务
器的地址(网站,电子邮件,FTP等)。

2、域名解析

本地HOSTS解析

DNS服务器解析

3、网站的基本概念

网站、网页、主页;

HTTP、URL、HTML、超链接

4、web网站

web1.0(以编辑为特征)

web2.0(侧重用户交互)

5、动态页面与静态页面的差别
(1)URL不同

静态页面链接里没有“?”

动态页面链接里包含“?”

[root@git ~]# yum -y install httpd

[root@git ~]# systemctl start httpd

[root@git ~]# echo "我是web" > /var/www/html/index.html
 

6、域名格式

http://(协议头)www.bing.com(域名)/(URI资源:路径/文件
名)

示例:https://www.bilibili.com/v/game/?spm_id_from=333.851.b_Z

072696d6172794368616e6e656c4d656e75.21

三、HTTP 协议

HTTP协议是超文本传输协议的缩写,英文是Hyper Text Transfer
Protocol。它是从WEB服务器传输超文本标记语言(HTML)到本地浏
览器的传送协议。

1、HTTP 原理

HTTP是一个基于TCP/IP通信协议来传递数据的协议,传输的数据类
型为HTML文件,图片文件,查询结果等。

HTTP协议一般用于B/S架构。浏览器作为HTTP客户端通过URL向
HTTP服务端即web服务器发送所有请求,web服务器收到客户端请求
后进行响应。

2、HTTP特点

1. http协议支持客户端/服务端模式,也是一种请求/响应模式的协议。

2. 简单快速:客户向服务器请求服务时,只需传送请求方法和路径。请求方法常用的有GET、HEAD、POST。

3. 灵活:HTTP允许传输任意类型的数据对象。传输的类型由Content-Type加以标记。除开响应字符串之外,还可以上传和下载二进制文件

4. 无连接:限制每次连接只处理一个请求。服务器处理完请求,并收到客户的应答后,即断开连接,但是却不利于客户端与服务器保持会话连接,为了弥补这种不足,产生了两项记录http状态的技术,一个叫做Cookie,一个叫做Session。

5. 无状态:无状态是指协议对于事务处理没有记忆,后续处理需要前面的信息,则必须重传。

[root@localhost html]# dd if=/dev/zero of=/var/www/html/a.txt bs=30M count=1

3、URI和URL的区别

(1)HTTP使用统一资源标识符(Uniform Resource Identifiers,URI)来传输数据和建立连接。

URI:Uniform Resource Identifier 统一资源标识符

URL:Uniform Resource Location 统一资源定位符

(2)URI 是用来标识一个具体的资源的,我们可以通过URI知道一个资源是什么,使用它就能够唯一地标记互联网上资源。

(3)URL则是用来定位具体的资源的,标识了一个具体的资源位置。互联网上的每个文件都有一个唯一的。

(4)URL,也就是我们俗称的网址,它实际上是URI的一个子集。

(5)URI不仅包括URL,还包括URN(统一资源名称),它们之间的关系如下:

4、HTTP报文组成
(1)客户端发出请求:

GET/index.php HTTP/1.5/ Host:zgod.cn

(2)客户端浏览器发送出来的请求格式:

GET:这个部分只声明了请求方式,除了get方式可能还有post 等方式。GET表示请求,POST表示邮寄。

/index.php:这里是一个URL,表示了我们要访问的资源是哪个。

HTTP/1.5/:这里表示的是客户端浏览器使用的协议版本是1.5。

Host:zgod.cn:这是请求是交给主机zgod.cn的。

四、HTTPS 协议

HTTP⼀般是明⽂传输,很容易被攻击者窃取重要信息,鉴于 此,HTTPS应运⽽⽣。

HTTPS 的全称为 (HyperTextTransferProtocoloverSecureSocketLayer), HTTPS 和 HTTP 有很⼤的不同在于 HTTPS 是以安全为⽬标的 HTTP通道,在HTTP 的基础上通过传输加密和身份认证保证了 传输过程的安全性。 HTTPS 在 HTTP 的基础上增加了 SSL 层,也就是说 HTTPS=HTTP+SSL。

五、搭建apache服务器

查看主机的所有打开的端口

[root@localhost html]# firewall-cmd --list-ports

安装http服务

[root@localhost ~]# yum -y install httpd

查看安装情况以及安装的资源文件

[root@localhost html]# rpm -qa | grep httpd
查看安装资源文件

[root@localhost html]# rpm -ql  httpd

查看配置文件

[root@localhost html]# ls /etc/httpd


[root@localhost html]# vim /etc/httpd/conf/httpd.conf 

启动http服务

[root@localhost ~]# systemctl restart httpd
不能直接停用防火墙,可以单独开端口或服务

[root@localhost ~]# firewall-cmd --zone=public --add-service=http

[root@localhost ~]# firewall-cmd --add-port=80/tcp  

[root@localhost ~]# firewall-cmd --list-all

 services: ssh dhcpv6-client http

 ports: 80/tcp
打开服务以后不会直接生效,需要执行下面命令
[root@localhost ~]# firewall-cmd --reload  别执行

 [root@localhost ~]# mkdir /var/www/html/img/
[root@localhost ~]# cd /var/www/html/img/

[root@localhost ~]# vim /var/www/html/index.html

nginx

一、源码安装nginx(192.168.8.151)

1、下载安装包

[root@localhost ~]# wget https://nginx.org/download/nginx-1.26.1.tar.gz
[root@localhost ~]# ls -lh

2、解压

[root@localhost ~]# tar -zxvf nginx-1.26.1.tar.gz

3、安装依赖软件

[root@localhost ~]# yum -y install gcc gcc-c++

[root@localhost ~]# yum -y install openssl-devel make pcre-devel

4、编译安装nginx并安装
configure编译安装前的预配置
--prefix=/usr/local/nignx指定软件的安装路径,是软件要装到哪里
--user=nignx程序用户为nginx
--group=nginx组为nginx
--with-http_ssl_module提供htts支持,ssl证书模块
--with-http_stub_status_module获取nginx工作状态
--with-http_realip_module获取真实客户端IP
--with-stream启用TCP/UDP代理模块

[root@localhost nginx-1.26.1]# ./configure --prefix=/usr/local/nginx --user=nginx --group=nginx --with-http_ssl_module --with-http_stub_status_module --with-http_realip_module --with-stream
[root@localhost nginx-1.26.1]# make && make install

5、创建账户

[root@localhost nginx-1.26.1]# useradd -s /bin/nologin -M nginx

6、启动nginx

[root@localhost nginx]# cd /usr/local/nginx/sbin/
[root@localhost sbin]# ./nginx
[root@localhost sbin]# netstat -lnput | grep nginx

7、检查目录

[root@localhost nginx-1.26.1]# tree /usr/local/nginx/

[root@localhost nginx-1.26.1]# cd /usr/local/nginx/
[root@localhost nginx]# ls

conf存放nginx配置文件的目录
html存放索引文件也就是网站首页(站点根目录)的目录
logs存放nginx日志的目录
sbin存放nginx可执行程序的目录
8、开放端口或者服务

[root@localhost nginx]# firewall-cmd --zone=public --add-port=80/tcp --permanent

重载防火墙

[root@localhost nginx]# firewall-cmd --reload

9、修改主配置文件

[root@localhost nginx]# vim /usr/local/nginx/conf/nginx.conf

nginx.conf 为nginx的主配置文件,编译安装的配置文件在之前预配置时指定的软件目录下,一般为
/usr/local/nginx/conf/nginx.conf;yum安装的nginx,主配置文件位于/etc/nginx/nginx.conf。

 nginx.conf配置文件由指令控制的模块组成。

指令分为简单指令和块指令,一个简单指令由名称和参数组成,空格分隔,分号结尾,如:listen 80。

块指令与简单指令相同的结构,但不是以分号结尾,而是以大括号包围的组附加指令结束,如:server{}。

10、启动或者关闭nginx

指令能在命令行使用,因为$PATH目录中能找到这个可执行文件或者可执行连接

 [root@localhost nginx]# ln -s /usr/local/nginx/sbin/nginx /usr/bin/
[root@localhost nginx]# ls -l /usr/bin/nginx

[root@localhost nginx]# nginx -s stop
[root@localhost nginx]# nginx
[root@localhost nginx]# netstat -lnput | grep nginx

11、脚本启动nignx服务

[root@localhost nginx]# vim ~/nginx.sh

[root@localhost nginx]# source ~/nginx.sh

 12、以systemctl 控制nginx

[root@localhost nginx]# ls /usr/lib/systemd/system
[root@localhost nginx]# vim /usr/lib/systemd/system/nginx.service

重载配置文件

[root@localhost nginx]# systemctl daemon-reload
[root@localhost nginx]# systemctl restart nginx

13、添加监控模块 

修改配置文件

[root@localhost ~]# vim /usr/local/nginx/conf/nginx.conf

[root@localhost ~]# systemctl restart nginx

浏览器输入192.168.8.151/status

Active connections: 2  活动的连接数
server accepts handled requests  累计接受的连接数,累计处理的连接数,累计请求的数2 2 2 
Reading: 0 Writing: 1 Waiting: 1   正在读取,写入和等待的连接数

 二、虚拟主机的配置

一个“location”相当于一个虚拟主机,也就是用户访问网站时,点击跳转的另一个页面。

location 内可以添加nginx各种功能模块。

1、配置多个虚拟机

新建一台机器(192.168.8.152)

[root@localhost ~]# scp root@192.168.8.151:~/nginx-1.26.1.tar.gz ./

[root@localhost nginx-1.26.1]# yum -y install gcc gcc-c++ openssl-devel pcre-devel make

[root@localhost ~]# tar -zxvf nginx-1.26.1.tar.gz

[root@localhost nginx-1.26.1]# ./configure --prefix=/usr/local/nginx --user=nginx --group=nginx --with-http_ssl_module --with-http_stub_status_module --with-http_realip_module --with-stream

[root@localhost nginx-1.26.1]# make && make install

[root@localhost nginx-1.26.1]# useradd -s /bin/nologin -M nginx
[root@localhost nginx-1.26.1]# echo "我是后端服务器" > /usr/local/nginx/html/index.html 
[root@localhost nginx-1.26.1]# firewall-cmd --zone=public --add-port=80/tcp --permanent
[root@localhost nginx-1.26.1]# firewall-cmd --reload

[root@localhost nginx-1.26.1]# /usr/local/nginx/sbin/nginx

[root@localhost nginx-1.26.1]# vim /usr/local/nginx/conf/nginx.conf



 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/50699.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

MySQL 执行计划详解

文章目录 一. 概念二. 语法三. 详解各字段1. id2. select_type3. table4. partitions5. type6. possible_keys与key7. key_len8. ref9. rows10. filtered11. Extra 一. 概念 有了慢查询后,需要对慢查询语句进行分析。一条查询语句经过MySQL查询优化器后&#xff0c…

最新 【Navicat Premium 17.0.8】简体中文版破解激活永久教程

官方下载地址: https://www.navicat.com.cn/download/navicat-premium 百度网盘补丁链接 链接: https://pan.baidu.com/s/11hu414Honi3Y9dPQ6-07JQ?pwd04mu 提取码: 04mu 未安装过的用户可直接跳过该步骤,如果已安装Navicat,记得先卸载干净…

阿里云主机 安装RabbitMQ

一、操作系统 用的是Alibaba Cloud Linux release 3 (Soaring Falcon)系统,可以通过命令:lsb_release -a 查看系统信息。 二、安装RabbitMQ RabbitMQ 是基于 Erlang 语言构建的,要安装RabbitMQ,需先安装Erlang环境。通过Erlang V…

【图解网络】学习记录

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 TCP/IP 网络模型有哪几层?键入网址到网页显示,期间发生了什么?Linux 系统是如何收发网络包的?NAPIHTTP 是什么&#…

Win10出现错误代码0x80004005 一键修复指南

对于 Windows 10 用户来说,错误代码 0x80004005 就是这样一种迷雾,它可能在不经意间出现,阻碍我们顺畅地使用电脑。这个错误通常与组件或元素的缺失有关,它可能源自注册表的错误、系统文件的损坏,或者是软件的不兼容。…

PyTorch 的 .pt 文件是什么?以及都能存储什么样的数据格式和复合数据格式?加载 train.pt 文件的一个代码示例

🍉 CSDN 叶庭云:https://yetingyun.blog.csdn.net/ 一、PyTorch 的 .pt 文件是什么? .pt 文件的基本概念: .pt 文件是 PyTorch 中特有的一种文件格式,用于保存和加载各类数据。.pt为 PyTorch 的缩写。此文件格式极其灵…

dotnet-starter-kit:一个Web API+Blazor多租户、模块化、简洁DDD架构!

推荐一个Web APIBlazor多租户、模块化、简洁DDD项目框架。 01 项目简介 dotnet-starter-kit是一个基于 .NET 8 的开源项目,架构构建基于 Clean Architecture 原则的解决方案。支持多租户、模块化,一个开箱即用的项目,方便我们快速开发项目。…

GitEval — 预测你的 GitHub 个人资料的质量

使用机器学习来预测你是否擅长编码 可直接在橱窗里购买,或者到文末领取优惠后购买: 如果你曾经申请过技术职位,你可能已经向公司发送了你的 GitHub 个人资料链接。此个人资料中的信息可以很好地表明你的编码能力以及是否适合团队。所有这些信…

Spring事件机制

文章目录 一、Spring事件二、实现Spring事件1、自定义事件2、事件监听器2.1 实现ApplicationListener接口2.2 EventListener2.3 TransactionalEventListener 3、事件发布4、异步使用 三、EventBus1、事件模式2、EventBus三要素3、同步事件3.1 定义事件类3.2 定义事件监听3.3 测…

[tomato]靶机复现漏洞详解!

靶机地址: https://download.vulnhub.com/tomato/Tomato.ova 靶机环境:Vmware 网络:NAT模式 信息收集: arp-scan -l 扫描靶机ip地址 扫描开放的端口信息 nmap -sS -sV -p- 192.168.77.135 发现开放端口21&#xff…

2024年7月30日 十二生肖 今日运势

小运播报:2024年7月30日,星期二,农历六月廿五 (甲辰年辛未月乙未日),法定工作日。 红榜生肖:兔、马、猴 需要注意:狗、鼠、牛 喜神方位:西北方 财神方位:…

git 推送时出现错误 Locking support detected on remote “origin“

背景:代码托管是局域网搭建的gitlab 按照提示配置 lfs.locksverify true 还是没有用。 网上搜索了一番,其中有人提到可能时服务器磁盘满了,连到服务器上 df -h 查看, 发现根目录已经写满了: 使用命令行: d…

C/C++进阶 (8)哈希表(STL)

个人主页:仍有未知等待探索-CSDN博客 专题分栏:C 本文着重于模拟实现哈希表,并非是哈希表的使用。 实现的哈希表的底层用的是线性探测法,并非是哈希桶。 目录 一、标准库中的哈希表 1、unordered_map 2、unordered_set 二、模…

【参会邀请】第四届区块链技术与信息安全国际会议(ICBCTIS 2024)诚邀相聚江城!

我们诚挚地邀请您参与第四届区块链技术与信息安全国际会议(ICBCTIS 2024)。本届会议将于2024年8月17日~19日在中国武汉召开。会议将围绕区块链技术与信息安全等相关研究领域,特邀国内外数位在此领域学术卓越的学者专家做相关致辞与报告&#…

如何使用虚拟机如何安装 Kali Linux ?

1.下载虚拟机:https://www.virtualbox.org/wiki/Downloads 选择你的系统版本 2.下载kali linux系统镜像:https://www.kali.org/get-kali/#kali-virtual-machines 全部下载完成后,我们会得到以下文件! 1.压缩Kali Linux压缩包 2.安…

Django实战:开启数字化任务管理的新纪元

🚀 Django实战:开启数字化任务管理的新纪元 🌐 📖 引言 在数字化转型的浪潮中,任务管理的智能化成为提升组织效能的关键。今天,我将带领大家深入了解我们最新开发的OFTS系统——一款创新的组织任务管理软…

【Opencv】色彩空间 color space

import os import cv2 img cv2.imread(os.path.join(.,dog.jpg)) # 在opencv中使用imread,读取的图片每个像素都是bgr色彩,蓝色,绿色,红色 cv2.imshow(img,img) cv2.waitKey(0) # 颜色空间转化:BGR2RGB img_rgb cv2.cvtC…

【Python学习手册(第四版)】学习笔记10-语句编写的通用规则

个人总结难免疏漏,请多包涵。更多内容请查看原文。本文以及学习笔记系列仅用于个人学习、研究交流。 本文较简单,5-10分钟即可阅读完成。介绍Python基本过程语句并讨论整体语法模型通用规则(冒号、省略、终止、缩进、其他特殊情况&#xff0…

【CAN通讯系列5】CAN数据帧及其仲裁

在CAN通讯系列3-CAN通讯如何传递信号中,由于传递信号的分析需要,引出了CAN数据帧的ID,长度和数据段的概念,它们都与CAN协议帧相关。CAN协议帧有5种类型,如下表: 而我们当前使用到的是数据帧,故本…

正向解析、反向解析、DNS主从、多区域、ntp时间同步

DNS配置回顾 编号主机名IP地址说明1web服务器192.168.1.17发布部署web服务2dns服务器192.168.1.20用于解析域名和IP地址3clien主机192.168.1.18用于模拟客户机 修改 client主机:修改了dns的访问主机;临时修改echo "nameserver IP地址"&…