web以及nginx

news2024/9/20 16:55:09

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

三、Apache概念
1、概述 
最早的 web 服务程序,基于 http 协议提供⽹⻚浏览服务。
2、特点 
模块化设置、开放源代码、跨平台应⽤、⽀持多种 web 编程语⾔、运⾏稳定。
3、⼯作模式 
(1)Prefork:使⽤进程处理请求,在该模式中⽐较消耗内存,但稳定性⾼,如某个进程出现问题,不会影响其他请求。
(2)Worker:属于多进程模式,每个进程⽣成多个进程;在该模式下消耗的资源⽐较⼩,适合⾼并发请求,但稳定性没有 Prefork 模式稳定。
(3)Event:该模式与 Worker 模式较为相似,不同之处在于在该模式下可以解决keepalive ⻓连接时占⽤线程资源导致浪费的问题。
(4)keep-alive ⻓连接:TCP连接在发送后将仍然保持打开状态,于是,浏览器可以继续通过相同的连接发送请求。保持连接节省了为每个请求建⽴新连接所需时间,还节约了带宽。实现⻓连接要客户端和服务端都⽀持⻓连接。
4、安装并设置防火墙
[root@web ~]# yum -y install httpd
[root@web ~]# systemctl start httpd
[root@web ~]# systemctl stop firewalld

apache 索引⽂件 在⼀般的前段服务器http nginx tomcat中,在没有指定⽂件路径的时 候,默认先访问资源⽂件夹中的index.xxx例子如下:
[root@web ~]# echo "我是静静" > /var/www/html/index.html

生成一个静态和动态的页面

[root@web html]# dd if=/dev/zero of=/var/www/html/zz.txt bs=3M count=1

通过浏览器访问页面时会自动下载

可以自己设计网页(前端)

[root@web ~]# vim /var/www/html/index.html
<!doctype html>
<html>
        <head>
                <meta charset="utf-8">
                <title>正方形</title>
                <style>
                        div{
                                background-color:red;
                                width:120px;
                                height:120px;
                        }
                </style>
        </head>
        <body>
                <div>正方形</div> 
        </body>
</html>

访问浏览器

防火墙的应用:

[root@web html]# systemctl start firewalld
在有防火墙的情况下打开一个端口
[root@web html]# firewall-cmd --zone=public --add-port=80/tcp --permanent
查看当前防火墙的所有规则
[root@web html]# firewall-cmd --list-all
查看当前打开的端口
[root@web html]# netstat -lnsp
允许防火墙打开http服务
[root@web html]# firewall-cmd --zone=public --add-port=80/tcp --permanent
[root@web html]# firewall-cmd --reload                重新加载防火墙配置
[root@web html]# firewall-cmd --add-service=http --permanent
[root@web html]# firewall-cmd --list-all

5、当要访问其他主机的域名时

[root@web ~]#  vim /etc/httpd/conf/httpd.conf
45 Listen 80
 46 
 47 ServerName www.yh666.com:80               #添加如下内容,域名⾃起,IP地址为⾃⼰的主机
 48 
 49 NameVirtualHost 192.168.33.110
 50 <VirtualHost 192.168.33.110>
 51         DocumentRoot /var/www/html/yang   #标明索引⽂件路径,所以还需⾃⼰在该路径创建新的索引⽂件
 52         ServerName  www.yh666.com         #域名⾃起
 53         <directory /var/www/html/yang>
54        allowoverride None         
#确定是否被允许读取.htaccess⽂件内容
55     require all granted                
所有⽤户访问指定的(/var/www/html)⽂档或⽬录
56        </directory>
 57 </virtualhost>
 58
59 <virtualhost 192.168.33.110>
 60      documentroot /var/www/html/hong  
61        servername www.hong777.com
62        <directory /var/www/html/hong>
63               allowoverride none 
64                 require all granted
65         </directory>
 66 </virtualhost>
[root@web ~]# systemctl restart httpd
 

四、nginx

1、Nginx 简介 
Nginx(engine X):开源、轻量级、⾼性能的 HTTP 和反向代理服务器,可以代理 HTTP、IMAP/POP3/SMTP 和 TCP/UDP 协议。
基本特点:占⽤内存少、并发能⼒强,采⽤ C 语⾔编写,在性能⽅⾯有⼀定保证。
Nginx 可以⽤来做负载均衡及反向代理使⽤,⽬前使⽤最多的是负载均衡。与 Nginx 同类的 Web 服务有 Apache、Tomcat 等。
官⽅⽹站:http://nginx.org/
 2、Nginx 服务器特点 
(1)模块化设计 
Nginx 将模块分为核⼼模块、HTTP 模块、事件模块和邮件模块四类。每个模块都有特定的职责,从⽽实现了整个 Web 服务器的功能。
(2)低内存消耗,⾼并发 
Nginx 使⽤ epoll and kqueue 作为开发⼯具,能够⽀持最⼤ 50000 个并发连接数的响应;不论是系统资源开销还是 CPU 使⽤效率都很优秀。
(3)事件驱动 
nginx 采⽤异步⽅式处理请求。
同步:指在发送⽅发出消息后,需要等待接收到接收⽅发回的响应,或者通过回调函数来接收到对⽅响应信息。
异步:指在发送⽅发出请求后,接收⽅不需要返回消息或者不等待返回消息,直接提供响应请求机制。
(4)⾼可靠性,master 与 worker 架构 
⼀个主进程和多个⼯作进程。⼯作进程是单线程的,且不需要特殊授权即可运⾏;
master进程:主要⽤来监控worker进程⼯作状态进⾏相应重启、停⽌等操作。
worker进程:进⾏具体提供服务,接受请求和处理请求。
(5)⽀持热更新配置、⽇志⽂件滚动、平滑升级 
    /usr/local/nginx/sbin/nginx -s reload
html⽬录中的⽂件发上修改之后,不需要nginx服务可向 master 发送 USR1、QUIT 等信号,⽆需强制停⽌服务即可完成热更新。
    向 master 发送的 USR1,可实现⽇志⽂件滚动。
    向 master 发送的 USR2,可实现平滑升级。
(6)丰富的扩展模块 
可在编译安装 nginx 时指定拓展模块,例如:nginx-stickymodule 模块(基于 cookie 来进⾏负载转发)。
3、Nginx 和 Apache 区别 
(1)架构 
Apache 采⽤多进程架构,每个请求都由⼀个独⽴的进程处理;⽽Nginx采⽤异步事件驱动的架构,可以处理更多的并发连接。
(2)性能 
由于Nginx的架构设计,它可以处理更多的并发连接,⽽且在⾼负载情况下表现更加稳定和可靠。因此,Nginx通常被认为是⽐Apache更⾼效的Web服务器。
(3)配置 
Apache 的配置⽂件⽐较复杂,需要⼀定的学习和经验才能正确配置;⽽ Nginx 的配置⽂件⽐较简洁和可读性强,更容易理解和配置。
(4)功能 
ngin x有许多模块可以扩展其功能,例如 mod_rewrite ⽤于 URL 重写mod_ssl⽤于 SSL 加密等;⽽apach 的功能⽐较简单,但是可以通过第三⽅模块扩展其功能。
4、Nginx 基本功能 
(1)静态资源 Web 服务器 
nginx 可实现动静资源分离
动态资源:需要程序处理或者从数据库中读数据,能根据不同的条件在⻚⾯显示不同的数据。
静态资源:前端的固定⻚⾯,这⾥⾯包含HTML、CSS、JS、图⽚、⾳乐等等,不需要查数据库也不需要程序处理,直接就能够显示的⻚⾯。
动静分离:当使⽤ nginx 处理静态⻚⾯时,可将⽤户的动态请求转发给后端的 tomcat 或 PHP 处理动态⻚⾯。前后端,前端就是完全的静态资源,
(2)基于域名/IP/端⼝的虚拟主机 
虚拟主机:在Web服务⾥就是⼀个独⽴的⽹站站点,这个站点对应独⽴的域名(也可能是IP或端⼝),具有独⽴的程序及资源⽬录,可以独⽴地对外提供服务供⽤户访问。⼀个 nginx 主进程,指定⼀个配置⽂件,配置⽂件内有多个虚拟主机。如果不⽤虚拟机,⼀个域名就要对应⼀个服务器,浪费资源。
Ⅰ.基于域名的虚拟主机 
以不同的多个域名区分不同的虚拟主机(IP 相同),放在⼀个nginx服务上,能够让⽤户有序访问⽣产⽤途,例如:www.jd.com 和 diannao.jd.comchannel.jd.com。
Ⅱ.基于端⼝的虚拟主机 
以不同的端⼝,来区分多个虚拟主机,也是放在⼀个nginx服务上,能够让⽤户有序访问,例如:192.168.33.110:8080、www.baidu.com:8080.
 Ⅲ.基于 IP 的虚拟主机 以不同 IP 区分不同的虚拟主机。
(3)HTTP/HTTPS、SMTP、POP3 和 TCP/UDP 反向代理 
客户端代理,增强客户端的作⽤,反向代理是保护服务器反向代理是⼀种代理服务器的配置模式,它代表服务器向客户端提供服务。客户端发送请求到反向代理服务器,然后代理服务器将请求转发到后端的真实服务器上,并将响应返回给客户端。简单理解为⽤户直接访问反向代理服务器就可以获得⽬标服务器的资源。
(4)负载均衡 
所谓负载均衡,就是 Nginx 把请求均匀的分摊给上游的应⽤服务器,这样即使某⼀个服务器宕机也不会影响请求的处理,或者当应⽤服务器扛不住了,可以随时进⾏扩容。

5、nginx的安装
[root@web ~]# yum -y remove nginx
[root@web ~]# wget https://nginx.org/download/nginx-1.26.1.tar.gz
[root@web ~]# tar -zxvf nginx-1.26.1.tar.gz
[root@web ~]# yum -y install gcc-c++
[root@web ~]# yum -y install openssl-devel
[root@web~]# yum -y install pcre-devel
[root@web ~]# yum -y install make
[root@web ~]# cd nginx-1.26.1/
[root@web 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@web nginx-1.26.1]# make&&make install
[root@web nginx-1.26.1]# useradd -s /bin/nologin -M nginx
[root@web nginx-1.26.1]# cd /usr/local/nginx/
[root@web nginx]# ls
conf  html  logs  sbin
[root@web nginx]# ln -s /usr/local/nginx/sbin/nginx /usr/bin/
[root@web nginx]# ls -l /usr/bin/nginx 
[root@web nginx]# netstat -lnput | grep nginx
tcp        0      0 0.0.0.0:80              0.0.0.0:*               LISTEN      8845/nginx: master  

[root@web nginx]#nginx -t      对nginx配置⽂件的语法和格式进⾏检查
nginx: the configuration file 
/usr/local/nginx/conf/nginx.conf syntax is ok
 nginx: configuration file 
/usr/local/nginx/conf/nginx.conf test is 
successful
 [root@webnginx]# nginx             启动nginx
 [root@web nginx]# nginx -s stop     停⽌nginx
 [root@web nginx]# nginx             启动nginx
 [root@web nginx]# nginx -s reload   热重启,仅重载nginx配置⽂件

2、以 systemctl 控制 nginx 
在 /usr/lib/systemd/system ⽬录下新建⼀个 nginx.service ⾮⼿动执⾏脚本,并使⽤ vim 命令添加以下内容。
[root@web ~]# 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
[root@web ~]# systemctl daemon-reload           重载systemctl的配置⽂件,以便nginx.service⽣效
[root@web ~]# systemctl start nginx.service     启动nginx
[root@web ~]# systemctl status nginx.service    查看nginx状态

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

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

相关文章

【Python数值分析】革命:引领【数学建模】新时代的插值与拟合前沿技术

目录 ​编辑 第一部分&#xff1a;插值的基本原理及应用 1. 插值的基本原理 1.1 插值多项式 1.2 拉格朗日插值 1.3 牛顿插值 1.4 样条插值 2. 插值的Python实现 2.1 使用 NumPy 进行插值 2.2 使用 SciPy 进行插值 2.2.1 一维插值 ​编辑 2.2.2 二维插值 3. 插值…

如何让网站实现https访问

要让网站实现HTTPS访问&#xff0c;主要需要完成以下几个步骤。这些步骤确保了网站与用户之间的数据传输安全&#xff0c;并提升了用户对网站的信任度。 1. 确定证书类型 首先&#xff0c;根据网站的需求和预算&#xff0c;选择合适的SSL证书类型。常见的SSL证书类型包括&…

黑马头条Day11- 实时计算热点文章、KafkaStream

一、今日内容 1. 定时计算与实时计算 2. 今日内容 KafkaStream 什么是流式计算KafkaStream概述KafkaStream入门案例SpringBoot集成KafkaStream 实时计算 用户行为发送消息KafkaStream聚合处理消息更新文章行为数量替换热点文章数据 二、实时流式计算 1. 概念 一般流式计…

Skim通过Apple Script为选中文本添加特定颜色的高亮

一、代码编写 Skim的Apple Script维基页面 使用Mac的Script Editor编写以下代码&#xff1a; tell application "Skim"activatetell document 1set theSel to (get selection)set theNote to make note with data theSel with properties {type:highlight note, co…

Swift学习入门,新手小白看过来

&#x1f604;作者简介&#xff1a; 小曾同学.com,一个致力于测试开发的博主⛽️&#xff0c;主要职责&#xff1a;测试开发、CI/CD 如果文章知识点有错误的地方&#xff0c;还请大家指正&#xff0c;让我们一起学习&#xff0c;一起进步。 &#x1f60a; 座右铭&#xff1a;不…

零代码拖拽,轻松搞定GIS场景编辑

在三维GIS领域&#xff0c;编辑场景和处理影像数据通常是一个复杂且费时的过程&#xff0c;但现在有了山海鲸可视化&#xff0c;这一切都变得简单有趣。这款免费可视化工具为您提供了零代码拖拽式编辑的体验&#xff0c;让您无需编程知识就能轻松创建和优化GIS场景。通过直观的…

STM32——GPIO(点亮LEDLED闪烁)

一、什么是GPIO&#xff1f; GPIO&#xff08;通用输入输出接口&#xff09;&#xff1a; 1.GPIO 功能概述 GPIO 是通用输入/输出&#xff08;General Purpose I/O&#xff09;的简称&#xff0c;既能当输入口使用&#xff0c;又能当输出口使用。端口&#xff0c;就是元器件…

记一次因为在html两个地方引入vue.js导致组件注入失败的问题

这个问题我遇到两次了&#xff0c;是在恼火&#xff0c;不对&#xff0c;三次了&#xff0c;我如果不做这个笔记&#xff0c;我确定我还会遇到第三次。 尾部这个去掉就行 因为头部有了 遇到这种bu g好恼火&#xff0c;解决了又怎么样呢&#xff1f;重蹈覆辙的滋味不好受

Python技能达到这个水平,高薪就业不是梦

一&#xff0c;高薪就业的必备基础 要达到高薪就业的水平&#xff0c;Python开发者通常需要具备以下几方面的技能和经验&#xff1a; 如需Python籽料直接戳&#xff1a; 2024年最新python教程全套&#xff0c;学完即可进大厂&#xff01;&#xff08;附全套视频 下载&#xf…

#IO进程 笔记一

标准IO 文件IO 文件属性获取 目录操作 库 进程: process 线程(thread)、同步、互斥、条件变量 进程间通信: 6种(一共7种) 无名管道(pipe)、有名管道(fifo)、信号(sginal)、信号灯集(semphore)、 共享内存(shared memory)、消息队列(message queue) 标准IO 1. 概念 标准IO&…

详细分析示波器导至U盘的数据(Excel表格)示波器具体名称分析

一般由示波器导入U盘的csv文件&#xff08;即Excel表格数据&#xff09;的图如下图所示&#xff1a; 下面小编就对上表格的各个数据表示进行逐一解释 1、Memory Length&#xff1a;4000 在示波器&#xff08;Oscilloscope&#xff09;中&#xff0c;“Memory Length”&#x…

【算法】代码随想录之字符串(更新中)

文章目录 前言 一、反转字符串&#xff08;LeetCode--344&#xff09; 二、反转字符串II&#xff08;LeetCode--541&#xff09; 三、反转字符串中的单词&#xff08;LeetCode--151&#xff09; 前言 跟随代码随想录&#xff0c;学习字符串相关的算法题目&#xff0c;记录…

20240730 每日AI必读资讯

&#x1f3ac;燃爆&#xff01;奥运8分钟AI影片火了&#xff0c;巴赫主席&#xff1a;感谢中国黑科技 - 短片名为《永不失色的她》&#xff08;To the Greatness of HER&#xff09;&#xff0c;由阿里巴巴和国际奥委会联合推出。 - 百年奥运史上伟大女性的影响故事在此被浓缩…

VBA技术资料MF183:将图片导入word并调整大小

我给VBA的定义&#xff1a;VBA是个人小型自动化处理的有效工具。利用好了&#xff0c;可以大大提高自己的工作效率&#xff0c;而且可以提高数据的准确度。“VBA语言専攻”提供的教程一共九套&#xff0c;分为初级、中级、高级三大部分&#xff0c;教程是对VBA的系统讲解&#…

人生最大的毛病,就是一个“ 傲 ”字

99天 傲慢之害&#xff0c;人要勤勉恭敬 51.27 先生说&#xff1a;人生最大的毛病&#xff0c;就是一个“ 傲 ”字。 当今人们的问题&#xff0c;主要就是“ 傲 ”。千罪百恶&#xff0c;都从傲而来。一个人要是傲&#xff0c;就会自高自大、自以为是&#xff0c;不肯屈于人下…

cf960(div2)

A. Submission Bait&#xff08;博弈&#xff09; 题意&#xff1a;爱丽丝和鲍勃在大小为n的数组a中进行游戏&#xff0c;他们轮流进行运算&#xff0c;爱丽丝先开始&#xff0c;不能运算的一方输&#xff0c;一开始mx0&#xff0c;每次操作&#xff0c;玩家可以选择一个牵引i…

pikachu靶场之目录遍历、敏感信息泄露

一、目录遍历 漏洞概述 在web功能设计中,很多时候我们会要将需要访问的文件定义成变量&#xff0c;从而让前端的功能便的更加灵活。 当用户发起一个前端的请求时&#xff0c;便会将请求的这个文件的值(比如文件名称)传递到后台&#xff0c;后台再执行其对应的文件。 在这个过…

汽车辐射大?技术来救它:整车辐射抗扰发射天线仿真建模及性能预测

摘要 针对车辆电磁辐射抗扰度测试条件要求高、预测难度大的问题&#xff0c;通过仿真软件建立电磁抗扰度测试发射天线&#xff08;简称抗扰发射天线&#xff09;模型及无车情况下的电磁抗扰试验场强环境&#xff0c;为整车电磁辐射抗扰性能的预测搭建了一个仿真平台。 验证试验…

第5章Excel数据分析之数据透视表遇见SQL

文章目录 第5章 数据透视表遇见SQL5-1如何在查询中使用SQL语句&#xff1f;5-2SQL查询语句&#xff08;数据透视表的辅助列&#xff09;5-3SQL常用运算符&#xff08;案例&#xff1a;添加分析维度&#xff09;5-4SQL筛选语句&#xff08;数据透视表数据源的过滤&#xff09;5-…

【单片机毕业设计选题24085】-基于STM32的心电采集系统设计

系统功能: 系统上电后&#xff0c;OLED显示“欢迎使用心电采集系统请稍后”两秒后进入正常页面显示。 第一行显示心率和血氧值。 第二行显示心率设定高值。 第三行显示心率设定低值。 第四行显示心率状态&#xff0c;"Rate OK", "Rate High", "R…