我是靠谱客的博主 认真短靴,最近开发中收集的这篇文章主要介绍Nginx的使用一、Nginx 简介二、Docker 安装 Nginx三、Nginx 基本代理配置四、Nginx 负载到网关五、Nginx 动静分离,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

文章目录

  • 一、Nginx 简介
  • 二、Docker 安装 Nginx
  • 三、Nginx 基本代理配置
  • 四、Nginx 负载到网关
  • 五、Nginx 动静分离

一、Nginx 简介

Nginx是一款高性能的HTTP服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器。由俄罗斯的程序设计师Igor Sysoev所开发,官方测试Nginx能够支支撑5万并发链接,并且CPU、内存等资源消耗却非常低,运行非常稳定。

正向代理、反向代理的概念:
在这里插入图片描述
在这里插入图片描述
Nginx 应用场景:

  1. HTTP服务器:Nginx是一个HTTP服务可以独立提供HTTP服务。可以做网页静态服务器;
  2. 虚拟主机:可以实现在一台服务器虚拟出多个网站。例如个人网站使用的虚拟主机;
  3. 反向代理,负载均衡:当网站的访问量达到一定程度后,单台服务器不能满足用户的请求时,需要用多台服务器集群可以使用Nginx做反向代理。并且多台服务器可以平均分担负载,不会因为某台服务器负载高宕机而某台服务器闲置的情况。

二、Docker 安装 Nginx

① 首先我们需要使用外部配置文件,先运行一个Nginx实例,复制配置文件

[root@rich ~]# docker run -p 80:80 --name nginx -d nginx:1.10

[root@rich ~]# mkdir -p /mydata/nginx

# 复制配置文件至新建nginx目录下
[root@rich nginx]# docker cp nginx:/etc/nginx . && mv nginx conf

② 运行Nginx,并使用外部配置

[root@rich ~]# docker run -p 80:80 --name nginx 
-v /mydata/nginx/html:/usr/share/nginx/html 
-v /mydata/nginx/logs:/var/log/nginx 
-v /mydata/nginx/conf:/etc/nginx 
-d nginx:1.10

③ 在/mydata/nginx/html目录下新建一个index.html,内容为

<h1>Hello Nginx</h1>

④ 访问服务ip
在这里插入图片描述

三、Nginx 基本代理配置

需求:我们需要将请求发往Nginx服务并自动跳转到目标服务器(通常域名和Nginxip绑定)
在这里插入图片描述
Nginx.conf的配置如下:

在这里插入图片描述
查看Nginx.conf最后一行include /etc/nginx/conf.d/*.conf;代表着/etc/nginx/conf.d下的配置会加载到这里,所以我们只需要在conf.d下配置即可。
在这里插入图片描述
修改default.conf内容如下图

[root@mall conf.d]# vim default.conf

在这里插入图片描述
重启Nginx,访问Nginx服务
在这里插入图片描述

四、Nginx 负载到网关

需求:我们需要将请求发往Nginx服务先跳转到网关然后跳转到目标服务器。
在这里插入图片描述
① 修改Nginx.conf配置文件

Nginx的请求代理给网关,网关整个上游服务器的名字就叫nginxTest,动态找到上游服务器组然后动态的转出去,相当于负载均衡的配置。
在这里插入图片描述
② 修改具体配置文件test.conf

这里的proxy_pass即前面配好的上游服务器名;由于Nginx在代理给网关的时候会丢失host信息,这里需要设置请求头的host信息
在这里插入图片描述
③ 路由配置(Gateway

配置网关路由规则参考网址

spring:
  application:
    name: gateway-service
  cloud:
    gateway:
      routes:
        - id: test_host_route
          uri: lb://test-service
          predicates:
            - Host=**.test999.com

④ 访问域名,已实现Nginx->网关->服务的跳转
在这里插入图片描述

五、Nginx 动静分离

Web开发中,通常来说,动态资源其实就是指那些后台资源,而静态资源就是指HTMLJavaScriptCSSimg等文件。

一般来说,都需要将动态资源和静态资源分开,将静态资源部署在Nginx上,当一个请求来的时候,如果是静态资源的请求,就直接到nginx配置的静态资源目录下面获取资源,如果是动态资源的请求,nginx利用反向代理的原理,把请求转发给后台应用去处理,从而实现动静分离。

在使用前后端分离之后,可以很大程度的提升静态资源的访问速度,同时在开过程中也可以让前后端开发并行可以有效的提高开发时间,也可以有些的减少联调时间。

需求:
在这里插入图片描述
添加nginx的配置:

location /static/ {
   root /usr/share/nginx/html;
}

此时我们在/mydata/nginx/html/static/css下添加一个color.css

#title {
    color:red;
}

然后我们在index.html中引入这个css<link rel="stylesheet" href="/static/css/color.css"/>

此时我们再访问:
在这里插入图片描述
此时发送的css请求已经经过了nginx
在这里插入图片描述

最后

以上就是认真短靴为你收集整理的Nginx的使用一、Nginx 简介二、Docker 安装 Nginx三、Nginx 基本代理配置四、Nginx 负载到网关五、Nginx 动静分离的全部内容,希望文章能够帮你解决Nginx的使用一、Nginx 简介二、Docker 安装 Nginx三、Nginx 基本代理配置四、Nginx 负载到网关五、Nginx 动静分离所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(42)

评论列表共有 0 条评论

立即
投稿
返回
顶部