总体配置文件
#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;
#access_log logs/access.log main;
sendfile on;
#tcp_nopush on;
keepalive_timeout 65;
#gzip on;
#HTTP服务器
server {
#监听80端口,80端口是知名端口号,用于HTTP协议
listen 80;
#定义使用www.xx.com访问
server_name www.mkwb1.org.cn;
#编码格式
charset utf-8;
#代理配置参数
proxy_connect_timeout 180;
proxy_send_timeout 180;
proxy_read_timeout 180;
proxy_set_header Host $host;
proxy_set_header X-Forwarder-For $remote_addr;
#使用location对不同请求做相应处理
#Java项目1
location /portal/ {
proxy_pass http://localhost:8080;
}
#Java项目2
location /manage/ {
proxy_pass http://localhost:8888;
}
# 本地存放图片位置
location /images/{
root c:/media;
}
# 本地MP3位置
location /MP3/{
root c:/media;
}
# “=”精确匹配
location =/{
proxy_pass http://localhost:8080/portal/home;
}
}
#IIS服务根据域名区分代理
#IIS服务1
server {
listen 80;
server_name zuul1.com;
location / {
proxy_pass http://zuul1.com:8083;
}
}
#IIS服务2
server {
listen 80;
server_name zuul.com;
location / {
proxy_pass http://zuul.com:8081;
}
}
}
简单介绍下本文使用的location匹配规则(个人理解)
- /xxxx/:匹配以“xxx”下的所有uri
- =/:精确匹配proxy_pass http://localhost:8080/portal/home; 该段代码内url跳转的界面,我用它跳转到首页。
注意
- 一个location下不能有相同的匹配规则
- 每个server下的server_name不可重复