1. 开启nginx,资源管理器查看开启是否成功,会有两个nginx.exe进程,浏览器输入127.0.0.1可以访问到nginx欢迎界面。
2. 在nginx配置文件nginx.conf中配置多个虚拟主机,即server,用于存放不同的域名(server_name),虚拟主机分别监听80端口(默认),转发到不同的tomcat端口。
3. 将项目分别放在不同的tomcat 下,webapps下删除所有文件夹,新建文件夹并重命名为ROOT,项目war包解压(tomcat启动自动解压)后的文件全部拷贝到该ROOT目录下。
Nginx配置文件nginx.conf详情如下:
#user nobody;
worker_processes 1;
#error_log logs/error.log;
#error_log logs/error.log notice;
#error_log logs/error.log info;
#pid logs/nginx.pid;
events {
worker_connections 1024;
}
http {
include mime.types;
default_type application/octet-stream;
log_format main '$remote_addr - $remote_user [$time_local] "$request" '
'$status $body_bytes_sent "$http_referer" '
'"$http_user_agent" "$http_x_forwarded_for"';
access_log logs/access.log main;
sendfile on;
#tcp_nopush on;
#keepalive_timeout 0;
keepalive_timeout 65;
#cgzip on;
upstream website {
#ip_hash;
server xxxx.xxxx.xxxx.xxxx:8080; #监听服务器上的tomcat 1端口
}
upstream websiteView {
#ip_hash;
server xxxx.xxxx.xxxx.xxxx:8081; #监听同一服务器上的不同tomcat 2端口
}
server {
listen 80;
server_name www.xxxxxxxx.com; #虚拟主机1
#
error_page 500 502 503 504 /50x.html;
#
location = /50x.html {
root html;
}
#
location ^~ /resourceServer/ {
root html;
}
location / {
proxy_pass http://website; #所有请求均拦截
proxy_redirect off;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
client_max_body_size 10m;
client_body_buffer_size 128k;
proxy_connect_timeout 300;
proxy_send_timeout 300;
proxy_read_timeout 300;
proxy_buffer_size 128k;
proxy_buffers 2 256k;
proxy_busy_buffers_size 256k;
proxy_temp_file_write_size 256k;
}
location /项目名称 {
proxy_pass http://website; #转发到tomcat 2
proxy_redirect off;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
client_max_body_size 10m;
client_body_buffer_size 128k;
proxy_connect_timeout 300;
proxy_send_timeout 300;
proxy_read_timeout 300;
proxy_buffer_size 128k;
proxy_buffers 2 256k;
proxy_busy_buffers_size 256k;
proxy_temp_file_write_size 256k;
}
}
server {
listen 80;
server_name www.xxxxx.com; #虚拟主机2
#
error_page 500 502 503 504 /50x.html;
#
location = /50x.html {
root html;
}
#
location ^~ /resourceServer/ {
root html;
}
#
location / {
proxy_pass http://websiteView;
proxy_redirect off;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
client_max_body_size 10m;
client_body_buffer_size 128k;
proxy_connect_timeout 300;
proxy_send_timeout 300;
proxy_read_timeout 300;
proxy_buffer_size 128k;
proxy_buffers 2 256k;
proxy_busy_buffers_size 256k;
proxy_temp_file_write_size 256k;
}
location /另一个项目名称 {
proxy_pass http://websiteView; #转发到tomcat 2
proxy_redirect off;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
client_max_body_size 10m;
client_body_buffer_size 128k;
proxy_connect_timeout 300;
proxy_send_timeout 300;
proxy_read_timeout 300;
proxy_buffer_size 128k;
proxy_buffers 2 256k;
proxy_busy_buffers_size 256k;
proxy_temp_file_write_size 256k;
}
}
这样,输入两个域名便可访问到不同的项目