Nginx的安装以及访问

本文介绍了Nginx的安装过程,详细讲解了Nginx的常用功能,包括Http代理和反向代理,以及负载均衡策略。在负载均衡部分,提到了内置的轮询、加权轮询和Ip hash策略。此外,还介绍了Nginx的配置文件结构和基本命令,以及如何在hash和history模式下访问自己的项目。在实际部署中,针对子目录部署和Header信息丢失问题给出了相应解决方案。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

序言
  • Nginx是lgor Sysoev为俄罗斯访问量第二的rambler.ru站点设计开发的。从2004年发布至今,凭借开源的力量,已经接近成熟与完善。

  • Nginx功能丰富,可作为HTTP服务器,也可作为反向代理服务器,邮件服务器。支持FastCGI、SSL、Virtual Host、URL Rewrite、Gzip等功能。并且支持很多第三方的模块扩展。

  • Nginx的稳定性、功能集、示例配置文件和低系统资源的消耗让他后来居上,在全球活跃的网站中有12.18%的使用比率,大约为2220万个网站。

Nginx常用功能
  1. Http代理,反向代理:作为web服务器最常用的功能之一,尤其是反向代理。
  2. Nginx在做反向代理时,提供性能稳定,并且能够提供配置灵活的转发功能。Nginx可以根据不同的正则匹配,采取不同的转发策略,比如图片文件结尾的走文件服务器,动态页面走web服务器,只要你正则写的没问题,又有相对应的服务器解决方案,你就可以随心所欲的玩。并且Nginx对返回结果进行错误页跳转,异常判断等。如果被分发的服务器存在异常,他可以将请求重新转发给另外一台服务器,然后自动去除异常服务器。
负载均衡
  1. Nginx提供的负载均衡策略有2种:内置策略和扩展策略。内置策略为轮询,加权轮询,Ip hash。扩展策略,就天马行空,只有你想不到的没有他做不到的啦,你可以参照所有的负载均衡算法,给他一一找出来做下实现。

  2. Ip hash算法,对客户端请求的ip进行hash操作,然后根据hash结果将同一个客户端ip的请求分发给同一台服务器进行处理,可以解决session不共享的问题。

Nginx配置文件结构
  1. 下载Nginx

下载地址: http://nginx.org/en/download.html.

在这里插入图片描述
2. 下载后,解压到指定文件夹中 ,就可以看到以下目录

注意:最好文件名字是英文 不能是中文,容易启动不起来
在这里插入图片描述

  1. 控制台(CMD)切换到Nginx目录下,输入start nginx ,然后在浏览器页面输入localhost,出现如下界面则表示安装成功。默认监听80端口号。

在这里插入图片描述
4. nginx命令介绍

(1)start nginx 开启nginx服务

(2)nginx.exe -s stop 关闭nginx服务,快速停止nginx,可能并不保存相关信息

(3)nginx.exe -s quit 关闭nginx服务,完整有序的停止nginx,并保存相关信息

(4) nginx.exe -s reload 重载nginx服务,当你改变了nginx配置信息并需要重新载入这些配置时可以使用此命令重载nginx

(5) 使用 taskkill /F /IM nginx.exe > nul命令强关nginx服务器

访问自己的项目
hash模式下
  1. 打包
npm run build

2.打包结束后, 把生成的dist目录,放到html目录下。

在这里插入图片描述
3. 浏览器访问:localhost/dist/index.html就可以看到页面了
在这里插入图片描述

history模式下

当你使用 history 模式时,url就像正常的url,例如
“http://yoursite.com/mapp/”,不过这种模式还需要后台配置支持。因为我们的应用是单页面应用,如果后台没有正确的配置,当用户在浏览器直接访问 "http://yoursite.com/mapp/home"就会返回 404。

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

子目录部署
若项目没有直接部署在Nginx主目录下,而是在其子目录,如:

Nginx配置root路径为:/usr/local/nginx/html,子目录路径为:/usr/local/nginx/html/dist,此时Nginx应该这样配置:

location / {
  try_files $uri $uri/ /dist/index.html;
}

Nginx 转发时Header中信息丢失

通过Nginx转发后, Header中access_token信息丢失,经查,发现Nginx在转发时,header中带下划线_的属性默认不转发,需要增加配置:

underscores_in_headers on;

conf下面nginx.conf里改配置

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

直接用localhost访问
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值