相关概念
Nginx是一个高性能HTTP和反向代理服务器
反向代理
正向代理
是以用户角度来说的,访问外国网站的时候,直接访问不成功,可以在浏览器配置代理服务器,通过代理服务器访问,这就是正向代理
反向代理
是以服务器角度来说的,客户端不知情,客户端只需要把请求发送到反向代理服务器即可,而反向代理自行选择真实服务器,其实隐藏了真实的服务器地址
负载均衡
增加服务器的数量以解决高并发的问题,使用反向代理服务器处理分发请求
动静分离
为了加快网站的解析速度,可以把动态页面(jsp)和静态页面(js,css)由不同的服务器来解析,加快解析速度。降低原来单个服务器的压力
基本命令
./nginx -v
查看nginx的版本号
ps -ef | grep nginx
查看nginx当前的进程
./nginx -s stop
不用kill进程直接就停止当前所有的nginx进程
./nginx -s reload
重新加载nginx(比如修改配置文件之后不想重启nginx,可以使用这个命令来更新配置文件)
配置文件
位置/usr/local/nginx/conf/nginx.conf
全局块
整体运行的配置指令
这里的worker_processes越大,并发处理量越大
events块
这里的worker_connections 表示支持的最大连接数
http块
http全局块
server块
可以配置多个location块
实战案例
效果1——反向代理
效果:输入www.caballer.top 直接跳转到某端口号的页面,相当于隐藏了端口号
隐藏网址:http://xxx.xxx.xxx.xxx:8000
原理:访问的是nginx暴露的80端口,转发给8000端口
解释:
- listen 是80端口,代表nginx服务器监听的端口,访问某个网站,不加端口号的话默认是访问80端口,在这里nginx在监听
- server_name 是主机的公网ip
- proxy_pass 就代表转发,将跳转到本机的8000端口
效果2——反向代理2
效果:根据请求的地址不同跳转到不同的端口
举例:
访问http://127.0.0.1:9001/edu/ 跳转到127.0.0.1:8080
访问http://127.0.0.1:9001/vod/ 跳转到127.0.0.1:8081
解释:
由于之前已经监听了80端口,如果想新监听一个端口只需要再加一个server即可