Nginx多域名配置

Nginx多域名配置

一、环境准备

1.Tengine,也称Taobao nginx,淘宝在Nginx基础上,针对大型网站访问,添加了一些高级功能和特性。
2.Resin服务器或者Tomcat服务器,用来做Web服务器

二、域名解析

假设虚拟主机外网IP是123.123.123.123,添加解析到该域名:

1.添加域名解析,@和www,分别对应tngtech.com和www.tngtech.com映射;

2.添加手机站域名解析,m.tngtech.com

3.添加图片域名解析,image.tngtech.com

三、Nginx配置多域名

1.创建Nginx运行用户

groupadd www
useradd -s /sbin/nologin -g www www

2.配置Nginx

2.1 配置运行用户和工作进程数

user  www;  #Nginx运行用户
worker_processes  8;    #工作进程数量,一般和CPU核数相等

2.2 配置Nginx连接数

events {
    worker_connections  2048;
    use epoll;
}

worker_connections 设置可由一个worker进程同时打开的最大连接数。
use 设置用于复用客户端线程的轮询方法。如果你使用Linux 2.6+,你应该使用epoll,高效处理事件驱动。

2.3 配置http长连接超时时间

keepalive_timeout  30;

2.4 开启Gzip压缩

gzip  on;
gzip_min_length 1000;
gzip_comp_level 4;
gzip_types text/css application/json text/javascript text/plain;
3. 配置多域名解析

3.1 配置www.tngtech.com域名解析

server {
       listen      80;
       server_name www.tngtech.com;

       location / {
            proxy_pass http://localhost:8083;
            proxy_set_header   Host    $host;
            proxy_set_header   X-Real-IP   $remote_addr;
            proxy_set_header   X-Forwarded-For $proxy_add_x_forwarded_for;
       }
    }

配置www.tngtech.com域名解析到80端口,proxy_pass配置代理转发到本机8083端口的Web服务器上(Tomcat或者Resin),proxy_set_header设置请求header参数,包括host,ip头等。

3.2 配置手机站m.tngtech.com域名解析

server {
       listen      80;
       server_name m.tngtech.com;

       location / {
            proxy_pass http://localhost:8082;
            proxy_set_header   Host    $host;
            proxy_set_header   X-Real-IP   $remote_addr;
            proxy_set_header   X-Forwarded-For $proxy_add_x_forwarded_for;
       } 
    }

跟配置www域名类似,转发到本机8082端口的Web服务器上。

3.3 配置图片服务器

server {
        listen       80;
        server_name  image.tngtech.com;

        charset utf-8;

        location ~* \.(gif|jpg|png)$ {
            root     /webser/www/images;
            expires  30d;
        }
    }    

过滤图片后缀,gif|jpg|png等,直接映射到/webser/www/images目录,设置缓存30d(天)过期。

至此,通过上面的Nginx配置,可以实现多个域名的解析。

你可能感兴趣的:(开源,架构,Java)