为了实现这个功能,需要修改nginx的配置文件,将nginx.conf清理一下,使结构更清晰。
worker_processes ;
events {
worker_connections ;
}
http {
include mime.types;
default_type application/octet-stream;
sendfile on;
keepalive_timeout ; server {
listen ;
server_name localhost;
location / {
root html;
index index.html index.htm;
}
error_page /50x.html;
location = /50x.html {
root html;
}
}
}
1 基于端口的虚拟主机配置
1.1将html文件复制两份,分别命名为html-81、html-82,并且修改文件夹里面index.html内容,添加端口标识。
root@yatces-virtual-machine:/usr/local/nginx# cp -r html html-
root@yatces-virtual-machine:/usr/local/nginx# cp -r html html-
结构:
1.2nginx配置,新增两个server:配置监听端口为 81 和 82
server {
listen ;
server_name localhost;
location / {
root html-;
index index.html index.htm;
}
error_page /50x.html;
location = /50x.html {
root html;
}
} server {
listen ;
server_name localhost;
location / {
root html-;
index index.html index.htm;
}
error_page /50x.html;
location = /50x.html {
root html;
}
}
1.3测试
访问192.168.78.131:81 和 192.168.78.131:82
2 基于域名的虚拟主机配置
这边我们使用SwitchHosts修改hosts文件
1.1将html文件复制两份,分别命名为html-www、html-manage,并且修改文件夹里面index.html内容,添加域名文件标识。
root@yatces-virtual-machine:/usr/local/nginx# cp -r html html-www
root@yatces-virtual-machine:/usr/local/nginx# cp -r html html-manage
结构
1.2nginx配置(新增两个server:配置server_name分别为www.yatces.com 和 manage.yatces.com)
server {
listen ;
server_name manage.yatces.com;
location / {
root html-manage;
index index.html index.htm;
}
error_page /50x.html;
location = /50x.html {
root html;
}
} server {
listen ;
server_name www.yatces.com;
location / {
root html-www;
index index.html index.htm;
}
error_page /50x.html;
location = /50x.html {
root html;
}
}
1.3测试(访问 www.yatces.com 和 manage.yatces.com)
3 nginx的反向代理和负载均衡到 tomcat
3.1先安装jdk 环境,新增tomcat实例
新增两个tomcat实例tomcat1和Tomcat,端口分别是 8081 和 8082 。
修改两个tomcat实例的配置文件:conf/server.xml中的端口信息(每个实例都要修改三个位置的port,防止端口冲突)
分别修改webapps/ROOT/index.jsp,加上端口,以便识别。
分别测试tomcat是否成功:
http://192.168.78.131:8081/
http://192.168.78.131:8082/
3.2配置Nginx
修改本地hosts文件
反向代理配置
修改nginx.conf(在http目录下添加 upstream 和一个server)
upstream tomcatserver1{
server 192.168.78.131:;
} server {
listen ;
server_name .yatces.com;
#charset koi8-r;
#access_log logs/host.access.log main;
location / {
proxy_pass http://tomcatserver1;
index index.html index.htm;
}
}
访问 http://8081.yatces.com/
负载均衡配置
upstream tomcatserver2{
server 192.168.78.131: weight=; #weight为权重,越高处理的请求越多
server 192.168.78.131: weight=;
} server {
listen ;
server_name .yatces.com;
#charset koi8-r;
#access_log logs/host.access.log main;
location / {
proxy_pass http://tomcatserver2;
index index.html index.htm;
}
}
访问同一个地址,出现两种情况
http://8082.yatces.com/
nginx的虚拟主机、反向代理、负载均衡配置完成。
manage