nginx和tomcat的集成笔记

2011-03-31 467 0

nginx和tomcat的集成笔记

在php下面,php+mysql+apche称之为黄金搭配,apache作为官方的web服务器,用户相当的多!

在nginx出现之后,以绝对的高性能抢夺了大家的眼球,这些都是网络上说的。

不过至少,有很多大型的网站都在用,比如新浪、搜狐、腾讯、豆瓣、人人等等等。

我本来是打算采用php+nginx做为架构的,时间、能力不允许啊!

还是回归自己的路了,tomcat当然是首选的服务器,数据库当然是mysql。

这几个月,有些顺了,最近有些偏离轨迹,工作没做好,今天挨批了,认错。人啊!在顺一点的时候,真会忘乎所以的!受点打击是好事,能清醒不少!

扯远了!还是继续原来的话题。

我分别在win2008 和虚拟机ubuntu10.10上面搭建了nginx-0.9.6+tomcat-7.0.11的服务器,这样,还可以做负载均衡!

win下面nginx-0.9.6+tomcat-7.0.11的搭建

http://nginx.org/en/download.html下载nginx,zip格式的是win平台的,tar.gz格式的是linux平台的

解压之后,在DOS下面直接使用D:server

ginx-0.9.6

ginx.exe,就可以启动nginx,默认是80端口,打开http://localhost/ 就能看到nginx的欢迎界面!

tomcat7依旧使用D:serverapache-tomcat-7.0.11instartup.bat启动,默认8080端口,打开http://localhost:8080/ 就能看到tomcat的欢迎界面!

我的目的是能够实现就行,具体的一些细节配置信息,要根据时间的环境再配置。

我的额配置如下:

打开D:server

ginx-0.9.6conf

ginx.conf

内容

worker_processes  1;

events {

worker_connections  1024;

}

http {

include    mime.types;

default_type  application/octet-stream;

sendfile  on;

keepalive_timeout  65;

upstream tomcat_server {

server localhost:8080;

}

server {

listen    80;

server_name  localhost;

location / {

proxy_set_header Host $host;

proxy_set_header X-Forwarded-For $remote_addr;

proxy_pass http://tomcat_server;

index  index.html index.htm index.jsp;

}

error_page   500 502 503 504  /50x.html;

location = /50x.html {

root   html;

}

}

}

完成,重启一下tomcat和nginx

nginx的停止命令:

D:server

ginx-0.9.6

ginx.exe -s stop

再次打开http://localhost/  就打开的tomcat的欢迎页面了,http://localhost:8080/  也是可以访问的。

ubuntu下面nginx-0.9.6+tomcat-7.0.11的搭建

对了,我使用的jdk是1.6的版本,取当前最新版的稳定版本,安装jdk并且配置好环境变量,tomcat解压后,修改tomcat-7.0.11/bin/startup.sh的权限,简单就使用

sudo chmod 777 *,其实这些shell脚本有可执行的权限就可以了。

这时启动startup.sh,打开http://192.168.128.131:8080/ 就是tomcat的界面了,我的ubuntu的虚机ip是192.168.128.131,把防火墙关闭了。

在linux下面安装软件就是麻烦,可能这就是证明是技术N人的方法吧!

下载的linux下的nginx是二进制文件,需要编译,才能安装的,这样也稳定。

解压nginx-0.9.6.tar.gz,进入nginx-0.9.6,开始编译

sudo ./configure

编译 很有可能出错,缺少依赖库,会有提醒的,根据提醒安装就行。

我在ubutnu上面搭建了git服务器,现在只缺少g++,使用命令

sudo apt-get install g++  就可以安装好了。

我之前配置过apache,apache使用的也是80端口,和nginx冲突,看修改端口,我嫌麻烦,就直接卸载了。

sudo apt-get remove apahce2

卸载之后,可能会有一些遗留无用的,使用sudo apt-get autoremove 可以自动卸载

还需要PCRE的支持,在 ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/  下载就可以,我用的是8.02的版本,其实最新版是8.12的,他们的排序有问题,这个能用就行了。

PCRE也是二进制文件,需要编译安装。

解压pcre-8.02.tar.gz  进入pcre-8.02  快的话,可以用sudo ./configure && make && make install 一次搞定,我习惯一句一句执行,这样可以看看编译情况。

PCRE好了之后,就开始编译nginx了,命令依旧可以用 sudo ./configure && make && make install

使用sudo /usr/local/nginx/sbin/nginx 来启动nginx,打开http://192.168.128.131 就能看到nginx的欢迎页面。

使用sudo /usr/local/nginx/sbin/nginx -s stop 来停止nginx。

开始配置文件,我是把win下面的配置copy过来的。

用sudo /usr/local/nginx/sbin -t  可以验证配置文件是否正确

用sudo /usr/local/nginx/sbin/nginx 启动nginx,就可以发现这个时候,这次打开是tomcat的欢迎界面了!

今天的任务就算是完成了!

还有一些遗憾是,因为安装的时候,nginx用的是root权限编译安装的,tomcat用的是普通管理员,最后不能把tomcat和nginx作为开机的自动启动项。应该是可以设置的,今天的目的已经完成,暂时就作为手动启动额吧!

现在操作linux,我都是使用ssh来完成的,现在公司里面,登录ssh后都有一些欢迎信息,还把一些常用的命令、目录打印了出来,方便使用,我也把tomcat和nginx的命令整理了出来,修改的方法如下:

1.编辑 vi /etc/issue.net

2.vi /etc/ssh/sshd_config 找到 #Banner /some/path 并修改。去掉#号的注释,然后把路径指向 /etc/issue.net 这个文件。改为:Banner /etc/issue.net

3.重启 sshd服务或者重启机器,就能看到欢迎信息了

我的 /etc/issue.net 内容

Welcome to dapeng.me

tomcat7 /apps/tomcat-7.0.11/bin/startup.sh

/apps/tomcat-7.0.11/bin/shutdown.sh

nginx sudo /usr/local/nginx/sbin/nginx

sudo /usr/local/nginx/sbin/nginx -s stop

注意:在ubuntu下面执行脚本或者命令,在脚本或者命令前加sudo

相关文章

15年来的手艺之路:手艺人赵鹏的自述
纪念 Google 25 周年:从搜索引擎到科技巨头的演变之路
1小时编写一个支持七牛上传的 markdown 客户端3(打包发布篇)
1小时编写一个支持七牛上传的 markdown 客户端2(代码优化篇)
1小时编写一个支持七牛上传的 markdown 客户端1(技术实现篇)
从 wordpress 转移到 hexo

Leave a Reply