Nginx
学习Nginx
基本用法:正向代理 && 反向代理 && 动静分离 && 负载均衡
一句话总结:正向代理屏蔽了真实的ip地址,反向代理屏蔽了服务器的位置
正向代理
- 功能
- 常用于VPN,翻墙:举一个比较简单的例子:
- 你想去问老师问题,但是你没办法直接找到老师
 - 你委托一个同学去找老师
 - 同学找到了老师并且老师告诉了你同学你想问的内容
 - 你同学回来告诉你老师说了什么
 - 相当于你成功问了老师问题
 
 - 同学在这一个过程中起的是
代理服务器的作用 
 - 常用于VPN,翻墙:举一个比较简单的例子:
 - 定义
- 在客户端(浏览器)配置
代理服务器,通过代理服务器进行互联网访问。 
 - 在客户端(浏览器)配置
 
反向代理
- 功能
- 隐藏
服务器真实ip地址,增强安全性 - 负载均衡,将请求转发到多台后端服务器,提高性能和可用性
 - 静态资源缓存,减少后端服务器压力,提升响应速度
 
 - 隐藏
 - 定义
- 我们将请求发送到
代理服务器中,由反向代理服务器去选择目标服务器获取数据,再返回给客户端,此时可以将反向代理服务器和目标服务器视为同一个服务器,暴露了代理服务器的地址,隐藏了真实服务器地址的ip 
 - 我们将请求发送到
 
负载均衡
- 功能:很多请求打入服务器,很可能会造成崩溃,这时候需要Nginx转发请求,让每个服务器都能分摊请求。其实就是一个项目的jar包部署在多台服务器上。
 
动静分离
- 功能:将静态资源和动态资源分别部署在不同的服务器上,节省资源空间,加快访问速度。
 
在Linux上配置及使用Nginx
- 使用ssh远程链接本地的ubuntu
- ssh:SSH(Secure Shell) 是一种网络协议,用于在 不安全的网络中安全地远程登录另一台机器,比如你在 Windows 上登录一台 Linux 服务器。
 
 - Xshell:让我们能在windows上操作Linux系统,配合Xftp实现上传下载文件
 - 最终可以实现使用ip访问nginx
 
Nginx的配置文件
有三部分组成
全局块
- 作用:从配置文件到events块的所有内容,主要会设置一些影响 nginx 服务器整体运行的配置命令
 - 全局块配置如下:
 
1  | user www-data;  | 
比如worker_processes这个参数,越大的话,可以支持的并发处理量也就越多
events块
- 作用:影响Nginx服务器与用户的网络连接
 
1  | events {  | 
- 比如worker_connections是支持的最大连接数
 
http块
- http块里又分为两块:
http全局块和server块 
配置示例
反向代理
- 实现功能:在浏览器中输入
www.123.com跳转到linux系统中tomcat主页面中 - 首先安装tomcat
- 进入tomcat的官网,可以使用wget下载,也可以在windows下载然后使用xftp移动安装包进入
opt - 解压 tar -zxvf 压缩包
 - 启动startup.sh脚本
 
 - 进入tomcat的官网,可以使用wget下载,也可以在windows下载然后使用xftp移动安装包进入
 - 启用对外访问的端口8080
- firewall-cmd –add-port=8080/tcp –permanent
 - firewall-cmd –reload
 - firewall-cmd –list-all
 
 - 修改本地的host文件夹:192.168.6.128 www.123.com(这一步是在模拟DNS解析过程,让浏览器知道我们应该跳哪)
 - 反向代理配置(proxy_123.conf)
 
1  | server {  | 
- 我们本地测试时用 
hosts模拟DNS,让浏览器能把域名解析到虚拟机的IP。上线后就不需要这个步骤,因为 DNS 已经负责把域名解析到服务器公网 IP。浏览器发请求到服务器后,由 Nginx 判断请求路径或域名,转发到对应后端服务(不同端口),然后把返回的结果发回浏览器。这就是路径转发功能 
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 Explainfuture's Blog!



