Nginx入门

1. Nginx的安装与启动

1.1 为什么需要Nginx?

  1. 前端项目部署

    项目开发完成后,前端项目需要服务器部署.

  2. 解决访问端口问题

    同一台服务器部署多个项目时,访问时需要带端口. - 反向代理(动态网站,多台服务器),虚拟主机(静态网站,一台服务器)

  3. 后端项目负载均衡

    现在是用Eureka作为负载均衡器,传统项目集群是就要使用Nginx做负载均衡器.并且我们网关也是使用Nginx作为负载均衡器

1.2 Ngxin是什么?

Nginx 是一款高性能的 http 服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器。由俄罗斯的程序设计师伊戈尔·西索夫(Igor Sysoev)所开发,官方测试 nginx 能够支支撑 5 万并发链接,并且 cpu、内存等资源消耗却非常低,运行非常稳定。

Nginx 应用场景:

  1. http 服务器。Nginx 是一个 http 服务可以独立提供 http 服务。可以做网页静态服务器。
  2. 虚拟主机。可以实现在一台服务器虚拟出多个网站。例如个人网站使用的虚拟主机。
  3. 反向代理,负载均衡。当网站的访问量达到一定程度后,单台服务器不能满足用户的请求时,需要用多台服务器集群可以使用 nginx 做反向代理。并且多台服务器可以平均分担负载,不会因为某台服务器负载高宕机而某台服务器闲置的情况。

1.3 Nginx在Linux下的安装

1.4 Nginx在Windows下的安装

1.4.1 安装

下载地址:http://nginx.org/en/download.html

绿色软件,解压即可安装

1.4.2 使用

  1. 启动: start nginx.exe
  2. 停止: nginx.exe -s stop
  3. 重新加载: nginx.exe -s reload (修改了配置文件的时候需要重新加载)

2. Nginx静态网站部署与调试

2.1 静态网站的部署-部署阶段

将我们之前生成的静态页拷贝到nginx的html目录下即可访问

  1. npm管理的js vuecli

    打包并部署!(打包命令:npm run build)

    打包以后会在项目里产生一个dist目录,这个就是打包后的结果,丢到nginx的html目录下即可!

  2. 直接引入js传统静态

    直接拷贝丢到nginx的html目录下即可!

2.2 静态网站动态调试

开发阶段:

  1. vuecli可以npm run dev启动调试
  2. 传统导入js开发的模式,没法直接服务器方式调试,需要安装 live-server服务器,这个服务器很简单就是node一个模块.

传统前端项目搭建前端服务器,以下命令:

  1. npm install -g live-server
  2. live-server --port=6002

3. Nginx配置虚拟主机

虚拟主机,也叫“网站空间”,就是把一台运行在互联网上的物理服务器划分成多个“虚拟”服务器。虚拟主机技术极大的促进了网络技术的应用和普及。同时虚拟主机的租用服务也成了网络时代的一种新型经济形式。

3.1 端口绑定

  1. 上传静态网站:
    • 前端网站hrm_course_web,nginx/hrm_course_web下
    • 前端网站hrm_plat_web打包后上传至nginx/hrm_plat_web 下
  2. 修改Nginx的配置文件nginx.conf
    server {
        listen       82;
        server_name  localhost;
        location / {
            root   hrm_course_web;
            index  home.html;
        }      
    }
    server {
        listen       83;
        server_name  localhost;
        location / {
            root   hrm_plat_web;
            index  index.html;
        }        
    }
  1. 访问测试: 重新加载Nginx

3.2 域名绑定

  1. 什么是域名?

    域名(Domain Name),是由一串用“点”分隔的字符组成的Internet上某一台计算机或计算机组的名称,用于在数据传输时标识计算机的电子方位(有时也指地理位置,地理上的域名,指代有行政自主权的一个地方区域)。域名是一个IP地址上有“面具” 。域名的目的是便于记忆和沟通的一组服务器的地址(网站,电子邮件,FTP等)。域名作为力所能及难忘的互联网参与者的名称。域名按域名系统(DNS)的规则流程组成。在DNS中注册的任何名称都是域名。域名用于各种网络环境和应用程序特定的命名和寻址目的。通常,域名表示互联网协议(IP)资源,例如用于访问因特网的个人计算机,托管网站的服务器计算机,或网站本身或通过因特网传送的任何其他服务。世界上第一个注册的域名是在1985年1月注册的。

    要想访问网络资源就要使用http://ip:port/uri,但是记忆ip比较难,通过域名就更好,这个域名最终也要解释为ip.

  2. 域名解析步骤

    • hosts:本地域名
    • 远程域名:在网络上找DNS(域名解析服务器)来解析域名
  3. 域名级别

    • 顶级域名(又名一级域名)。如cn、com等
    • 二级域名(顶级域名之下的域名)。如wangningbo.cn、baidu.com
    • 三级域名。如ningbo.wangningbo.cn
  4. 域名与ip绑定

    • 一个域名对应一个 ip 地址,一个 ip 地址可以被多个域名绑定。
    • 本地测试可以修改hosts文件(C:\Windows\System32\drivers\etc\hosts)
    • 可以配置域名和 ip 的映射关系,如果 hosts 文件中配置了域名和 ip 的对应关系,不需要走dns 服务器。

域名解析流程:在浏览器输入https://www.baidu.com/,这时候先会去本地的hosts文件里去解析,如果解析不了就会去网络上找DNS来解析域名!

  1. 域名配置

hosts文件配置一下本地域名

127.0.0.1 hrm.com
127.0.0.1 admin.hrm.com
127.0.0.1 course.hrm.com

修改Nginx配置文件nginx.conf

    server {
        listen       80;
        server_name  admin.hrm.com;
        location / {
            root   hrm_plat_web;
            index  index.html;
        }
    }
    server {
        listen       80;
        server_name  course.hrm.com;
        location / {
            root   hrm_course_web;
            index  home.html;
        }
    }

重新启动nginx

 ./nginx -s reload

测试

地址栏输入http://admin.hrm.com/
地址栏输入http://course.hrm.com/ 

4. nginx作为反向代理

4.1 为什么需要反向代理?

静态项目可以通过虚拟主机实现,但动态tomcat网站就不行,nginx无法解释运行.

4.2 什么是代理和反向代理?

  1. 代理

    通过客户机的配置,实现让一台服务器代理客户机,客户的所有请求都交给代理服务器处理。

    如下图所示
    [图片上传失败...(image-bd0e39-1569803991383)]

  2. 反向代理

    用一台服务器,代理真实服务器,用户访问时,不再是访问真实服务器,而是代理服务器。

    如下图所示
    [图片上传失败...(image-ace90d-1569803991383)]

nginx可以当做反向代理服务器来使用:我们需要提前在nginx中配置好反向代理的规则,不同的请求,交给不同的真实服务器处理。当请求到达nginx,nginx会根据已经定义的规则进行请求的转发,从而实现路由功能,利用反向代理,就可以解决我们前面所说的端口问题!如下图所示
[图片上传失败...(image-c8b74b-1569803991383)]

4.3 反向代理配置

4.3.1 配置语法

语法解释

server {
        listen       80;# 监听的端口
        server_name  course.hrm.com;# 监听的域名
        # location:请求映射规则,/:代表映射一切请求路径
        location / { 
            proxy_pass http://127.0.0.1:6002; # 访问域名为course.hrm.com都交给6002处理 # 代理转发,所有以course.hrm.com并且80端口访问的请求都会被转发给http://127.0.0.1:6002处理
            index  index.html index.htm home.html;
        }
    }

nginx.conf配置

server {
        listen       80;
        server_name  course.hrm.com;

        #charset koi8-r;

        #access_log  logs/host.access.log  main;

        location / { 
            proxy_pass http://127.0.0.1:6002; #访问域名为course.hrm.com都交给6002处理
            index  index.html index.htm home.html;
        }
    }

    server {
        listen       80;
        server_name  admin.hrm.com;

        #charset koi8-r;

        #access_log  logs/host.access.log  main;

        location / {
            proxy_pass http://127.0.0.1:6001; #访问域名为admin.hrm.com都交给6001处理
            index  index.html index.htm;
        }
    }

4.3.2 原理示意图

[图片上传失败...(image-13dc72-1569803991383)]

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 156,757评论 4 359
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 66,478评论 1 289
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 106,540评论 0 237
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 43,593评论 0 203
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 51,903评论 3 285
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 40,329评论 1 210
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 31,659评论 2 309
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 30,383评论 0 195
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 34,055评论 1 238
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 30,337评论 2 241
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 31,864评论 1 256
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 28,227评论 2 251
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 32,820评论 3 231
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 25,999评论 0 8
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 26,750评论 0 192
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 35,365评论 2 269
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 35,260评论 2 258

推荐阅读更多精彩内容

  • nginx入门、安装配置与使用详解 本文内容: 1. nginx 简介 2. nginx 安装配置 3. ngin...
    小流歌_阅读 882评论 0 0
  • 简介: Nginx是一款自由、开源、高性能的HTTP服务器和反向代理服务器,可以当做(邮件代理)IMAP,POP3...
    hlchengzi阅读 1,890评论 0 1
  • 《波心》(随笔3首) 文:贾玲 《波心》 看看 树上金黄色的叶子 被太阳光芒 照耀的闪闪发光 在空中飘荡的...
    贾玲月亮阅读 203评论 0 1
  • 初一 那会儿教我们生物的,是个年轻的女老师,一般来说,年轻漂亮的女老师总是可以轻而易举地制服调皮捣蛋的学生。但是她...
    左棠阅读 464评论 1 0
  • 好久没用简书了,这几天看了《平凡的世界》,从网上摘了一些路遥先生的话。 我深切地感到,尽管创造的过程无比艰辛而成功...
    云破月影阅读 204评论 0 0