nginx

一、基础概念

1.什么是nginx?

Nginx (engine x) 是一款轻量级的Web 服务器 、反向代理服务器及电子邮件(IMAP/POP3)代理服务器。

2.正向代理和反向代理?

1.反向代理(Reverse Proxy)

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

故反向代理可以实现请求从外网路由到内网的转发

2.正向代理


     正向代理(forward proxy) ,一个位于客户端和原始服务器之间的服务器,为了从原始服务器取得内容,客户端向代理发送一个请求并制定目标(原始服务器),然后代理向原始服务器转发请求并将获得的内容返回给客户端,客户端才能使用正向代理。我们平时说的代理就是指正向代理。 
    简单一点:A向C借钱,由于一些情况不能直接向C借钱,于是A想了一个办法,他让B去向C借钱,这样B就代替A向C借钱,A就得到了C的钱,C并不知道A的存在,B就充当了A的代理人的角色。
 

3.什么是代理服务器 

代理服务器,客户机在发送请求时,不会直接发送给目的主机,而是先发送给代理服务器,代理服务接受客户机请求之后,再向主机发出,并接收目的主机返回的数据,存放在代理服务器的硬盘中,再发送给客户机。

4.核心配置

  • server:定义一个虚拟主机,用来处理客户端请求。
  • location:定义请求的URL路径和对应的处理方式。
  • root:指定网站根目录,即前端项目的打包输出目录。

例如,以下是一个简单的Nginx配置文件:

http {server {listen 80;server_name example.com;location / {root /var/www/example/dist;index index.html;}}
}

上述配置中,监听80端口,当请求example.com时,会将请求转发到/var/www/example/dist目录下,并返回index.html文件。

1.nginx默认安装位置

Nginx的配置文件默认位于/etc/nginx/nginx.conf

2.upstream 参数

概念:

The ngx_http_upstream_module module is used to define groups of servers
that can be referenced by the proxy_pass, fastcgi_pass, uwsgi_pass, scgi_pass, memcached_pass, and grpc_pass directives.

nginx关于upstream参数官方文档:http://nginx.org/en/docs/http/ngx_http_upstream_module.html

upstream 参数汇总

location参数

语法规则: location [=|~|~*|^~] /uri/ { … }

= 开头表示精确匹配

^~ 开头表示uri以某个常规字符串开头,理解为匹配 url路径即可。nginx不对url做编码,因此请求为/static/20%/aa,可以被规则^~ /static/ /aa匹配到(注意是空格)。

~ 开头表示区分大小写的正则匹配

~*  开头表示不区分大小写的正则匹配

!~和!~*分别为区分大小写不匹配及不区分大小写不匹配 的正则

/ 通用匹配,任何请求都会匹配到。

多个location配置的情况下匹配顺序为(参考资料而来,还未实际验证,试试就知道了,不必拘泥,仅供参考):

首先匹配 =,其次匹配^~, 其次是按文件中顺序的正则匹配,最后是交给 / 通用匹配。当有匹配成功时候,停止匹配,按当前匹配规则处理请求。

三.安装部署

1.查看nginx安装的目录

whereis nginx

wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw==编辑

2.启动nginx

进入该路径:cd  /usr/local/nginx/sbin

启动nginx 命令:

./nginx  

出现下面启动成功

3.查看nginx进程

 ps -ef | grep nginx

出现master 则启动成功

4.重启nginx命令

./nginx -s reload

Linux怎么启动及关闭nginx命令-Nginx-PHP中文网

6.前端部署

1.打包前端项目

在部署前端项目之前,需要先进行打包操作。通常情况下,前端项目使用Webpack等工具进行打包,将源代码转换为静态文件。打包后的文件一般存放在dist目录下。

2.部署前端项目

将打包后的前端项目文件复制到Nginx指定的网站根目录下(例如上述配置文件中的/var/www/example/dist目录)。在浏览器中访问example.com,即可看到前端项目的页面。

nginx执行流程

nginx 动静分离

静态资源和动态数据分别部署在两个不同的服务器

参考资料:
1.Nginx 简易教程https://www.cnblogs.com/jingmoxukong/p/5945200.html

2.nginx 官方文档  http://nginx.org/en/docs/

3.Nginx 负载均衡演示之 upstream 参数 & location 参数  https://blog.csdn.net/caijunsen/article/details/83002219

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值