Nginx
目录一、Nginx概述
1. Nginx简介
2. Nginx特点
3. Nginx应用场景
-
http服务器
可以做网页静态服务器
-
虚拟主机
实际开发时实现了一台服务器虚拟出多个网站(不同域名/端口号)
-
反向代理,负载均衡
正向代理:正向代理代理的是客户端, 服务端不知道实际发起请求的客户端
反向代理:代理服务器接收客户端的请求,然后将请求转发给网站内部应用服务器,并将从服务器上得到的结果返回给客户端
单台服务器不能满足用户的请求时,需要用多台服务器集群,可以使用Nginx做代理服务器,Nginx接收到请求后会将请求转发给后面的应用服务器
二、Nginx使用方式
-
启动
cd /usr/local/Nginx/sbin
./Nginx
-
./Nginx -s stop
-
查看进程
ps aux | grep Nginx
-
启动Nginx后在浏览器中访问服务器IP前,需要先关闭防火墙
默认配置了80端口
/sbin/iptables -I INPUT -p tcp --dport 指定的端口号 -j ACCEPT
三、配置虚拟主机
1. 通过端口区分不同的虚拟主机
-
在Nginx.conf中配置虚拟主机,一个server代表一个虚拟主机
worker_processes 1; events { worker_connections 1024; } http { include mime.types; default_type application/octet-stream; sendfile on; keepalive_timeout 65; server { listen 80; server_name localhost; # 配置localhost无需更改host自动映射为本机IP location / { root html; index index.html index.htm; } error_page 500 502 503 504 /50x.html; location = /50x.html { root html; } } # 配置新的server server { listen 81; # 修改端口 server_name localhost; location / { root html81; # 重新制定一个目录 index index.html index.htm; } error_page 500 502 503 504 /50x.html; location = /50x.html { root html; } } }
-
拷贝一份html文件夹作为新server的root目录
/usr/local/Nginx
cp -r html/ html81
-
重新加载Nginx
cd /usr/local/Nginx/sbin
./Nginx -s reload
-
访问当前服务器IP下配置的不同端口号
http://192.168.xxx.xxx 访问第一个server http://192.168.xxx.xxx:81 访问第二个server
2. 通过域名区分不同的虚拟主机
-
相关概念
-
配置域名映射的方式
-
通过域名区分不同的虚拟主机步骤
-
在Nginx.conf中配置虚拟主机,端口号相同,server_name和root目录名不同
worker_processes 1; events { worker_connections 1024; } http { include mime.types; default_type application/octet-stream; sendfile on; keepalive_timeout 65; server { listen 80; server_name www.t1conycass.com; # 配置后需要在hosts文件中修改该域名对应的IP location / { root html-t1; # 重新制定一个目录 index index.html index.htm; } error_page 500 502 503 504 /50x.html; location = /50x.html { root html; } } # 配置新的server server { listen 80; # 修改端口 server_name www.t2conycass.com; # 配置后需要在hosts文件中修改该域名对应的IP location / { root html-t2; # 重新制定一个目录 index index.html index.htm; } error_page 500 502 503 504 /50x.html; location = /50x.html { root html; } } }
cd /usr/local/Nginx/sbin
./Nginx -s reload
-
使用SwitchHosts修改hosts中域名映射配置,两个域名同时绑定一个IP
# Nginx 192.168.197.128 www.t1conycass.com 192.168.197.128 www.t2conycass.com
-
四、Nginx作为反向代理服务器
1. 代理概述
-
代理(服务器):客户机在发送请求时,不会直接发送给目的主机,而是先发送给代理服务器,代理服务器接受客户机请求之后,再向目的主机发出,并接收目的主机返回的数据再发送给客户机
-
正向代理:正向代理代理的是客户端,服务端不知道实际发起请求的客户端
案例:国内访问谷歌,直接访问访问不到,我们可以通过一个正向代理服务器,先将请求发送到到代理服务器,代理服务器能够访问谷歌,这样由代理去谷歌取到返回数据,再返回给我们,这样我们就能访问谷歌了
-
反向代理:反向代理代理的是服务器,代理服务器接收客户端的请求,将请求转发到网站内部的应用服务器上,并将应用服务器上得到的结果返回给客户端
2. Nginx实现反向代理
-
实现步骤
-
在服务端启动两个Tomcat服务器端口号分别是8080和8081
./bin/startup.sh
在浏览器中访问两个Tomcat,可查看到Tomcat主页面
http://192.168.xxx.xxx:8080/ http://192.168.xxx.xxx:8081/
-
在Nginx.conf中配置反向代理服务器
# 反向代理配置1 upstream ramentherapy01 { # 用server定义HTTP地址 server 192.168.197.128:8080; } server { listen 80; # 修改端口 server_name www.ramentherapy01.com; location / { # proxy可以将请求代理到对应的upstream proxy_pass http://ramentherapy01; # 转发的地址 index index.html index.htm; } } # 反向代理配置2 upstream ramentherapy02 { # 用server定义HTTP地址 server 192.168.197.128:8081; } server { listen 80; # 修改端口 server_name www.ramentherapy02.com; location / { # proxy可以将请求代理到对应的upstream proxy_pass http://ramentherapy02; # 转发的地址 index index.html index.htm; } }
cd /usr/local/Nginx/sbin
./Nginx -s reload
-
使用SwitchHosts修改hosts中域名映射配置,两个域名同时绑定一个IP
192.168.197.128 www.ramentherapy01.com 192.168.197.128 www.ramentherapy02.com
-
五、Nginx作为负载均衡器
1. 负载均衡器概述
- 反向代理服务器中的负载均衡器作用:将大量的请求合理地发送给集群中的不同服务器, 避免临时的网络堵塞
2. Nginx实现负载均衡
-
负载均衡策略
-
实现步骤
-
在Nginx.conf中配置反向代理服务器(默认策略是轮询)
# 负载均衡 upstream ramentherapy { # 用server定义HTTP地址 server 192.168.197.128:8080; server 192.168.197.128:8081; } server { listen 80; # 修改端口 server_name www.ramentherapy.com; location / { # proxy可以将请求代理到对应的upstream proxy_pass http://ramentherapy; # 转发的地址 index index.html index.htm; } }
在Nginx.conf中配置反向代理服务器(权重)
# 负载均衡 upstream ramentherapy { # 用server定义HTTP地址 server 192.168.197.128:8080 weight=1; server 192.168.197.128:8081 weight=10; } server { listen 80; # 修改端口 server_name www.ramentherapy.com; location / { # proxy可以将请求代理到对应的upstream proxy_pass http://ramentherapy; # 转发的地址 index index.html index.htm; } }
-
cd /usr/local/Nginx/sbin
./Nginx -s reload
-
使用SwitchHosts修改hosts中域名映射配置
192.168.197.128 www.ramentherapy.com
-
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。