nginx设置多端口转发(不同端口应用使用二级域名访问).md
修改配置文件:nginx.conf
// 第一个应用配置
server {
listen 80 default;
server_name www.testwk.com;
index index.html index.htm index.jsp *;
root /alidata/www/default;
location ~ \.jsp$ {
proxy_pass http://127.0.0.1:8080;
}
location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$
{
expires 30d;
}
location ~ .*\.(js|css)?$
{
expires 1h;
}
access_log /alidata/log/nginx/access/default.log;
}
//第二个应用配置,这个应用不是运行在80端口上的。并且可以是另外一个服务器
//使用属性proxy_pass设置
server {
listen 80;
server_name bak.testwk.com;
location / {
proxy_redirect off;
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://127.0.0.1:7878;
}
access_log /alidata/log/nginx/access/blog.log;
}
配置完成需要重启nginx。 /etc/init.d/nginx restart
配置修改完成之后需要设置域名的解析设置,在解析设置中增加一个二级域名。比如:
我的主域名是:testwk.com,增加了一个二级域名为bk.testwk.com, 然后结合nginx的配置实现,服务器上的一个运行在7878端口的应用可以以bk.testwk.com方式访问,而且不需要指出端口就可以访问(一般情况访问需要加端口,比如bk.testwk.com:7878)。
注意:如果bk.testwk.com依然访问的是testwk.com的情况时,可以在nginx.conf后面加上include vhost/*.conf;
重启nginx;
./nginx -s reload 回车