Nginx入门

Nginx入门

1. 项目中Nginx的作用

1.1 前端项目部署

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

npm run build 原来是拷贝到tomcat,但是有问题,tomcatServlet容器,处理静态页面效率低下。

需要专门的http服务器-nginx就是其中一个。

1.2 解决访问端口问题

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

1.3 后端项目负载均衡器-zuul集群

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

2. Nginx应用场景

1http 服务器。Nginx 是一个 http 服务可以独立提供 http 服务。可以做网页静态服务器。

2、虚拟主机。可以实现在一台服务器虚拟出多个网站。例如个人网站使用的虚拟主机。

3、反向代理,负载均衡。当网站的访问量达到一定程度后,单台服务器不能满足用户的请求时,需要用多台服务器集群可以使用 nginx 做反向代理。并且多台服务器可以平均分担负载,不会因为某台服务器负载高宕机而某台服务器闲置的情况。

3. Nginx windows下安装使用

3.1 安装

直接解压即可

 

 

 

3.2 使用

nginx可以通过命令行来启动,操作命令:

启动: start  nginx.exe       localhost 默认端口是80

停止: nginx.exe -s stop

重新加载: nginx.exe -s reload 修改了配置文件的时候需要重新加载.

4 Nginx配置虚拟主机

1.1 不同端口访问不同资源

修改Nginx 的配置文件:conf/nginx.conf

    server {

        listen       82;

        server_name  localhost;

        location / {

            root   hrm_web_course;

            index  index.html;

        }      

    }

    server {

        listen       83;

        server_name  localhost;

        location / {

            root   hrm_web_system;

            index  index.html;

        }        

    }

1.2 同端口不同域名访问不同资源

    server {

        listen       80;

        server_name  system.hrm.com;

        location / {

            root   hrm_web_system;

            index  index.html;

        }

    }

    server {

        listen       80;

        server_name  course.hrm.com;

        location / {

            root   hrm_web_course;

            index  home.html;

        }

    }

5. 反向代理

5.1 什么是反向代理

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

 

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

5.2 配置

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  system.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;

}

}

5.3 原理

 

 

反向代理的规则可以通过域名的不同来进行区别,也可以通过uri的不同来进行区别。

posted @ 2020-02-22 21:47  dyier  阅读(157)  评论(0编辑  收藏  举报