Nginx入门以及相关案例

本文介绍了Nginx的基本概念,如反向代理、负载均衡和动静分离,并详细讲解了Nginx的安装、常用命令和配置文件。通过实例展示了如何配置反向代理、负载均衡和动静分离。此外,还探讨了Nginx的高可用集群搭建及其工作原理。
摘要由CSDN通过智能技术生成

Nginx

Nginx的基本概念

NGINX是什么?能做什么?

Nginx (engine x) 是一个高性能的HTTP反向代理web服务器,Nginx是一款轻量级Web服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器,在BSD-like 协议下发行。其特点是占有内存少,并发能力强

反向代理

​ (1)正向代理:如果把局域网外的internet想象成一个巨大的资源库,则局域网中的客户端要访问internet,则需要通过 代理服务器来访问,这种代理服务就称为正向代理。用作正向代理来代理进行上网等功能。
在这里插入图片描述

​ 注意:客户端(浏览器)配置代理服务器,经过一个代理服务器到达访问地址。

​ (2)反向代理:其实客户端对代理是无感知到,因为客户端不需要任何配置就可以访问,我们只需要将请求发送到反向代理服务器,由反向代理服务器去选择目标服务器获取数据后,在返回给客户端,此时反向代理服务器和目标服务器对外就是一个服务器,暴露的是代理服务器地址,隐藏了真实服务器IP地址。
在这里插入图片描述

​ 注意:反向代理服务器和目标代理服务器合成一个服务器看待,所以暴露的是代理服务器的地址。

负载均衡

​ 单个服务器解决不了,我们增加服务器的数量,然后将请求分发到各个服务器上,将原先请求集中到单个服务器上的情况改为将请求分发到多个服务器上,将负载分发到不同的服务器,也就是我们所说的负载均衡。
在这里插入图片描述

动静分离

​ 为了加快网站的解析速度,可以将动态页面和静态页面由不同的服务器来解析,加快解析速度,降低原来单个服务器的压力

原先:
在这里插入图片描述

动静分离:
在这里插入图片描述

Nginx安装,常用命令和配置文件

在Liunx 系统中安装Nginx (docker )

在Docker下载Nginx镜像
docker pull nginx
docker images

创建挂载目录

mkdir -p /data/nginx/{
   conf,conf.d,html,logs}

编写nginx,conf配置文件,并放在文件夹中

# For more information on configuration, see:
#   * Official English Documentation: http://nginx.org/en/docs/
#   * Official Russian Documentation: http://nginx.org/ru/docs/

user nginx;
worker_processes auto;
error_log /var/log/nginx/error.log;
pid /run/nginx.pid;

# Load dynamic modules. See /usr/share/nginx/README.dynamic.
include /usr/share/nginx/modules/*.conf;

events {
    worker_connections 1024;
}

http {
    log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
                      '$status $body_bytes_sent "$http_referer" '
                      '"$http_user_agent" "$http_x_forwarded_for"';

    access_log  /var/log/nginx/access.log  main;

    sendfile            on;
    tcp_nopush          on;
    tcp_nodelay         on;
    keepalive_timeout   65;
    types_hash_max_size 2048;

    include             /etc/nginx/mime.types;
    default_type        application/octet-stream;

    # Load modular configuration files from the /etc/nginx/conf.d directory.
    # See http://nginx.org/en/docs/ngx_core_module.html#include
    # for more information.
	
    include /etc/nginx/conf.d/*.conf;
	#这里注意下面文件内容是在/etc/nginx/conf.d/*.conf中的(粘贴需删除该部分中文)
    server {
        listen       80 default_server;
        listen       [::]:80 default_server;
        server_name  182.254.161.54;
        root         /usr/share/nginx/html;

        # Load configuration files for the default server block.
        include /etc/nginx/default.d/*.conf;

        location / {
        proxy_pass http://pic; 
        }

        error_page 404 /404.html;
            location = /40x.html {
        }

        error_page 500 502 503 504 /50x.html;
            location = /50x.html {
        }
    }

    upstream pic{
                server 182.254.161.54:8088 weight=5;
                server 182.254.161.54:8089 weight=5;
    }

}


启动容器

docker run --name mynginx -d -p 82:80  -v /data/nginx/conf/nginx.conf:/etc/nginx/nginx.conf  -v /data/nginx/logs:/var/log/nginx -d docker.io/nginx

查看启动的容器

docker ps 
1.使用docker 下载nginx 镜像  docker pull nginx

2.启动nginx

	docker run --name nginx -p 80:80 -d nginx

	这样就简单的把nginx启动了,但是我们想要改变配置文件nginx.conf ,进入容器,命令:

	docker exec -it nginx bash

	nginx.conf配置文件在 /etc/nginx/  下面,但是你使用vim nginx.conf 或者vi nginx.conf

	会发现vi或者vim命令没有用,解决办法:apt-get  update  完成之后 apt-get install vim

	此时你就可以自己定制nginx.con文件
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值