Nginx-基本概念和使用

作者阿里云代理 文章分类 分类:linux图文教程 阅读次数 已被围观 584


Nginx-基本概念和运用

(engine x)是一个高性能的HTTP和反向署理web服务器,同时也供给了IMAP/POP3/SMTP服务。其特点是占有内存少,并发能力强。

Nginx能够做反向署理,完成负载均衡;

正向署理

在客户端(浏览器)装备署理服务器,经过署理服务器进行互联网拜访。署理对象是客户端,不知道服务端是谁。

客户端不需要任何装备就能拜访,只需要将恳求发送到反向署理服务器,由反向署理服务器去挑选方针服务器,获取数据后再回来给客户端。对外就一个服务器,暴露的是反向署理服务器地址,隐藏了实在服务器IP地址。署理对象是服务端,不知道客户端是谁。

负载均衡

客户端发送多个恳求到服务器,服务器处理恳求,有些可能要拜访数据库,服务器处理完毕后再将成果回来客户端。

master接收信号后将使命分配给worker进行执行,worker可有多个。

每个 woker 是独立的进程,能够运用 nginx –s reload 热布置。

mac 装置nginx

brew install nginx

发动nginx

brew services start nginx

装置目录 /usr/local/Cellar/nginx

装备目录 /usr/local/etc/nginx 装备文件nginx.conf

nginx.conf装备文件内include servers/*; 指定了servers目录下的所有装备文件

静态页面

装备了nginx页面 服务地址localhost:8080 指向静态文件

root目录 指向装置目录/usr/local/Cellar/nginx下的html文件夹,html文件是一个软连接 指向html -> ../../../var/www 即 /usr/local/var/www目录,主页指向index.html index.htm

server {
        listen       8080;
        server_name  localhost;

        #charset koi8-r;

        #access_log  logs/host.access.log  main;

        location / {
            root   html;
            index  index.html index.htm;
        }

        #error_page  404              /404.html;

        # redirect server error pages to the static page /50x.html
        #
        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        }

        
    }

此种方法能够装备前后端分离的前端静态页面,root 指向将vue打包好的静态文件即可。

署理服务

server {
        listen       80;
        server_name  admin.binlive.cn;
        location /{
            proxy_pass http://127.0.0.1:8080;
            proxy_set_header  Host              $http_host;   
            proxy_set_header  X-Real-IP         $remote_addr; # pass on real client's IP
            proxy_set_header  X-Forwarded-For   $proxy_add_x_forwarded_for;
            proxy_set_header  X-Forwarded-Proto $scheme;
            proxy_read_timeout                  900;
        }
        
    }

负载均衡

拜访域名www.domain.com 反向署理到 myproject,upstream指定了负载均衡的机器,weight指定权重

http {
  upstream myproject {
  server 127.0.0.1:8000 weight=3;
  server 127.0.0.1:8001;
  server 127.0.0.1:8002;
  server 127.0.0.1:8003;
  }

  server {
  listen 80;
  server_name www.domain.com;
  location / {
  proxy_pass http://myproject;
  }
  }
}

nginx -t 检测装备文件是否正确

nginx -s reload 从头加载装备文件




本公司销售:阿里云、腾讯云、百度云、天翼云、金山大米云、金山企业云盘!可签订合同,开具发票。

我有话说: