一、tomcat服务的准备(tomcat和nginx安装在同一台的虚拟机里面,而tomcat使用8081和9080两个端口启动,nginx使用80端口)
1、nginx和tomcat的安装位置:
(注意:在同一台虚拟机里面开两个tomcat服务器,启动端口分别为8081和9080,另外的端口也必须修改,不然会出现只能只能启动一个tomcat的情况)
(修改tomcat欢迎页的步骤:
a、在webapps下新建一个myjsp文件夹,新建一个my.html文件
b、进入conf,打开里面的server.xml文件,在截图位置添加一行
c、进入conf文件夹,打开web.xml文件,添加
,就可以实现修改tomcat默认的启动文件了
)
2、nginx实现反向代理
(在Windows系统里面拦截域名的dns)
a、正向代理
http请求 --------》tomcat服务器,提供服务
b、反向代理(反向代理不提供服务器,只提供命令的转发)
nginx.conf文件:
配置步骤:
3、nginx实现反向代理和负载均衡
在upstream里面,添加一个服务节点 server 192.168.66.49:9080; 这样就可以用 www.sohu.com 域名访问的时候,从而实现负载均衡的功能。
3、nginx+keepalived实现高可用
4、nginx作为虚拟主机、请求不同端口的web访问
a、核心配置:配置成如下的形式;即可多个网站通过不同的域名进行访问。原理是通过访问的host 将对应的服务器目录返回。
server {
listen 80;
server_name a.com;//你的域名 ;
root /usr/share/nginx/html;
}
server {
listen 80;
server_name b.com;//二级域名;
root /usr/share/nginx/htmlb;//不同目录
}
效果:都是通过80端口侦听,通过域名的不同来区分访问的资源
b、要是第二个网站的端口监听的是非80端口;例如gitbook的4000端口;就需要将请求进行转发;原理是通过不同的域名判断将请求进行转发;不仅要开启虚拟主机还需要将对应的虚拟主机请求转发。配置如下:
server {
listen 80;
server_name a.com;//你的域名 ;
root /usr/share/nginx/html;
}
server {
server_name b.com;//对应的域名
listen 80;
location / { proxy_pass http://127.0.0.1:4000;
}
}