1.ngnix的配置文件的介绍
Nginx默认的配置文件位置是:
vi /usr/soft/nginx/conf/nginx.conf
nginx.conf 就是在ndinx下载的位置文件包下.路径根据自己下载的位置来写.
点击回车进入nginx.conf文件中进行编写配置文件
自定义了server
在nginx目录下创建一个目录main 并在该目录下创建一个main.html
注意: 你修改了nginx配置文件,必须重新加载配置文件 , 一个nginx可以对应多个server.
./nginx -s reload
2. nginx的核心功能
1.反向代理
(1)正向代理
隐藏了真实的请求客户端,服务端不知道真实的客户端是谁,客户端请求的服务都由代理服务器代替来请求
举个例子,国内的用户想要访问 Google 时,会被阻挡。所以这个时候把请求发送到另外一个代理服务器(可以访问 Google 的服务器)上,由其代为转发请求和接收响应内容。
结合实际工作场景举个例子:很多时候希望通过手机(请求客户端)访问电脑开发环境的内容(内容类比 Google 首页),可以在 PC 中搭建服务器(代理服务器),然后创建热点,手机设置 HTTP 代理(PC 的 IP 和端口),就可以访问到想要看的内容了。
当出现多个请求客户端时,是这样的:
总结:
正向代理:指一对一或多对一,Server 不知道请求的 Client 都是哪些人。
(2)反向代理
反向代理恰好跟正向代理相反。同时反向代理一般是负载均衡的一个原理。按照上面所说,正向代理是一对一或多对一,那么反向代理就是一对多,画图说明:
反向代理隐藏了真实的服务端,当我们请求 http://www.baidu.com 的时候,就像拨打 QQ 客服热线一样,背后可能有成千上万台服务器为我们服务,但具体是哪一台,你不知道,也不需要知道,你只需要知道反向代理服务器是谁就好了,http://www.baidu.com 就是我们的反向代理服务器,反向代理服务器会帮我们把请求转发到真实的服务器那里去。
当然,除了一对多,还有多对多(很多用户同时访问同一个网站)
总结:
两者的区别在于代理的对象不一样:正向代理代理的对象是客户端,反向代理代理的对象是服务端。
(3)运用
准备:
搞一台真实服务器----tomcat项目。----搞一个springboot项目并放入linux服务器系统
(2)配置nginx来代理上面springboot真实项目服务。
java -jar qy165-demo01.jar
运行springboot项目
(2)配置nginx来代理上面springboot真实项目服务。
重新加载nginx配置文件: ./nginx -s reload
防火墙放行82端口号: firewall-cmd --add-port=82/tcp --zone=public --permanent
注意: 重启防火墙---systemctl restart firewalld
启动springboot项目: java -jar qy 165-demo01.jar
(3)浏览器访问nginx
2. 负载均衡
配合反向代理+负载均衡
真实服务器准备2台。
nginx重新加载配置文件
默认使用轮询策略。
还有哪些负载均衡策略:
(1)权重策略:----合适服务器的配置不同,被访问的频率不同。
3. 动静分离
把静态资源【css,js,img】交于nginx来处理,而动态资源[接口,jsp]还是有真实服务器处理
好处: 当修改静态资源时,无需对每个真实服务器的静态资源做修改,只需要修改nginx一处的静态资源。