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
groupadd www
useradd -s /sbin/nologin -g www www
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.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配置,可以实现多个域名的解析。