Nginx篇——超详细Nginx使用实战稀缺黄金指导文档!涵盖Nginx特性、动静分离、反向代理、负载均衡以及实际项目中的配置等!一篇文章帮你彻底拿下Nginx!!!!!!

了解Nginx

一、概念
Nginx是一个高性能的HTTP和反向代理服务器,同时也提供了IMAP/POP3/SMTP邮件服
务。在我国比如百度、京东、新浪等公司都在使用这项技术。Neginx代码完全由C语言编写。官方数据表示能够支持高达50000个并发连接数的响应。

二、特点
1、占用内存少
2、并发能力强
3、Nginx安装非常简单、配置文件非常简洁(还能够支持perl语法)
4、Nginx启动非常容容易,并且几乎可以做到7*24不间断的运行,即使运行数个月也不需要重启,还能够实现在不间断服务的情况下实现版本的升级

三、作用
反向代理、负载均衡、动静分离,后文对这三个作用有详细介绍!

正向代理和反向代理

一、正向代理

正向代理,就是代理客户端。来访问一些本来访问不到的服务器。
举例说明:
我们常用的VPN,他的作用就是帮助我们访问一些平时访问不到的服务器。比如访问一些外国网站,我们使用VPN就相当于一台香港的服务器,香港的服务器则不需要翻墙就能直接访问了

二、反向代理(Neginx作用)

反向代理,代理服务器。简言之就是一个网站有多台服务器,但是客户端访问一个网址就能实现访问不同地理位置的服务器。
举例说明:
我们熟知的百度,肯定在国内不止一台服务器,但是我们作为客户端只需要在地址栏输入www.baidu.com即可成功的访问不同位置的百度服务器,那么这样就形成了一种反向代理。

提供负载均衡 

一、Nginx提供负载均衡的算法
Nginx提供的负载均衡策略有两种,内置策略和扩展策略。
1、内置策略:轮询、加权轮询、iphash
2、扩展策略:自己研发的个性化的策略

二、内置策略的理解
1、轮询
轮询就是将客户端的请求给服务器排列顺序,按照顺序依次安排访问

2、加权轮询
就是按照服务器的权重(最大负载量)进行请求的分配,负载量大的服务器将会分到更多的请求

3、iphash(这种方法用的较少,一般解决session问题,使用Redis缓存来解决)
iphash是通过对客户端的ip进行hash操作,然后根据hask结果将同一客户端ip的请求分发给同一太服务器来处理,这样就可以解决session不共享的问题了!

实现动静分离

什么是动静分离?
在我们的软件开发中,有些请求是需要后台来处理的,有些请求是不需要后台来处理的(CSS、HTML、jpg等等),这些不需要经过后台的文件称为静态文件。让动态网站里的动态网页根据一定的规则把不变的资源和经常变化的资源区分开来,动静资源做好了拆分以后,我们就可以根据静态资源的特点将其做缓存操作,提高资源的响应速度。

下载安装和使用(Window和Linux)

一、Windows系统下安装
1、进入到官网上,下载最新版本的Nginx

nginx: download

2、下载后将压缩包解压到软件安装目录

3、认识Nginx文件中的各种配置
(1)conf下的nginx.conf文件,打开后能查看到监控的端口号,就是所有访问80端口的请求都会被监控

4、启动Nginx,在Nginx安装目录上输入cmd

5、在命令行界面输入nginx.exe即可启动

6、测试是否启动成功,在浏览器上输入localhost:80(80也可以省略,因为HTTP默认的端口号就是80),出现下面的界面说明启动成功

二、Linux环境下安装
1、选择如下的安装包点击下载

2、将下载好的软件上传到服务器上,并解压

3、进入到加压后的nginx文件下,查看他的目录

4、运行configure文件

./configure

5、执行make命令

6、执行以下命令

make install

7、查看服务器是否成功安装了Nginx

whereis nginx

8、进入到这个目录下

9、进入到sbin文件下

10、执行nginx文件

 ./nginx

无报错就是成功
但是我这出现了问题,之前可能是存在nginx,再启动Nginx就报端口号被占用了,那么就需要杀掉所有关于Nginx的进程

再次运行nginx 文件即可

11、查看当前Nginx的端口号是多少
(1)返回到上一级的Nginx文件

cd ..

(2)查看当前文件夹下的文件

(3)进入到conf文件夹,cat一下nginx.conf文件,就能看到当前的端口号是多少了

(3)当前端口号

12、输入公网的ip,默认是http的80端口,就能进入到Nginx的首页了

Nginx常用命令

想使用Nginx命令,首先要进入到nginx的sbin目录下
一、查看自己服务器上的nginx安装在哪里

whereis nginx

前提条件就是要进入到这个文件下的sbin目录

    cd /usr/local/nginx/sbin/ #首先先进到这个目录下,才能执行Nginx的命令
    ./nginx #启动
    ./nginx -s stop #停止
    ./nginx -s quit #安全退出
    ./nginx -s reload #重新加载配置文件(非常常用!)
    ps aux|grep nginx #查看nginx进程

项目中使用Nginx

一、首先保证是一个boot微服务项目,至少开启两个不同端口的服务

二、在Nginx的conf文件夹下的nginx.conf中配置
首先先梳理一下nginx.conf文件中的内容

event:配置最大连接数和配置一些监听的事件

配置负载均衡和反向代理
实际开发中,我们的服务会在不同的ip主机上,测试的时候我都是设置的ip一致,端口不一致

upstream ghstudy:是配置负载均衡的配置,ghstudy将被写在server/location下的proxy_pass下(是配置反向代理的关键字,后面配置相关的服务器地址),这样访问80端口,就能按照我们配置的负载均衡策略,将请求按照策略打到不同的服务器上,这样就实现了负载均衡的方法

注意:每一次修改了nginx.conf配置文件,记得在命令行中重新加载配置文件

nginx -s reload

三、配置完上面的信息,那么当我们访问localhost:80端口的根目录,就可以代理到8080和8081两个服务,具体的请求分配按照weight来配置
访问网页,会按照分配的权重,将请求的数据分配给不同的服务。

至此,关于Nginx的学习已经结束,你已经掌握了Nginx的使用和它的特性,深入的学习请继续关注博客,后续还会持续更新相关技术点,敬请期待~~~~~~

  • 26
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
Nginx是一个高性能的HTTP和反向代理服务器。它可以处理大量的并发连接,而且在处理静态文件时,它的效率非常高。Nginx配置非常灵活,可以通过配置文件来控制其行为。下面是对Nginx详细配置的讲解。 1. 配置文件的路径 Nginx配置文件位于/etc/nginx/nginx.conf。在这个文件,可以设置全局的配置,包括http、server和location等。 2. 配置文件的结构 Nginx配置文件采用了块状结构。每个块都以一个左花括号“{”开始,以一个右花括号“}”结束。块包含了一些指令,每个指令都以一个分号“;”结束。指令和块之间可以使用空格、制表符或换行符隔开。 3. 全局配置Nginx配置文件,可以设置一些全局配置,如: worker_processes 2; error_log /var/log/nginx/error.log; pid /var/run/nginx.pid; 上面的配置指定了Nginx启动时使用的工作进程数量、错误日志文件的路径和进程ID文件的路径。 4. http配置Nginx配置文件,可以设置http块,包括一些http相关的配置,如: http { include /etc/nginx/mime.types; server_names_hash_bucket_size 64; access_log /var/log/nginx/access.log; server { listen 80; server_name example.com; location / { root /var/www/example.com; index index.html; } } } 上面的配置指定了mime.types文件的路径、服务器名的哈希桶的大小、访问日志文件的路径和一个server块。serve块指定了监听的端口、服务器名和一个location块。location块指定了请求的URL和返回的文件路径。 5. server配置Nginx配置文件,可以设置server块,包括一些server相关的配置,如: server { listen 80; server_name example.com; location / { root /var/www/example.com; index index.html; } } 上面的配置指定了监听的端口、服务器名和一个location块。location块指定了请求的URL和返回的文件路径。 6. location配置Nginx配置文件,可以设置location块,包括一些location相关的配置,如: location / { root /var/www/example.com; index index.html; } 上面的配置指定了请求的URL和返回的文件路径。 7. 反向代理配置Nginx配置文件,可以设置反向代理服务器,如: server { listen 80; server_name example.com; location / { proxy_pass http://localhost:8080; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; } } 上面的配置指定了监听的端口、服务器名和一个location块。location块指定了请求的URL和反向代理服务器的地址,同时还设置了Host和X-Real-IP头部信息。 总结: 以上是对Nginx详细配置的讲解,包括了全局配置、http配置、server配置、location配置反向代理配置等。Nginx配置非常灵活,可以根据实际需求进行配置

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Be explorer

若认可笔者文章,手头富裕望支持

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值