栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 系统运维 > 运维 > Linux

Nginx

Linux 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Nginx

Nginx

官方网址:http://nginx.org/en/download.html

Nginx是一个高性能(响应和并发都很快)的HTTP和反向代理web服务器

1、正向代理

正向代理 是一个位于客户端和原始服务器(origin server)之间的服务器,为了从原始服务器取得内容,客户端向代理发送一个请求并指定目标(原始服务器),然后代理向原始服务器转交请求并将获得的内容返回给客户端。客户端必须要进行一些特别的设置才能使用正向代理。

客户端必须设置正向代理服务器,当然前提是要知道正向代理服务器的IP地址,还有代理程序的端口

我是一个用户,我访问不了某网站,但是我能访问一个代理服务器,这个代理服务器呢,他能访问那个我不能访问的网站,于是我先连上代理服务器,告诉他我需要那个无法访问网站的内容,代理服务器去取回来,然后返回给我。

(1)访问原来无法访问的资源,如google

(2) 可以做缓存,加速访问资源

(3)对客户端访问授权,上网进行认证

(4)代理可以记录用户访问记录(上网行为管理),对外隐藏用户信息

2、反向代理:

反向代理(Reverse Proxy)实际运行方式是指以代理服务器来接受internet上的连接请求,然后将请求转发给内部网络上的服务器,并将从服务器上得到的结果返回给internet上请求连接的客户端,此时代理服务器对外就表现为一个服务器。

客户端是无感知代理的存在的,反向代理对外都是透明的,访问者者并不知道自己访问的是一个代理。因为客户端不需要任何配置就可以访问。

负载均衡

Nginx负载均衡策略主要有 轮询,加权轮询,最少连接数以及IP Hash。

轮询策略: 实现请求的按顺序转发

加权轮询策略: 请求将按照服务器的设置权重来实现请求转发和处理

最少连接数策略: 请求将转发到连接数较少的服务器上

Ip Hash策略: web服务需要共享session,使用该策略可以实现某一客户端的请求固定转发至某一服务器

动静分离

3、常用命令

./nginx 启动

./nginx -s stop 停止

./nginx -s quit 退出

./nginx -s reload 重新加载配置文件

ps auxlgrep nginx 查看nginx进度

把前端项目部署在 web 服务器中,把后端项目部署在应用服务器中

步骤:

(1)首先下载 nginx,官方网址如下:

http://nginx.org/en/download.html

(2)把它解压到某个位置

打开前端项目,执行 npm run build,等候进程完成。项目的 dist 文件夹下将出现打包好的内容

把这些打包好拷贝进 nginxhtml 下(如果该文件夹里有内容,需要把原来的内容删掉)

(3)配置一下服务器的默认端口,打开 nginxconfnginx.conf,找到 server 的配置处,把 listen 80 改为 listen 8081

注意问题:由于 nginx 无法直接处理 vue 的 history 模式路由,通过地址栏输入地址或刷新页面会导致页面无法访问。

由于输入地址或刷新操作会向服务器发出请求,但我们这个单页面应用表面上像更改了地址,实际上还是通过 js 来控制页面的变化,nginx 上并不存在与请求所对应的页面,也就无法做出响应。

打开 nginx.conf 文件,添加一条 location 配置,同时将原来默认的 location 注释掉:

# location / {
# root   html;
# index  index.html index.html
# }
location / {
 try_files $uri $uri/ /index.html;
}

变量解释

try_files 固定语法
$uri 指代home文件(ip地址后面的路径,假如是127.0.0.1/index/a.png,那就指代index/a.png)
$uri/ 指代home文件夹
/index.html 向ip/index.html 地址发起请求

尝试解析下列2个文件/文件夹(自动分辨出,IP后面的路径是文件还是文件夹), u r i / uri/ uri/uri/,

如果解析到,返回第一个,

如果都没有解析到,向127.0.0.1/index.html发起请求跳转

(4)打开默认首页,在前端 routerindex.js 里添加一条路由:

 {
      path: '/',
      name: 'index',
      redirect: '/index',
      component: AppIndex,
      meta: {
        requireAuth: true
      }
    }

在已登录状态下访问 http://localhost:8081/ 会跳转到 /index,否则会跳转到登录页面。

(5)配置完成后,运行 nginx 根目录下的 nginx.exe 即可,访问 http://localhost:8081/ ,发现自动跳转到了登录界面。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/894619.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号