nginx和tomcat的集成笔记

共计 3194 个字符,预计需要花费 8 分钟才能阅读完成。

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

正文完
 
zhaopeng
版权声明:本站原创文章,由 zhaopeng 2011-03-31发表,共计3194字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
评论(没有评论)