设为首页 收藏本站
查看: 1729|回复: 6

[经验分享] nginx+tomcat 跑jsp

[复制链接]

尚未签到

发表于 2013-6-8 09:08:24 | 显示全部楼层 |阅读模式
下载所需软件
tomcat
[iyunv@node2  src]# wget  http://apache.fayea.com/apache-mirror/tomcat/tomcat-7/v7.0.40/bin/apache-tomcat-7.0.40.tar.gz

jdk
[iyunv@node2  src]# wget http://download.oracle.com/otn-pub/java/jdk/7u21-b11/jdk-7u21-linux-x64.tar.gz


安装所需环境
[iyunv@node2 nginx-1.2.6]# yum -y install gcc gcc-c++ autoconf libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel libxml2 libxml2-devel zlib zlib-devel glibc glibc-devel glib2 glib2-devel bzip2 bzip2-devel ncurses ncurses-devel curl curl-devel e2fsprogs e2fsprogs-devel krb5 krb5-devel libidn libidn-devel openssl openssl-devel openldap openldap-devel nss_ldap openldap-clients openldap-servers libevent libevent-devel perl-ExtUtils-* pcre-*
[iyunv@node2 src]# tar -xf jdk-7u21-linux-x64.gz -C /usr/local/
配置java运行环境
[iyunv@node2 src]# vim /etc/profile.d/jdk.sh
JAVA_HOME=/usr/local/jdk1.7.0_21export JAVA_HOME
PATH=$PATH:$JAVA_HOME/bin
export PATH

[iyunv@node2 src]# chmod +x /etc/profile.d/jdk.sh
[iyunv@node2 src]# source /etc/profile.d/jdk.sh

[iyunv@node2 src]# tar xf apache-tomcat-7.0.40.tar.gz -C /usr/local/
[iyunv@node2 src]#  cd /usr/local/apache-tomcat-7.0.40/
启动tomcat
[iyunv@node2 apache-tomcat-7.0.40]#  bin/startup.sh
Using CATALINA_BASE:   /usr/local/apache-tomcat-7.0.40
Using CATALINA_HOME:   /usr/local/apache-tomcat-7.0.40
Using CATALINA_TMPDIR: /usr/local/apache-tomcat-7.0.40/temp
Using JRE_HOME:        /usr/local/jdk1.7.0_21
Using CLASSPATH:       /usr/local/apache-tomcat-7.0.40/bin/bootstrap.jar:/usr/local/apache-tomcat-7.0.40/bin/tomcat-juli.jar

安装与配置nginx
[iyunv@node2 src]# tar xf nginx-1.2.6.tar.gz
[iyunv@node2 src]# cd nginx-1.2.6
[iyunv@node2 nginx-1.2.6]# ./configure --prefix=/usr/local/nginx --user=www --group=www --with-http_ssl_module --with-http_gzip_static_module  --without-http_uwsgi_module --without-http_scgi_module --without-http_upstream_ip_hash_module --with-http_perl_module --with-pcre
[iyunv@node2 nginx-1.2.6]# make
[iyunv@node2 nginx-1.2.6]# make install
[iyunv@node1 nginx-1.2.6]# cd /usr/local/nginx/
[iyunv@node1 nginx]# cp conf/nginx.conf conf/nginx.conf.bk
配置nginx
[iyunv@node1 nginx]# vim conf/nginx.conf
user  www www;
worker_processes  4;
#error_log  logs/error.log;
error_log  logs/error.log  notice;
#error_log  logs/error.log  info;
pid        logs/nginx.pid;
events {
   worker_connections  1024;
}
http {
   include       mime.types;
   default_type  application/octet-stream;
   log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
                     '$status $body_bytes_sent "$http_referer" '
                     '"$http_user_agent" "$http_x_forwarded_for"';
   #access_log  logs/access.log  main;
   sendfile        on;
   #tcp_nopush     on;
   #keepalive_timeout  0;
   keepalive_timeout  65;
   gzip  on;
   upstream tomcat_server {                  
       server  127.0.0.1:8080;        // 定义负载均衡服务器池,名字是自定义的,在这里为tomcat_server
       }                                        // 有多台服务器的话,可以一行写一个
   server
       {
       listen 80;
       server_name     localhost;
       index   index.html index.htm index.jsp;
       root /usr/local/apache-tomcat-7.0.40/webapps;
       if (-d $request_filename){
               rewrite ^/(.*)([^/])$ http://$host/$1$2/ permanent;
               }

       location ~ \.(jsp|jspx|do)?$ {          // 配置的重点在这里,动态请求转发到后端的tomcat_server服务器池处理
               proxy_set_header Host $host;
               proxy_set_header X-Forwarded-For $remote_addr;
               proxy_pass http://tomcat_server;
               }
       location ~ .*\.(gif|jpg|jpeg|png|bmp|swf|ico)$
               {
               expires         30d;
               access_log      off;
               }
       location ~ .*\.(js|css)?$
               {
               expires         1h;
               access_log      off;
               }
       }
}

测试配置是否有问题
[iyunv@node1 nginx]# sbin/nginx -t
nginx: the configuration file /usr/local/nginx/conf/nginx.conf syntax is ok
nginx: configuration file /usr/local/nginx/conf/nginx.conf test is successful

开启服务
[iyunv@node1 nginx]# sbin/nginx
查看服务是否已经启动
[iyunv@node1 nginx]# netstat -nultp
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address               Foreign Address             State       PID/Program name  
tcp        0      0 0.0.0.0:80                  0.0.0.0:*                   LISTEN      6997/nginx  

创建一个jsp文件做测试
[iyunv@node1 ROOT]# rm -rf /usr/local/apache-tomcat-7.0.40/webapps/ROOT/*
[iyunv@node1 ROOT]# vim index.jsp

<HTML>
       <BODY>
               <center>
                       Now time is : <%=new java.util.Date()%>
               </center>
       </BODY>
</HTML>

打开浏览器测试:

215846268.jpg


总结:nginx 本身是不支持解析jsp 网页的,当用户的请求来到本机,静态页面便通过nginx处理,也即是80端口处理,而动态页面(在这个例子中指的是jsp)便通过代理,转发到8080端口进行处理,处理完再将数据返还给用户。这样实现了动静分离的效果。
思考:
1、tomcat 本身也可以支持解析静态页面,那么当访问的一个网页是动静态都有的时候,如何确定静态的是通过web服务器(例如apache、nginx)处理的,而不是tomcat处理的?
答:可以访问一个纯静态页面,然后将nginx停止服务,测试还能不能访问到,如果访问不到,说明需要nginx的支持
在开启了nginx和jdk 服务的情况下,访问是能正常访问的:

215756772.jpg


关闭nginx之后,访问不到:
[iyunv@node1 nginx]# kill `cat /usr/local/nginx/logs/nginx.pid`

215822776.jpg


2、如何修改tomcat默认网站根目录
       tomcat 默认的目录是tomcat工作目录下的webapps/ 目录,但有时我们需要自定义网站根目录,这就需要修改tomcat 的配置文件:

[iyunv@node1 nginx]# vim /usr/local/apache-tomcat-7.0.40/conf/server.xml
找到appBase ,添加最下面一行,在docBase 中指定根目录路径
     <Host name="localhost"  appBase="webapps"
           unpackWARs="true" autoDeploy="true">
                <Context path="" docBase="/data/www/" />

保存退出后,重启tomcat 服务即可
[iyunv@node1 nginx]# /usr/local/apache-tomcat-7.0.40/bin/shutdown.sh
[iyunv@node1 nginx]# /usr/local/apache-tomcat-7.0.40/bin/startup.sh



运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-6342-1-1.html 上篇帖子: Nginx基本应用 下篇帖子: 编译安装LNMP红帽6.4(64位)Nginx1.4.1+mysql5.6.+php5.4.4

尚未签到

发表于 2013-6-8 09:13:56 | 显示全部楼层
学习了,不错,讲的太有道理了

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

尚未签到

发表于 2013-6-8 09:17:49 | 显示全部楼层
花前月下,不如花钱“日”下!*^_^*

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

尚未签到

发表于 2013-6-8 09:33:50 | 显示全部楼层
所有的男人生来平等,结婚的除外。

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

尚未签到

发表于 2013-6-8 09:40:08 | 显示全部楼层
我本非随便的人,但如果你想随便,那我就随你的便好啦!

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

尚未签到

发表于 2013-6-8 11:04:17 | 显示全部楼层
看尽天下A片,心中自然无码~

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

尚未签到

发表于 2013-6-8 11:06:06 | 显示全部楼层
谢谢楼主,共同发展

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表