开发者社区> 琴岛蛏子> 正文

Nginx-基本概念和使用

简介: Nginx-基本概念和使用
+关注继续查看

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 重新加载配置文件

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
VxWorks6.6 pcPentium BSP 使用说明(一):基本概念
<p style="">“VxWorks6.6 BSP 使用说明”将发布pcPentium和idp945两个系列的BSP的使用说明。每个系列约5篇文章。之后还将发布由这两个官方提供的BSP的实战移植方法。</p> <h4 style="">本说明适用范围</h4> <blockquote style=""><span style="color:#3366ff; padding-bott
2424 0
阿里云服务器安全组设置内网互通的方法
虽然0.0.0.0/0使用非常方便,但是发现很多同学使用它来做内网互通,这是有安全风险的,实例有可能会在经典网络被内网IP访问到。下面介绍一下四种安全的内网互联设置方法。 购买前请先:领取阿里云幸运券,有很多优惠,可到下文中领取。
18684 0
Nginx-基本概念和使用
Nginx-基本概念和使用
26 0
【设计模式】原型模式 ( 概念简介 | 使用场景 | 优缺点 | 基本用法 )
【设计模式】原型模式 ( 概念简介 | 使用场景 | 优缺点 | 基本用法 )
28 0
【设计模式】原型模式 ( 概念简介 | 使用场景 | 优缺点 | 基本用法 )
【设计模式】原型模式 ( 概念简介 | 使用场景 | 优缺点 | 基本用法 )
30 0
阿里云服务器ECS远程登录用户名密码查询方法
阿里云服务器ECS远程连接登录输入用户名和密码,阿里云没有默认密码,如果购买时没设置需要先重置实例密码,Windows用户名是administrator,Linux账号是root,阿小云来详细说下阿里云服务器远程登录连接用户名和密码查询方法
21553 0
阿里云服务器ECS登录用户名是什么?系统不同默认账号也不同
阿里云服务器Windows系统默认用户名administrator,Linux镜像服务器用户名root
13832 0
如何设置阿里云服务器安全组?阿里云安全组规则详细解说
阿里云安全组设置详细图文教程(收藏起来) 阿里云服务器安全组设置规则分享,阿里云服务器安全组如何放行端口设置教程。阿里云会要求客户设置安全组,如果不设置,阿里云会指定默认的安全组。那么,这个安全组是什么呢?顾名思义,就是为了服务器安全设置的。安全组其实就是一个虚拟的防火墙,可以让用户从端口、IP的维度来筛选对应服务器的访问者,从而形成一个云上的安全域。
17050 0
+关注
琴岛蛏子
潮来潮去,打洞卧沙
62
文章
0
问答
文章排行榜
最热
最新
相关电子书
更多
OceanBase 入门到实战教程
立即下载
阿里云图数据库GDB,加速开启“图智”未来.ppt
立即下载
实时数仓Hologres技术实战一本通2.0版(下)
立即下载