记录一下用nginx做反向代理,tomcat为web容器的域名绑定过程。
首先,当然是需要在域名管理器中配置域名指向自己的服务器IP(当然,域名都没有的还说个毛!)
然后就是配置nginx了,
- nginx基本配置:
找到nginx/conf/nginx.conf,做如下关键配置:
upstream xx{ #配置upstream节点,这里节点名为“xx”
server 116.255.111.111:8080;
}
server{
listen 80;
server_name www.xxx.xx; #这里配置nginx需要代理的域名
location / {
proxy_pass http://xx; #指定反向代理为上面配置的那个upstream节点“xx”
proxy_set_header Host $http_host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
}
nginx的基本配置就这些了,如果要绑定多个域名,可以多配几个server,更改server的server_name以及端口即可。
upstream节点指明的是代理服务的访问路径,可以用于负载均衡,详解可见:http://tengine.taobao.org/book/chapter_05.html#upstream-100
nginx的资料网上很多,这里就是一例:http://tengine.taobao.org/book/index.html
现在就可以在服务器上开启tomcat了,startup之后,浏览器输入域名一访问,通了!页面出来了!只不过出来的是tomcat的默认界面,现在,我们需要对tomcat做些配置,让请求进入到指定的项目中,
- tomcat基本配置:
找到tomcat下的conf/server.xml
注释掉默认的localhost这一段Host配置,新增如下Host配置:
<Host name="www.xxx.xx" appBase="/opt/tomcat7.0/webapps/testweb" unpackWARs="true" autoDeploy="true">
<Context path="" docBase="/opt/tomcat7.0/webapps/testweb" debug="0" reloadable="true" />
<Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs" prefix="localhost_access_log." suffix=".txt" pattern="%h %l %u %t "%r" %s %b" />
</Host>
好了,现在重启tomcat,访问“www.xxx.xx”,就跳转到“/opt/tomcat7.0/webapps/testweb”下的项目去了。
配置极具个人经验性,不可完全参考,这里只简单记一下。