安装nginx
/etc/nginx/
启动nginx
systemctl start nginx
systemctl enable nginx
访问 nginx
http://127.0.0.1
安装tomcat
启动tomcat
bin/startup.sh
对外开放访问端口
firewall-cmd --add-port=8080/tcp --permanent
firewall-cmd --reload
查看以开放的端口
firewall-cmd --list-all
systemctl start firewalld 开启火墙
systemctl stop firewalld 关闭火墙
systemctl enable firewalld 设置火墙开机自启动
systemctl disable firewalld 设置火墙开机禁用
systemctl status firewalld 查看状态
firewall-cmd常用命令
--get-default-zone 查询当前默认区域。
--set-default-zone= 设置默认区域。此命令会同时更改运行时配置和永久配置。
--get-zones 列出所有可用区域。
--get-services 列出所有预定义服务。
--get-active-zones 列出当前正在使用的所有区域(具有关联的接口或源)及接口和源信息。
--add-source= 将来自IP地址或网络/掩码的所有流量路由到指定区域。
--remove-source= 从指定区域中删除用于路由来自IP地址或网络/掩码的所有流量规则。
--add-interface= 将来自该接口的所有流量到指定区域。
--change-interface= 将接口已有绑定区域而与其他区域关联。
--list-all 列出默认区域的所有配置(接口、源、服务和端口)。
--list-all-zones 列出所有区域的所有配置(接口、源、服务和端口)。
--add-service= 允许区域某服务的流量。
--add-port= 允许区域某端口的流量。
--remove-service= 从区域删除某服务规则。
--remove-port= 从区域删除某端口规则。
--reload 丢弃Runtime配置并应用Permanet配置。
----------------------------------
反向代理tomcat
在Windows的host文件进行域名和IP配置
c:/windows/system32/driveers/etc/host
192.168.198.160 www.123.com
在nginx进行请求转发
server_name 192.168.198;
location / {
root html;
proxy_pass http://127.0.0.1:8080;
}
测试
浏览器:www.123.com
根据urs不同跳转到不同的端口
配置两个tomcat服务器,启动tomcat服务器
修改xml端口
在tomcat创建两个文件夹和测试文件html
配置nginx
server{
listen 9001;
server_name 192.168.198.160;
location ~ /edu/ {
proxy_pass http://127.0.0.1:8080;
}
location ~ /vod/ {
proxy_pass http://127.0.0.1:8081;
}
}
开发端口 9001 8080 8081
http://192.168.198.160:9001/edu/a.html
http://192.168.198.160:9001/vod/a.html
-------------- 负载均衡 --------------------
在浏览器输入http://192.168.198.160:9001/edu/a.html
负载均衡效果:平均分配到8080和8081端口
准备两个tomcat服务器,8080和8081
在两个tomcat里的webapps目录中创建edu文件夹,并创建测试
文件html
配置nginx负载均衡配置
http {
....
upstream myserver {
server 192.168.198.160:8080;
server 192.168.198.160:8081;
}
...
sever{
location {
proxy_pass http://myserver;
}
}
}
nginx 分配服务器策略
1.轮询(默认)
按时间顺序分配服务器,服务器down,自动剔除
2.weight
weight代表权重 默认为1, 值越大,分配概率越到大
upstream myserver {
server 192.168.198.160:8080 weight =5;
server 192.168.198.160:8081 weight =15;
}
3.ip hash
upstream myserver {
ip hash;
server 192.168.198.160:8080;
server 192.168.198.160:8081;
}
每个请求访问IP的hash结果分配,这样每个访问固定的服务器(解决IP分配)
4 fair(第三方)
安装服务器响应时间分配,响应时间短优先分配
upstream myserver {
server 192.168.198.160:8080;
server 192.168.198.160:8081;
fair;
}
---------------------------------- 动静分离 ------------------
创建两个文件
/data/www/a.html
/data/image
配置nginx
http{
listem 80;
server_name 192.168.198.160;
}
location /www/ {
root /data/;
}
location /image/ {
root /data/;
autoindex on; 列出访问的目录表
}
重启nginx
测试
1 浏览器输入地址 http://192.168.198.160/image/
http://192.168.198.160/www/a.html
----------------------------高可用集群 ------------------
作用;防止nginx宕机
使用一台主nginx和从nginx,来实现高可用集群
keepalived:
类似路由:通过脚本检查nginx是否宕机,如果宕机,切换nginx
创建一个虚拟IP绑定两台nginx
在两台服务器上安装nginx和keepalived
修改keepalived配置 /ect/keepalived/keepalived.conf
添加检测脚本
重启nginx 和 keepalived
./nginx -s stoop
./nginx
systemctl start keepalived.service
测试:输入虚拟IP地址
修改host文件
/etc/host
127.0.0.1 主机名字
-----------------------------------
一个master和多个woker的好处
1、可以使用 nginx -reload 进行热更新配置(没有消息处理,可以更新)
2、
3、