共计 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