http协议与nginx

动态页面与静态页面的差别:

(1)URL不同
静态⻚⾯链接⾥没有“?”
动态⻚⾯链接⾥包含“?”
(2)后缀不同 (开发语⾔不同)
静态⻚⾯⼀般以 .html .htm .xml 为后缀
动态⻚⾯⼀般以 .php .jsp .py等为后缀
(3)内容不同
静态⻚⾯的内容是固定的
动态⻚⾯的内容会因⽤户、浏览器、时间、地点等⽽发⽣变化。

静态资源:根据开发者保存在项目资源目录中的路径访问静态的资源,包括html 图片 js  css 音乐  视频

http协议

http原理:

HTTP是⼀个基于TCP/IP通信协议来传递数据的协议,传输的数 据类型为HTML ⽂件,图⽚⽂件,查询结果等。
HTTP协议⼀般⽤于B/S架构。浏览器作为HTTP客户端通过URL 向HTTP服务端即web服务器发送所有请求,web服务器收到客 户端请求后进⾏响应。

http状态码:

2xx:成功,200成功、201已经创建
3xx:重定向,304未修改
4xx:请求错误,404未找到⽂件、408请求超时
5xx:服务器错,500服务器内部错误、502⽹关错误

[root@git ]# yum -y install httpd
[root@git html]# echo "我是静态的html文件" > index.html

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

apache

最早的 web 服务程序,基于 http 协议提供⽹⻚浏览服务
模块化设置、开放源代码、跨平台应⽤、⽀持多种 web 编程语 ⾔、运⾏稳定。

搭建apache服务器:

查看华为云主机的所有的打开的端口

firewall-cmd --list-ports

停用防火墙或打开指定端口

firewall-cmd  --zone=public --add-port=80/tcp --permanent

firewall-cmd  --reload   启动端口

firewall-cmd  --zone=public --add-service=http --permanent     防⽕墙开放 http服务

下载http,并执行以下操作:

touch /var/www/html/index.html

mkdir /var/www/html/img/

cp 300.3.png /var/www/html/img

vim /var/www/html/index.html

浏览器测试:

nginx

源码编译安装nginx

注意:html目录中的文件发生修改之后,不需要重启nginx服务

1.下载源码包

在nginx.org中复制nginx-1.26.1.tar.gz包的地址,在虚拟机中下载:

 wget https://nginx.org/download/nginx-1.26.1.tar.gz

2.解压

tar -zxvf nginx-1.26.1.tar.gz

3.下载nginx所需要的依赖包 gcc gcc-c++  openssl-devel   pcre-devel

yum -y install gcc gcc-c++ openssl-devel pcre-devel

4.编译安装nginx

 ./configure --prefix=/usr/local/nginx/ --user=nginx --group=nginx --with-http_ssl_module --with-http_stub_status_module --with-http_realip_module --with-stream

make && make install

5.nginx的启动

1)nginx的启动与关闭:

2)创建脚本来启动nginx服务:

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

3)守护进程:以systemctl控制nginx

如果直接使用sbin目录下的nginx,就无法使用systemctl

在 /usr/lib/systemd/system ⽬录下新建⼀个 nginx.service ⾮⼿ 动执⾏脚本,并使⽤ vim 命令添加以下内容

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

[Unit]
Description=nginx
After=network.target

[Service]
Type=forking
PIDFile=/usr/local/nginx/logs/nginx.pid
ExecStart=/usr/local/nginx/sbin/nginx
ExecReload=/usr/local/nginx/sbin/nginx -s reload
ExecStop=/usr/local/nginx/sbin/nginx -s stop
PrivateTmp=Flase

[Install]
WantedBy=multi-user.target

 

  171  systemctl daemon-reload
  172  systemctl stop nginx
  173  systemctl restart nginx
  174  reboot
  175  systemctl start nginx.service 
 

4)创建软连接:直接使用nginx命令

将软件⽬录下的 /usr/local/nginx/sbin/nginx 可执⾏程序软链接到/usr/sbin,如果按照 Windows ⽅式来说相当于制作了⼀个 nginx 的快捷⽅式

之所以指令能在命令行使用,是因为在$PATH目录中能找到这个可执行文件或者是可执行文件的链接文件

[root@slave nginx]# nginx
-bash: nginx: 未找到命令
[root@slave nginx]# $PATH 
-bash: /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin: 没有那个文件或目录

[root@slave nginx]# ln -s  /usr/local/nginx/sbin/nginx   /usr/bin/
[root@slave nginx]# ls -l /usr/bin/nginx
lrwxrwxrwx. 1 root root 27 7月  29 16:15 /usr/bin/nginx -> /usr/local/nginx/sbin/nginx
[root@slave nginx]# nginx -s stop 
[root@slave nginx]# netstat -lnput | grep nginx
[root@slave nginx]# nginx
[root@slave nginx]# netstat -lnput | grep nginx
tcp        0      0 0.0.0.0:80              0.0.0.0:*               LISTEN      8232/nginx: master  

 

添加监控块:

修改配置文件,找到“server { }”,添加⼀个“location { }”,也就是虚拟主机

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


[root@slave ~]# systemctl reload nginx.service 

配置多个虚拟主机:

⼀个“location”相当于⼀个虚拟主机,也就是⽤户访问⽹站时, 点击跳转的另⼀个⻚⾯。

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


        location / {
            root   html;
            index  index.html index.htm;
        }

nginx反向代理配置

建立后端服务器:

  206  scp root@192.168.118.54:~/nginx-1.26.1.tar.gz ./
  207  tar -zxvf nginx-1.26.1.tar.gz 
  209  cd nginx-1.26.1/

  210  yum -y install gcc gcc-c++ openssl-devel  pcre-devel

  219   ./configure --prefix=/usr/local/nginx/ --user=nginx --group=nginx --with-http_ssl_module --               with-http_stub_status_module --with-http_realip_module --with-stream
  220  make 
  221  make install
  222  useradd -s /bin/nologin -M nginx
  223  echo "我是后端服务器" > /usr/local/nginx/html/index.html

  227  firewall-cmd --zone=public --add-port=80/tcp --permanent
  228  /usr/local/nginx/sbin/nginx
  234  firewall-cmd --reload


 

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

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

相关文章

【吊打面试官系列-Dubbo面试题】Dubbo SPI 和 Java SPI 区别?

大家好,我是锋哥。今天分享关于 【Dubbo SPI 和 Java SPI 区别?】面试题,希望对大家有帮助; Dubbo SPI 和 Java SPI 区别? JDK SPI JDK 标准的 SPI 会一次性加载所有的扩展实现,如果有的扩展吃实话很耗时&…

Python中的类型注解和静态类型检查使用详解

概要 Python作为一种动态类型语言,其灵活性和易用性使其广受欢迎。然而,动态类型也带来了一些问题,如代码可读性差和运行时错误等。为了提高代码质量和可维护性,Python从3.5版本开始引入了类型注解(Type Hints),并且借助第三方工具可以实现静态类型检查。本文将详细介绍…

Python学生信息管理系统

一、需求分析 学生管理系统应具备的功能 1、添加学生及成绩信息 2、将学生信息保存到文件中 3、修改和删除学生信息 4、查询学生信息 5、根据学生成绩进行排序 6、统计学生的总分 二、系统设计 2.1、学生信息管理系统的系统功能结构(7大模块) 1、录入…

vue里给img的src绑定数据失效

起因 在v-for遍历数据时想要通过给img的src单向绑定 图片路径时出现问题 解决过程 上网查说是webpack构建时识别不到,直接不单绑数据,写死试试看 解决方案 直接require导入图像文件模块

AI Agent调研--7种Agent框架对比!盘点国内一站式Agent搭建平台,一文说清差别!大家都在用Agent做什么?

代理(Agent)乃一种智能实体,具备自主环境感知与决策行动能力,旨在达成既定目标。作为个人或组织之数字化替身,AI代理执行特定任务与交易,其核心价值在于简化工作流程,削减繁复性,并有…

MSPM0G3507之电赛小车

一、前言 本文没什么技术分享,纯聊天。以下内容均为笔者的浅薄理解,有不对的地方还请多多包涵。 二、相关配置 主控单元:MSPM0G3507SPTR(48角) 编译环境:Keil5.33、5.39(推荐)都可 …

Redisson关键参数含义介绍

一、threads(线程池数量) 对应executor(线程池) 默认值: 当前处理核数量 * 2 这个线程池数量被所有RTopic对象监听器,RRemoteService调用者和RExecutorService任务共同共享。 二、nettyThreads (Netty线…

数据结构与算法-关于堆的基本排序介绍

💝💝💝首先,欢迎各位来到我的博客,很高兴能够在这里和您见面!希望您在这里不仅可以有所收获,同时也能感受到一份轻松欢乐的氛围,祝你生活愉快! 文章目录 引言一、堆排序…

Springboot使用Redis实现分布式锁

1、使用场景和实现方案: 使用场景:本地锁如Lock和Syncronized只能锁住本地进程,在分布式应用中,需要使用分布式锁来更好实现特定的业务。 实现方案:有多种,比如使用mysql、zookeeper、redis,各…

80端口被system占用 ,system进程是4!!!亲测-----解决

最近需要使用nginx,发现80端口北占用 正常情况下,查看那个进程占用,然后找到对应的程序,关闭对应的就可了。 使用 netstat 命令: 打开命令提示符(以管理员身份)。输入命令 netstat -ano | fi…

vue3 + element plus使用iconfont 自定义font组件颜色大小可修改

vue3 element plus使用iconfont 自定义font组件&颜色大小可修改这里写自定义目录标题 自定义SvgIcon.vue引入iconfontApp.vue中引入组件更改图标大小 参考网上方案新建SvgIcon.vue,但没说明怎么修改颜色及大小,我在这个博客中简单提供下。 自定义Sv…

通用大模型演进路线

随着人工智能技术的飞速发展,通用大模型(GLMs)已经成为人工智能领域的重要研 究方向。通用大模型拥有超大规模参数,通过大规模数据进行训练,具备强大的学习和推理 能力。这些模型在自然语言处理、图像识别、代码生成等…

skynet 实操篇

文章目录 概述demo启动文件skynet_start配置文件main.luastart函数thread_workerskynet_context_message_dispatchskynet_mq_popdispatch_message 小结 概述 上一篇写完skynet入门篇,这一篇写点实操性质的。 demo 对于一个开源框架,大部分都有他们自己…

史上最全的Seata教学并且连接springcloudAlibaba进行使用

来都来了点个赞收藏一下在走呗~~🌹🌹玫瑰 一、Seata是什么 Seata(Simple Extensible Autonomous Transaction Architecture,简单可扩展自治事务框架)是一种分布式事务解决方案,旨在解决分布式系统中的事务…

UPLOAD-LABS靶场[超详细通关教程,通关攻略]

---------------------------------------- 靶场环境: 下载链接: https://codeload.github.com/c0ny1/upload-labs/zip/refs/heads/master 使用小皮集成环境来完成这个靶场 将文件放到WWW目录下就可以进行访问 ------------------------------------…

Java从入门到精通(十四) ~ 多线程

晚上好,愿这深深的夜色给你带来安宁,让温馨的夜晚抚平你一天的疲惫,美好的梦想在这个寂静的夜晚悄悄成长。 目录 前言 一、多线程是什么? Java中的多线程 二、使用步骤 1.创建方式 1.1 Thread 线程 1.2 Runnable 任务 1.…

iOS ------ KVO KVC

一, KVO KVO介绍 KVO全称KeyValueObserving,俗称键值监听,是苹果提供的一套时事件通知机制。允许对象监听另一个对象特定属性的改变,并在改变时接受事件。一般继承自NSObject的对象都默认支持KVOKVO和NSNotificationCenter都是iOS观察者模式…

MySQL基础练习题11-换座位

题目:交换每两个连续的学生的座位号。如果学生的数量是奇数,则最后一个学生的id不交换。按 id 升序 返回结果表。 准备数据 分析数据 方法一:利用power函数对id进行交换,得出的答案只有0或1 第一步:用power()函数将…

公司常用的监控软件有哪些?2024年六大公司监控软件良心推荐!

在现代企业管理中,监控软件不仅可以帮助提高员工生产力,还可以确保企业数据的安全和保护。小编分享六款公司监控软件,能够满足不同企业的需求,提升管理效率和信息安全。 一、值得推荐的监控软件 1. 固信软件 固信软件https://ww…

【软件测试】--接口测试

1. 接口用例设计 接口测试的测试点 功能测试 单接口功能: 手工测试中的单个业务模块,一般对应一个接口 登陆业务 --> 登陆接口加入购物车业务 --> 加入购物车接口订单业务 --> 订单接口支付业务 --> 支付接口 借助工具、代码。绕开前端界面…