nginx 根據域名開啟相應首頁
阿新 • • 發佈:2019-02-10
遇到一個需求:首先網站有一個前端一個後臺 由於用的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
}
交給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;
}
}
}