• 什么是Nginx?Nginx基础教学详解。Linux如何安装Nginx


    Nginx是一款轻量级的Web 服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器。其特点是占有内存少,并发能力强。

    说白了Nginx实际上是和tomcat一样都属于一种服务器,但是nginx的并发性能更好内存更小,所以在企业中广泛使用。

    目录

    一、Nginx安装:

    1、基本安装:

    2、配置环境变量:

    二、Nginx基本目录:

    三、Nginx基本命令:

    ​四、Nginx配置文件:

    五、Nginx应用:

    1、部署静态资源:

    2、反向代理:

    1、正向代理:

     2、反向代理:

    3、配置Ngnix

    3、负载均衡:

    1、轮询配置:

    2、负载均衡策略:


    一、Nginx安装:

    1、基本安装:

    安装步骤很简单,按照下面的步骤一步一步执行即可:

    1、安装依赖包 yum -y install gcc pcre-devel zlib-devel openssl openssl-devel

    2、下载Nginx安装包wget https://nginx.org/download/nginx-1.16.1.tar.gz

    3、解压 tar -zxvf nginx-1.16.1.tar.gz

    4、cd nginx-1.16.1

    5、./configure --prefix=/usr/local/nginx

    6、make && make install

    2、配置环境变量:

    1、进入系统配置文件,添加nginx环境变量。

    /usr/local/nginx/sbin:

    2、重新加载配置文件:

    source /etc/profile

    二、Nginx基本目录:

    重点目录/文件:

    • lconf/nginx.conf  nginx配置文件
    • lhtml  存放静态文件(html、CSS、Js等)
    • llogs  日志目录,存放日志文件
    • lsbin/nginx  二进制文件,用于启动、停止Nginx服务

    三、Nginx基本命令:

    1、查看版本号: nginx -v

    2、检查服务器配置文件是否正常: nginx -t

    3、启动: nginx

    4、停止: nginx -s stop

    5、重新加载: nginx -s reload

    四、Nginx配置文件:

     五、Nginx应用:

    1、部署静态资源:

    Nginx部署静态资源十分简单,只需要将静态资源存放在一个目录下,然后修改Nginx的配置文件即可。

    1. server {
    2. listen 80; #监听端口
    3. server_name localhost; #服务器名称(域名)
    4. location / { #匹配客户端请求url
    5. root html; #指定静态资源根目录,html是nginx自带的存放静态网页的目录
    6. index index.html; #指定默认首页
    7. }
    8. }

    2、反向代理:

    1、正向代理:

    用户将请求发送给代理服务器,代理服务器将数据发送给目标服务器,目标服务器将请求返回给代理服务器,最后代理服务器再将消息返回给用户的过程叫正向代理。   

    正向代理它代理了客户端,相当于客户去访问目标网址。 

     2、反向代理:

    反向代理:基本流程是与正向代理是相同的,都是通过用户发送请求 -->代理服务器-->目标服务器。但是二者的区别在于正向代理知道自己访问的是代理服务器,而反向代理是无感知的,用户本质上是不知道自己访问的是代理服务器。

    反向代理它代理了目标服务器,让客户感觉自己实际上是在和目标服务器本身进行交互

    1、负载均衡。反向代理服务器相当于一个服务站,当接收到请求时根据负载情况将不同的请求发送到不同的服务器上。

    2、提高内部服务器的安全。

    • 正向代理中代理服务器相当于用户,所以保护了用户ip信息,而反向代理代理了目标的服务器,所以隐藏了真实服务器的地址信息,用户实际是在和代理服务器交互而不是目标服务器本身。
    • 反向代理服务器相当于应用级防火墙,所以检查十分严格。

    3、提高访问速度。反向代理服务器对于静态内容及短时间内有大量访问请求的动态内容提供缓存服务,提高访问速度。

    3、正向和反向代理的区别:

    1、正向代理实际代理的是客户端。反向代理代理的是目标服务器。

    2、正向代理是客户端架构,而反向代理是服务器架构。

    3、正向代理中,服务器不知道真正的用户是谁。反向代理中,用户不知道真正的服务器是谁。

    4、正向代理主要用来解决访问问题。反向代理主要用于解决负载均衡、安全防护,但二者都能提高访问速度。

    3、配置Ngnix

    修改配置文件,添加新的server:

    通过上述配置,我们就可以实现通过访问 192.168.138.100:82/目标路径 就可以实现对192.168.138.101/目标网址  的访问.

    3、负载均衡:

    随着互联网的发展,业务流量越来越大并且业务逻辑也越来越复杂,单台服务器的性能及单点故障问题就凸显出来了,因此需要多台服务器组成应用集群(将同一应用部署到多个服务器上),进行性能的水平扩展以及避免单点故障出现。 

     负载均衡器:将用户请求根据对应的负载均衡算法分发到应用集群中的一台服务器进行处理

    1、轮询配置:

    修改配置文件,添加下述代码:

    • 变量名要上下保持一致
    • upstream定义一组服务器
    1. 配置负载均衡:
    2. upstream 变量名{ #upstream指令可以定义一组服务器
    3. server 192.168.138.10:8080; #第一台服务器
    4. server 192.168.138.101:8081; #第二台服务器
    5. }
    6. server {
    7. listen 8080;
    8. server_name localhost; #域名
    9. location / {
    10. proxy_pass http://变量名; #与上面定义的变量名要保持一致
    11. }
    12. }

    上述访问是通过轮询的方式进行访问,访问完服务器一之后访问服务器二,如此循环。

    2、负载均衡策略:

    名称

    说明

    轮询

    默认方式

    weight

    权重方式

    ip_hash

    依据ip分配方式

    least_conn

    依据最少连接方式

    url_hash

    依据url分配方式

    fair

    依据响应时间方式

    以权重为例:

    在上面修改的基础上,每个服务器地址后加上  weight=值  即可,权重越大访问的几率越高。

    1. 配置负载均衡:
    2. upstream targetserver{
    3. server 192.168.138.101:8080 weight=10; # 定义权重
    4. server 192.168.138.101:8081 weight=5;
    5. }
    6. server {
    7. listen 8080;
    8. server_name localhost;
    9. location / {
    10. proxy_pass http://targetserver;
    11. }
    12. }

  • 相关阅读:
    c++编程实例
    spring之基于p命名c命名空间的注入
    【苹果推位置信息推iMessage】 l AttributeIDs:NC希望读取的变量ID列表
    std::string_view概念原理及应用
    qtablewidget 设置列宽行高遇到的问题
    开源crm客户关系统管理系统源码,免费分享
    【Java】猫和狗接口版本思路分析
    RC4Drop加密技术:原理、实践与安全性探究
    管理方法论:4. 一对一沟通——了解真实情况
    SpringBoot定时任务 - 集成quartz实现定时任务(单实例和分布式两种方式)
  • 原文地址:https://blog.csdn.net/weixin_60414376/article/details/126453743