新开传奇发布网站,wordpress 自动加载下一页,最近一周新闻大事摘抄2022年,wordpress付费注册插件Nginx在linux上部署静态资源 概念介绍
Nginx可以作为静态web服务器来部署静态资源。这里所说的静态资源是指在服务端真实存在#xff0c;并且能够直接展示的一些文件#xff0c;比如常见的html页面、css文件、js文件、图片、视频等资源。
相对于Tomcat#xff0c;Nginx处理…Nginx在linux上部署静态资源 概念介绍
Nginx可以作为静态web服务器来部署静态资源。这里所说的静态资源是指在服务端真实存在并且能够直接展示的一些文件比如常见的html页面、css文件、js文件、图片、视频等资源。
相对于TomcatNginx处理静态资源的能力更加高效所以在生产环境下一般都会将静态资源部署到Nginx中.
server {listen 80; #监听端口 server_name localhost; #服务器名称location / { #匹配客户端请求urlroot html; #指定静态资源根目录 其中html是文件夹的名字index index.html; #指定默认首页}
}案例演示(我是用docker安装的Nginx)
编写一个DemoNginx.html文件,将这个文件部署到nginx中然后通过nginx访问html静态资源。
docker inspect mynginx # 看看挂载的目录在那里编写的html文件 !DOCTYPE html
html langen
headmeta charsetUTF-8titleDemoNginx/title
/head
body
h1 nginx部署静态资源/h1
/body
/html1、 nginx默认显示的就是这个index.html 网页文件 我们把自己写好的文件上传到这个目录 (如果你的名字也叫index.html 直接替换完成就可以,如果不是还需要进行后面的步骤) 这个推荐个小工具(可以用命令快速上传本机文件) rz 是一个在 Linux/Unix 系统中用于 接收文件 的命令常用于终端工具如 Xshell、SecureCRT、FinalShell、Mobaxterm 等配合 zmodem 协议从本地上传文件到服务器。你在通过终端连接到 Linux 服务器时执行 rz它会弹出一个文件选择窗口前提是你的终端工具支持 zmodem 协议你选择本地文件后就会被上传到当前目录。 安装教程 sudo yum install lrzsz -y # 安装
rz # 弹出对话框让你选择文件, 默认会上传到当目录更新配置文件 这段配置的意思是当访问Nginx服务器的根路径 / 时Nginx会查找并返回 /usr/share/nginx/html 目录下的 DemoNginx.html 文件。如果该文件不存在将返回一个 404 错误。 3、浏览器通过 ip访问(80端口可以不写)
部署一组静态资源(在默认配置的情况下演示,不动配置文件)
1、我的文件有首页index.html ,我想把nginx的index删掉, 这样就不需要配置 nginx.conf 文件了 这样就直接OK了(配置文件都不用改)
Nginx反向代理入门(本机)
引入: 正向代理–代理的是用户–服务器不知道用户是谁 正向代理服务器是一个位于客户端和原始服务器(origin server)之间的服务器为了从原始服务器取得内容客户端向代理发送一个请求并指定目标(原始服务器)然后代理向原始服务器转交请求并将获得的内容返回给客户端。(科学上网就是这个原理) 反向代理----代理的是服务器端用户不知道是哪台服务器提供的服务。 反向代理服务器位于用户与目标服务器之间但是对于用户而言反向代理服务器就相当于目标服务器即用户直接访问反向代理服务器就可以获得目标服务器的资源反向代理服务器负责将请求转发给目标服务器。用户不需要知道目标服务器的地址也无须在用户端作任何设定对于用户来说访问反向代理服务器是完全无感知的。
入门使用nginx配置反向代理(为了方便在本机演示 MAC系统)
1、 修改配置文件 nginx.conf server {listen 88;server_name localhost;location / {proxy_pass http://localhost:10100;} } listen 88; 表示这个 server 区块监听 本机的 88 端口。所以你访问http://localhost:88 的时候就会进入这个服务。
server_name localhost;表示这个服务匹配的域名是 localhost。
在本地开发环境中一般是默认这样写的正式部署时可以改成你自己的域名2、检查配置文件并重新加载 nginx -t # 检查配置文件是否正确 nginx -s reload # 重新加载配置文件3 、进行访问测试 负载均衡
概念介绍
早期的网站流量和业务功能都比较简单单台服务器就可以满足基本需求但是随着互联网的发展业务流量越来越大并且业务逻辑也越来越复杂单台服务器的性能及单点故障问题就凸显出来了因此需要多台服务器组成应用集群进行性能的水平扩展以及避免单点故障出现。
**应用集群**将同一应用部署到多台机器上组成应用集群接收负载均衡器分发的请求进行业务处理并返回响应数据
**负载均衡器**将用户请求根据对应的负载均衡算法分发到应用集群中的一台服务器进行处理
此处的负载均衡器我们将会使用Nginx来实现而Nginx的负载均衡是基于反向代理的只不过此时所代理的服务器不是一台而是多台。
案例演示
1、启动3个服务相同但是端口不同的服务 *不会启动相同的服务,端口不同见教程 里面提供一个接口 2、在nginx中配置负载均衡
打开nginx的配置文件nginx.conf并增加如下配置: upstream targetsever{server localhost:10100;server localhost:10101;server localhost:10102;}server {listen 88;server_name localhost;location / {proxy_pass http://targetsever;}}3、检查配置文件并重新加载
nginx.exe -t # 检查配置文件是否正确
nginx.exe -s reload # 重新加载配置文件 s是signal的缩写 4、测试时,我们直接访问nginx的88端口此时nginx会根据负载均衡策略,将请求转发到后面的服务器。 我在浏览器中访问了六次nginx的88端口, 可以发现默认的策略是轮询, 2次一轮
负载均衡算法
在nginx中提供了很多的负载均衡算法常见的负载均衡算法如下所示
名称说明特点round robin轮询方式默认的负载均衡算法按照请求的顺序依次分配给后端服务器。random随机随机选择一个后端服务器来处理请求url_hash依据url分配方式根据客户端请求url的hash值来分发请求, 同一个url请求, 会发转发到同一个服务器上ip_hash依据ip分配方式根据客户端请求的IP地址计算hash值 根据hash值来分发请求, 同一个IP发起的请求, 会发转发到同一个服务器上weight权重方式根据权重分发请求,权重大的分配到请求的概率大least_conn依据最少连接方式哪个服务器当前处理的连接少, 请求优先转发到这台服务器
场景对比 random算法
upstream targetserver {random;server ip:端口;server ip:端口;
}url_hash算法
upstream targetserver {hash $request_uri;server ip:端口;server ip:端口;
}ip_hash算法
upstream targetserver {ip_hash;server ip:端口;server ip:端口;
}weight算法
upstream targetserver {server ip:端口 weight5;server ip:端口 weight1;
}least_conn算法
upstream targetserver {least_conn;server ip:端口;server ip:端口;
}