使用Nginx配置来动态解析Nginx/Html目录下文件夹做为二级域名的前缀

同一台服务器可能需要部署多个程序,这里使用nginx解析php程序,反向代理tomcat java程序。可以实现动态解析域名,经过Nginx配置来动态解析Nginx/Html目录下的文件夹,做为二级域名。

准备工作:需要提前装好nginx,部署好程序,程序放在nginx/html目录下。

user nginx;
worker_processes auto;
error_log /var/log/nginx/error.log;
pid /run/nginx.pid;

include /usr/share/nginx/modules/*.conf;

events {
    worker_connections 1024;
}

http {
    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  /var/log/nginx/access.log  main;

    sendfile            on;
    tcp_nopush          on;
    tcp_nodelay         on;
    keepalive_timeout   65;
    types_hash_max_size 2048;

    include             /etc/nginx/mime.types;
    default_type        application/octet-stream;

    include /etc/nginx/conf.d/*.conf;

}

include /etc/nginx/conf.d/*.conf

1.动态解析,将根目录下的文件夹动态自动解析成二级域名

server {
listen 80;
server_name ~^(?<subdomain>.+).richwit.cn$ www.richwit.cn;
index index.html index.htm index.php;
root /usr/share/nginx/html/$subdomain/;
location ~ .php$ {
    #fastcgi_pass unix:/dev/shm/php-cgi.sock;
    fastcgi_pass 127.0.0.1:9000;
    fastcgi_index index.php;
    #fastcgi_param SCRIPT_FILENAME documentrootdocumentrootfastcgi_script_name;
    fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
    include fastcgi_params;
    }
location ~ .*\.(gif|jpg|jpeg|png|bmp|swf|flv|ico)$ {
    expires 30d;
    }
location ~ .*\.(js|css)?$ {
    expires 7d;
    }
}

2.Java程序 tomcat部署,nginx反向代理

server {
listen 80;
server_name o2o.richwit.cn;
 location / {
   proxy_pass http://localhost:8088;
   root o2o;
   index index.html index.htm index.php;
 }
}

根据解析的域名即可同时运行多个程序

上一篇:DS Tree 已知先序、中序 => 建树 => 求后序


下一篇:使用可道云kodbox在ubuntu云服务器上搭建自己的私有云盘(详细教程)