Nginx入门
Nginx入门
1. 项目中Nginx的作用
1.1 前端项目部署
项目开发完成后,前端项目需要服务器部署.
npm run build 原来是拷贝到tomcat,但是有问题,tomcat是Servlet容器,处理静态页面效率低下。
需要专门的http服务器-nginx就是其中一个。
1.2 解决访问端口问题
同一台服务器部署多个项目时,访问时需要带端口. - 反向代理(动态网站,多台服务器),虚拟主机(静态网站,一台服务器)
1.3 后端项目负载均衡器-zuul集群
现在适用Eureka作为负载均衡器,传统项目集群是就要使用Nginx做负载均衡器.并且我们网关也是使用Nginx作为负载均衡器.
2. Nginx应用场景
1、http 服务器。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的不同来进行区别。