Nginx 的功能及使用
1.静态网站的部署
我的Nginx的配置文件在 /etc/nginx/nginx.conf
使用的时候建议将注释掉的删除掉
修改配置文件
server {
listen 80; # 监听的端口
server_name localhost; # 域名或ip
location / { # 访问路径配置
root index;# 根目录
index index.html index.htm; # 默认首页
}
error_page 500 502 503 504 /50x.html; # 错误页面
location = /50x.html {
root html;
}
}
server {
listen 82; # 监听的端口
server_name localhost; # 域名或ip
location / { # 访问路径配置
root regist;# 根目录
index regist.html; # 默认首页
}
error_page 500 502 503 504 /50x.html; # 错误页面
location = /50x.html {
root html;
}
}
根据不同的端口号会跳转到不同的静态页面
ip:81 回跳转到 /index/index.html 静态页面
ip:82 回跳转到 /regist/regist.html 静态页面
2.域名绑定
Nginx的域名绑定就是:
例子:
有个index.html 页面通过如下可以进行访问:
本机IP:192.168.1.1:80
但是我想通过我想将这个页面绑定到:www.myindex.com
只需要在本机浏览器上输入:www.myhtml.com 就可以访问
修改配置文件:
server {
listen 80;
server_name www.myhtml1.com;
location / {
root index;
index index.html;
}
}
# 可以绑定多个
server {
listen 80;
server_name www.myhtml2l.com;
location / {
root index;
index index2.html;
}
}
刷新配置:
sudo systemctl reload nginx
地址栏输入:
http://www.myhtml.com/ 跳到index.html
http://www.myhtml2.com/ 跳到index2.html
3.反向代理
什么是反向代理?
正向代理理解图(就像vpn,针对client)
反向代理理解图(就是请求通过Nginx处理进行分配,针对server)
可以在Nginx与服务器之间建立防火墙
修改配置 设置反向代理
upstream tomcat-travel{
# tomcat-travel代理服务器名 与下面要一致
server 192.168.177.129:8080;
}
server {
listen 80; # 监听的端口
server_name www.hmtravel.com; # 域名或ip
location / { # 访问路径配置
# root index;# 根目录
proxy_pass http://tomcat-travel; # 与上面要一直
index index.html; # 默认首页可以配置多个
}
}
cilent访问www.hmtravel.com 会指向192.168.177.129:8080这个tomcat服务器
4.负载均衡
要想使用Nginx的负载均衡就得会搭建的Tomcat集群
什么是tomcat集群:
简答来讲就是一个项目搭载了多个tomcat服务器进行访问
同一个项目使用不同ip或者不同端口(8080,8081,8082..)
这里未来演示使用同一台机子的ip进行演示只是改变端口来搭建tomcat
tomcat集群的好处
实现高并发:比如一个tomcat的并发量是200,3个tomcat就是600了
搭建tomcat集群:(改端口)
tomcat配置文件在:
tomcat目录/conf/Catalina/server.xml
我Mac机子中是在tomcat目录/conf/server.xml
修改端口注意:
默认8080,修改成8081,并不是只要修改8080,其他如8043,要修改成8044
搭建 3个tomcat,来测试均衡负载,修改Nginx配置文件
upstream tomcat-travel {
# 搭建的3个tomcat组成的集群
server 192.168.177.129:8080 weght=2; # 设置权重 默认权重是1,优先使用8080作为代理,因为其他权重是1
server 192.168.177.129:8081;
server 192.168.177.129:8082;
}
server {
listen 80; # 监听的端口
server_name www.hmtravel.com; # 域名或ip
location / { # 访问路径配置
# root index;# 根目录
proxy_pass http://tomcat-travel; # 与upstream 设置的名字要一致
index index.html index.htm; # 默认首页
}
error_page 500 502 503 504 /50x.html; # 错误页面
location = /50x.html {
root html;
}
}
```
对http://www.hmtravel.com/ 进行访问的时候会根据权重,反向代理到这三个tomcat服务器上(就是3个tomcat随机选一个进行访问)