nginx 根据域名打开相应首页

来源:互联网 发布:龙骑士07知乎 编辑:程序博客网 时间:2024/05/20 17:39

遇到一个需求:首先网站有一个前端一个后台  由于用的session  前后端混乱了 所以在域名解析的时候   www.xxxxx.com  指向前端首页      system.xxxxx.com 指向后台首页;

整个项目的前后端代码是分开的  但是总归是一个项目。在网上看到有很多的nginx配置都是对多个应用(多个网站的域名转发) 

我的这个项目  是  nginx 和tomcat在一台机器上     nginx处理静态文件   其他的交给tomcat   tomcat监听8099端口


完整配置如下:





user  root;
worker_processes  2;


#error_log  logs/error.log;
#error_log  logs/error.log  notice;
#error_log  logs/error.log  info;


pid        logs/nginx.pid;




events {

#windows用户  不用  use poll;

    use epoll;
    worker_connections  2048;
}




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;
    
    
    # gzip压缩功能设置
    gzip on;
    gzip_min_length 1k;
    gzip_buffers    4 16k;
    gzip_http_version 1.0;
    gzip_comp_level 6;
    gzip_types text/plain text/css text/javascript application/json application/javascript application/x-javascript application/xml;
    gzip_vary on;
    
    
    #FastCGI相关参数是为了改善网站的性能:减少资源占用,提高访问速度。
fastcgi_connect_timeout 300;
fastcgi_send_timeout 300;
fastcgi_read_timeout 300;
fastcgi_buffer_size 64k;
fastcgi_buffers 4 64k;
fastcgi_busy_buffers_size 128k;
fastcgi_temp_file_write_size 128k;


  # http_proxy 设置
    client_max_body_size   10m;
    client_body_buffer_size   128k;
    proxy_connect_timeout   75;
    proxy_send_timeout   75;
    proxy_read_timeout   75;
    proxy_buffer_size   4k;
    proxy_buffers   4 32k;
    proxy_busy_buffers_size   64k;
    proxy_temp_file_write_size  64k;
    proxy_temp_path   /mnt/software/nginx/proxy_temp 1 2;


    #设定请求缓冲
    client_header_buffer_size    1k;
    large_client_header_buffers  4 4k;
    #设置对  80端口访问的限制
server{ 
listen   80 default; 
server_name      _; 
return 403; 



    server {
        listen       80;
       
        server_name  *.xxxxx.com;
        charset utf-8;

        #access_log  logs/host.access.log  main;




index index.html index.htm index.jsp index;
#对  *.xxxxx.com 的域名  匹配   (*后面不带路径和参数   也就是用户第一次计入网站的  域名    *.xxxxx.com   or     *.xxxxx.com/
location = / {       

if ($host = 'system.xxxxx.com'){

#重定向为:system.xxxxx.com/www/system/index

rewrite ^(.*) /www/system/index last;
}

if ($host = 'test.xxxxx.com'){

#重定向为:system.xxxxx.com/www/front/index

rewrite ^(.*) /www/front/index/ last;
}
交给tomcat服务器处理
proxy_pass   http://localhost:8099/; 
}
    
location / {

proxy_set_header        Host            $host;
proxy_set_header        X-Real-IP       $remote_addr;
proxy_set_header        X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_pass http://localhost:8099/;

}



          #静态文件nginx处理
location ~ \.(htm|html|gif|jpg|jpeg|png|bmp|swf|ico|rar|zip|txt|flv|mid|doc|ppt|pdf|xls|mp3|wma)$ {  
root /mnt/software/tomcat/webapps/; 
expires 7d; 


location ~ \.(js|css)$ {  
root /mnt/software/tomcat/webapps/; 
expires 1h; 


location ~^/(WEB-INF)/{
deny all;
}



        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        }

   }


}

0 0
原创粉丝点击