nginx探索--1

这段时间公司存在多个应用项目部署在同一台阿里云服务器,其中有两个应用需要绑定域名,这下就出现问题了,两个域名指向同一个IP地址,那么该访问哪个应用呢?之后有说到可以使用nginx来进行域名区分。自己就去看了下,由于自己不是很熟悉服务器相关的知识,看了nginx的很多文章后还是只有一知半解,就只能稍微纪录一点点。

nginx(engine x),是一个高性能的HTTP和反向代理服务器,是一个IMAP/POP3/SMTP代理服务器。nginx是由Igor Sysoev为俄罗斯访问量第二的Rambler.ru站点开发的,第一个公开版本0.1.0发布于2004年10月4日。其将源代码以类BSD许可证的形式发布,因它的稳定性、丰富的功能集、示例配置文件和低系统资源的消耗儿闻名。(摘自百度百科)

再说到公司需要绑定域名的两个应用,它们现在都是运行在Tomcat服务器上的,其中两个Tomcat绑定的端口号还不一样,这样就相当于需要把两个不同的域名分别指向同一台服务器上的不同端口Tomcat上。

过程研究很久,最后才算真正部署好,虽说现在访问是没问题了,但是真的不敢保证以后会不会出现问题。无论怎样,先说说自己的部署步骤:

1)首先要确保nginx运行的服务器不能有应用占用80端口,不然就会发生冲突了,因为nginx默认是监听80端口的(由于一开始就是因为服务器上有个Tomcat占用了80端口,导致部署nginx一直都不成功,又找不到问题所在,茫然了很久,哭瞎~~)。当然nginx是可以指定其他端口的,但是一旦指定了其他端口,在浏览器访问的时候就需要在域名后面加上指定的端口号才能访问了。

2)配置nginx文件nginx.conf

a)由于有两个应用,需要添加两个server节点,其中一个指定的是9090端口,另一个指定8080端口

server {
        listen       80;
        server_name  tpshare.cn www.tpshare.cn;

        location / {
	proxy_pass http://127.0.0.1:9090/;
	proxy_set_header   Host    $host;
	proxy_set_header   X-Real-IP   $remote_addr;
	proxy_set_header   X-Forwarded-For $proxy_add_x_forwarded_for;
	} 
}
server {
        listen       80;
        server_name  www.workmap.net.cn;

        location / {
	proxy_pass http://127.0.0.1:8080/;
	proxy_set_header   Host    $host;
	proxy_set_header   X-Real-IP   $remote_addr;
	proxy_set_header   X-Forwarded-For $proxy_add_x_forwarded_for;
	}
}
3)至此,可以运行两个Tomcat(Tomcat可以一开始运行,对此不影响)和运行nginx,

通过命令行,进入到nginx的安装目录(解压目录),输入命令“start nginx”不出现错误提示,即说明启动成功。

4)这时我们去访问两个域名,会发现一个很奇怪的事情,两个域名都是打开了两个Tomcat的介绍页,如下图:

这是为什么呢,想了很久,接着试了一下在域名后添加对应的应用字段,发现就可以正常访问了。原来原因就在这里,两个Tomcat服务器的默认打开应用都是自身默认的ROOT应用,该应用的首页就是Tomcat的介绍页。

好了,发现问题,如何解决呢?

想到一个办法,就是在默认应用ROOT中的index.html中直接转发到我们自己的应用,再试了一下直接域名访问(www.tpshare.cn)发现它是帮我转发了,但是浏览器URL显示的却出现了应用部署的端口号9090,这样显示给用户总是不太好吧,接着在想办法。

又想到了一个办法,就是修改Tomcat的默认应用:

在Tomcat的配置文件夹conf中的server.xml文件中,在Host节点中添加一下代码:

<Context path="" docBase="D:\dev_soft\apache-tomcat-6.0.43_9090_sharepdf\webapps\SharePDF">
				<WatchedResource>WEB-INF/web.xml</WatchedResource>
</Context>
其中docBase中就是应用存放的位置,当然这里也可以使用相对位置。接着重启Tomcat,这步很重要,不重启Tomcat中server.xml是不会执行的。

5)到这里,终于可以通过域名访问服务器中应用了。成功~~

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值