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