设为首页 收藏本站
查看: 1575|回复: 0

[经验分享] project08 tomcat

[复制链接]

尚未签到

发表于 2018-11-30 12:58:47 | 显示全部楼层 |阅读模式
  本章目录:
                  1、tomcat的概述
                  2、tomcat的架构详解
                  3、部署apache-tomcat+JDK+mysql+java应用(论坛)
                  4、整合apache+apache-tomcat实现动静页面分离
                  5、测试动静分离是否成功:
  
  1、tomcatJSP的概述:
  Tomcat 服务器是一个免费的开放源代码的Web 应用服务器(*.jsp)
  
  一般用于小型企业的jsp页面,因为一个tomcat最大连接数一般在1024以下,处理能力有限。
  
  
  常用JSP WEB服务器:
  1、WebLogic(Oracle)  --BEA公司的产品,是目前应用最广泛的Web服务器,支持JavaEE规范,而且不断的完善以适应新的开发要求.
  2、WebSphere(IBM)   --IBM公司的产品,支持JavaEE规范
  3、Jboss(Redhat)    --大名鼎鼎的红帽的产品,原来属于开源组织Jboss,后被红帽收购。支持JavaEE规范,免费
  4、Tomcat(apache)   --在小型的应用系统或者有特殊需要的系统中,可以使用一个免费的Web服务器:Tomcat,该服务器支持全部JSP以及Servlet规范
  
  
  2、tomcat的架构详解
  ---- Server[N个Service(Engine)---多个host(虚拟主机)]
    
        
        
       cd notes/weekend/project/software/
  lftp 192.168.0.254:/notes/weekend/project/software> mirror tomcat/
  lftp 192.168.0.254:/notes/weekend/project/software> exit
  
  [root@tomcat ~]# tar xf /root/tomcat/apache-tomcat-7.0.37.tar.gz  -C /opt/
  [root@tomcat ~]# mv /opt/apache-tomcat-7.0.37/ /opt/tomcat
  
  
  [root@tomcat ~]# cd /opt/tomcat/bin/
    
  
   2) java程序 JDK
  [root@tomcat ~]# tar xf /root/tomcat/jdk-7u15-linux-x64.tar.gz -C /opt/
  [root@tomcat ~]# mv /opt/jdk1.7.0_15/ /opt/jdk
  
  
   3) 启动服务
  [root@tomcat ~]# export JAVA_HOME=/opt/jdk
  [root@tomcat ~]# sh /opt/tomcat/bin/startup.sh
  Using CATALINA_BASE:   /opt/tomcat
  Using CATALINA_HOME:   /opt/tomcat
  Using CATALINA_TMPDIR: /opt/tomcat/temp
  Using JRE_HOME:        /opt/jdk
  Using CLASSPATH:       /opt/tomcat/bin/bootstrap.jar:/opt/tomcat/bin/tomcat-juli.jar
  
  [root@tomcat ~]# netstat -tnlp |grep :80
  tcp        0      0 :::8009                     :::*                        LISTEN      3273/java           
  tcp        0      0 :::8080                     :::*                        LISTEN      3273/java
  
  
  方式1  使用java方式启动tomcat
  
  [root@tomcat ~]# vim /opt/tomcat/bin/startup.sh
  CATALINA_BASE=/opt/tomcat
  CATALINA_HOME=/opt/tomcat
  JRE_HOME=/opt/jdk
  export CATALINA_BASE CATALINA_HOME JRE_HOME
  
  
  [root@tomcat ~]# vim /opt/tomcat/bin/shutdown.sh
  CATALINA_BASE=/opt/tomcat
  CATALINA_HOME=/opt/tomcat
  JRE_HOME=/opt/jdk
  export CATALINA_BASE CATALINA_HOME JRE_HOME
  
  
  [root@tomcat ~]# /opt/tomcat/bin/shutdown.sh
  [root@tomcat ~]# /opt/tomcat/bin/startup.sh
  
  netstat -tnlp |grep :80
  tcp        0      0 ::ffff:127.0.0.1:8005       :::*                        LISTEN      3357/java           
  tcp        0      0 :::8009                     :::*                        LISTEN      3357/java           
  tcp        0      0 :::8080                     :::*                        LISTEN      3357/java   
  
  --直接关闭tomcat程序
  [root@tomcat ~]# telnet localhost 8005
  Trying ::1...
  telnet: connect to address ::1: Connection refused
  Trying 127.0.0.1...
  Connected to localhost.
  Escape character is '^]'.
  SHUTDOWN
  Connection closed by foreign host.
  

  8005 控制server端口
  8009 ajp协议  内部程序连接 apache|mysql|tomcat(*.jar)
  8080 http协议 用户访问端口
  
  方式2  jsvc方式启动tomcat
  
   编译jsvc程序
    ./configure --with-java=/usr/java
  make
  
  [root@tomcat bin]# tar xf commons-daemon-native.tar.gz
  [root@tomcat bin]# cd commons-daemon-1.0.13-native-src/unix
  [root@tomcat unix]# ./configure --with-java=/opt/jdk/
  [root@tomcat unix]# make
  [root@tomcat unix]# cp jsvc /opt/tomcat/bin/
  定义启动脚本
  [root@tomcat unix]# cp /root/tomcat/tomcat-init.sh /etc/init.d/tomcat -a
  
  [root@tomcat unix]# vim /etc/init.d/tomcat
  JAVA_HOME=/opt/jdk
  CATALINA_HOME=/opt/tomcat
  CATALINA_BASE=/opt/tomcat
  TOMCAT_USER=root
  [root@tomcat unix]# chkconfig --add tomcat
  [root@tomcat unix]# service tomcat start
  [root@tomcat unix]# netstat -tnlp |grep :80
  tcp        0      0 :::8009                     :::*                        LISTEN      4192/jsvc.exec      
  tcp        0      0 :::8080                     :::*                        LISTEN      4192/jsvc.exec  
  
  访问
  http://192.168.0.1:8080/
  
  ------了解软件目录结构
  [root@tomcat ~]# find /opt/tomcat/ -maxdepth 1
  /opt/tomcat/
  /opt/tomcat/bin  --存放二进制命令
  /opt/tomcat/conf  --存放配置文件
  /opt/tomcat/webapps  --存放页面代码*.jsp
  /opt/tomcat/lib    ---内部库文件*.jar
  /opt/tomcat/temp    --临时文件
  /opt/tomcat/work  --中间结果集
  /opt/tomcat/logs  --日志文件
  
  [root@tomcat ~]# find /opt/tomcat/conf/ |grep xml$
  /opt/tomcat/conf/web.xml           --资源(识别那些文件类型
  /opt/tomcat/conf/server.xml        --主配置文件
  /opt/tomcat/conf/context.xml       --联系人
  /opt/tomcat/conf/tomcat-users.xml  --用户
  
  /opt/tomcat/conf/server.xml
  
     
     
       delete from mysql.user where user='';
  mysql> update mysql.user set password=password('123456') where user='root';
  mysql> flush privileges;
  mysql> create database runjava01 default charset utf8;
  mysql> create database runjava02 default charset utf8;
  mysql> grant all on runjava01.* to 'javauser01'@'localhost' identified by '123';
  mysql> grant all on runjava02.* to 'javauser02'@'localhost' identified by '1234';
  
  4 上传jsp页面
  ejforum
  JavaCenter_Home
  
  [root@tomcat ~]# mkdir /webserver/java01 -p
  [root@tomcat ~]# mkdir /webserver/java02 -p
  
  --解压JavaCenter_Home页面
  [root@tomcat tomcat]# cd /root/tomcat/
  [root@tomcat tomcat]# unzip JavaCenter_Home_2.0_Source_UTF8.zip
  [root@tomcat tomcat]# mv JavaCenter_Home_2.0_Source_UTF8/source/WebRoot/* /webserver/java01/
  [root@tomcat tomcat]# rm -fr JavaCenter_Home_2.0_Source_UTF8
  
  
  --解压ejforum页面
  [root@tomcat tomcat]# unzip ejforum-2.3.zip
  [root@tomcat tomcat]# mv ejforum-2.3/ejforum/* /webserver/java02/
  
  
  5 通过tomcat发布页面
  
  
        
          
              
        
  
        
          
              
        
  
  
  [root@tomcat ~]# service tomcat restart
  
  [root@tomcat ~]# echo "192.168.0.1 java01.uplooking.com java02.uplooking.com " >> /etc/hosts
  
  
  6 先安装JavaCenter_Home页面
  
  java01
  使用web界面安装
    http://java01.uplooking.com:8080/install
  
  java02
  编辑配置文件 填写数据库的库名 与帐号密码
  
  --导出数据库的表结构
  [root@tomcat ~]# find /root/tomcat/ejforum-2.3/install/ |grep sql$ |grep mysql
  
  [root@tomcat ~]# mysql -ujavauser02 -p1234 runjava02 < /root/tomcat/ejforum-2.3/install/script/easyjforum_mysql.sql
  
  [root@tomcat ~]# vim /webserver/java02/WEB-INF/conf/config.xml
     
          
  
  访问页面并发布贴
  用户admin|密码admin
  
  http://java02.uplooking.com:8080
  ------------------------------------------------------
  
  
  整合apache+apache-tomcat实现动静页面分离
  
  apache + tomcat 实现动静分离,统一入口
  apache --解析静态页面
  tomcat  --解析动态页面
  
  
  LoadModule jk_module modules/mod_jk.so --加载一个mod_jk模块
  Include conf/mod_jk.conf--模块对应配置文件
  JkWorkersFile conf/workers.properties--定义一个机器人,专门搬运动态页面给tomcat解析
  JkMountFile conf/uriworkermap.properties--定义哪些属于动态页面的类型
  
  1> 安装apache
  [root@tomcat ~]# yum -y install httpd
  
  2> 编译或者下载jk_mod
  /root/tomcat/mod_jk-1.2.28-httpd-2.2.X.so
  
  [root@tomcat ~]# cp /root/tomcat/mod_jk-1.2.28-httpd-2.2.X.so  /etc/httpd/modules/mod_jk.so
  [root@tomcat ~]# vim /etc/httpd/conf/httpd.conf
  LoadModule jk_module modules/mod_jk.so
  Include conf/mod_jk.conf
  JkWorkersFile conf/workers.properties
  JkMountFile conf/uriworkermap.properties
  
  [root@tomcat ~]# vim /etc/httpd/conf/mod_jk.conf  --jk配置文件
  JkLogLevel info
  JkLogFile logs/jk.log
  JkShmFile logs/jk-runtime-status
  JkLogStampFormat "[%a %b %d %H:%M:%S %Y]"
  JkRequestLogFormat "%w %V %T"
  JkOptions  +ForwardKeySize +ForwardURICompat -ForwardDirectories
  
  [root@tomcat ~]# vim /etc/httpd/conf/workers.properties  --定义apache 通过机器人worker1 连接tomcat
  workers.tomcat_home=/opt/tomcat
  workers.java_home=/opt/jdk
  worker.list=worker1
  worker.worker1.type=ajp13
  worker.worker1.host=localhost
  worker.worker1.port=8009
  worker.worker1.lbfactor=1
  
  [root@tomcat ~]# vim /etc/httpd/conf/uriworkermap.properties   定义列表
  /*.jsp*=worker1--- 所有的JSP页面都交给tomcat
  /forum-*.html=worker1   --- 伪静态页面(一个jsp页面)
  
  !/*.gif worker1
  !/*.jpg worker1
  !/*.png worker1
  !/*.ico worker1
  !/*.css worker1
  !/*.js worker1
  !/*.htm worker1
  !/*.html worker1
  !/*.asp worker1
  !/*.aspx worker1
  !/*.txt worker1
  !/*.swf worker1
  !/*.flv worker1
  !/*.php worker1
  
  定义apache的虚拟主机 发布页面
  
  
  [root@tomcat ~]# vim /etc/httpd/conf/httpd.conf
  DirectoryIndex index.html index.html.var index.jsp
  
  [root@tomcat ~]# vim /etc/httpd/conf.d/java.conf
  NameVirtualHost *:80
  
      DocumentRoot /webserver/java01
      ServerName java01.uplooking.com
      ErrorLog logs/java01.uplooking.com-error_log
      CustomLog logs/java01.uplooking.com-access_log combined
      JkMountFile conf/uriworkermap.properties
  
  
      DocumentRoot /webserver/java02
      ServerName java02.uplooking.com
      ErrorLog logs/java02.uplooking.com-error_log
      CustomLog logs/java02.uplooking.com-access_log combined
      JkMountFile conf/uriworkermap.properties
  
  
  
      Options None
      AllowOverride None
      Order allow,deny
      Allow from all
  
  
  
  [root@tomcat ~]# service httpd restart
  
  --测试
  
  http://java01.uplooking.com:8080/space.jsp?do=home
  http://java02.uplooking.com/forum-1-1-1.html  ---伪静态页面
  
  
  
  测试动静分离?
  
  --测试静态
  1) 关闭tomcat apache能够正常访问静态页面
  
  [root@tomcat ~]# service tomcat stop
  [root@tomcat ~]# service httpd status
  httpd (pid  6349) is running...
  
  能否访问静态图片(正常访问)
  http://java01.uplooking.com/data/avatar/noavatar_middle.gif
  
  --测试动态
  
  [root@tomcat ~]# service tomcat start
  
  将apacheDocumentRoot 改变/var/tmp  ---无法读取静态数据
  
  tomcat读取动态页面数据
  [root@tomcat ~]# service tomcat start
  
  [root@tomcat ~]# vim /etc/httpd/conf.d/java.conf
  DocumentRoot /var/tmp
  [root@tomcat ~]# service httpd restart
  
  http://java01.uplooking.com/space.jsp?do=home
  --成功访问  图片无法下载
  
  ++++++++++++++++++++++++++++nginx+++++++++++++++++++++++++++++++++++++++++++++++++
  一、nginx的概述及常见Web服务器的介绍
  二、nginx安装和启动
  三、Nginx 网站服务配置示例
  四、添加 nginx 状态统计
  五、Nginx下的虚拟主机配置
  六、访问控制
  七、配置Nginx实现https
  八、整合LNMP
  九、如何整合tomcat
  
  
  http://nginx.org/
  http://tengine.taobao.org/   
  
  
  特点
    十分轻量级的HTTP服务器
    高性能的HTTP
    反向代理服务器
    也是一个IMAP/POP3/SMTP/FTP 代理服务器
    稳定性
    功能丰富
    系统资源的消耗低
    
  
  源码安装
  
     [root@nginx ~]# lftp 192.168.0.254
  lftp 192.168.0.254:~> cd notes/weekend/project/
  lftp 192.168.0.254:/notes/weekend/project> cd software/
  lftp 192.168.0.254:/notes/weekend/project/software> mirror lnmp/
  lftp 192.168.0.254:/notes/weekend/project/software> exit
  
  
  编译前的准备
   新建程序用户
  [root@nginx nginx-1.4.2]# useradd -M -r nginx -s /sbin/nologin
  
  支持pcre
  [root@nginx ~]# tar xf /root/lnmp/pcre-8.12.tar.bz2 -C /usr/local/src/
  [root@nginx ~]# cd /usr/local/src/pcre-8.12/
  [root@nginx pcre-8.12]# ./configure && make && make install
  
  支持ssl认证
  [root@nginx nginx-1.4.2]# yum -y install openssl-devel
  
  编译与安装
   [root@nginx ~]# tar xf /root/lnmp/nginx-1.4.2.tar.gz -C /usr/local/src/
  [root@nginx ~]# cd /usr/local/src/nginx-1.4.2/
  
  
  
  [root@nginx nginx-1.4.2]# ./configure --user=nginx--group=nginx --prefix=/opt/nginx/ --with-http_stub_status_module --with-http_ssl_module
  
  
  --user=nginx  
  --group=nginx
  --prefix=/opt/nginx/
  --with-http_stub_status_module --发布nginx状态
  --with-http_ssl_module  --开启443端口
  
  
  [root@nginx nginx-1.4.2]# make && make install
  
  
  ---了解目录结构
  [root@nginx ~]# find /opt/nginx/ -maxdepth 2
  /opt/nginx/
  /opt/nginx/conf  --配置文件目录
  /opt/nginx/conf/win-utf
  /opt/nginx/conf/uwsgi_params.default  --模板文件
  /opt/nginx/conf/fastcgi_params.default
  /opt/nginx/conf/mime.types  --nginx类型
  /opt/nginx/conf/nginx.conf  --主配置文件
  /opt/nginx/conf/uwsgi_params
  /opt/nginx/conf/scgi_params.default
  /opt/nginx/conf/fastcgi_params  fastcgi变量
  /opt/nginx/conf/scgi_params
  /opt/nginx/conf/koi-utf --nginx官方默认语言编码
  /opt/nginx/conf/fastcgi.conf    fastcgi配置文件
  /opt/nginx/conf/mime.types.default
  /opt/nginx/conf/fastcgi.conf.default
  /opt/nginx/conf/koi-win
  /opt/nginx/conf/nginx.conf.default
  /opt/nginx/logs  --日志目录
  /opt/nginx/html  --页面
  /opt/nginx/html/index.html --首页
  /opt/nginx/html/50x.html  ---错误代码 404 403
  /opt/nginx/sbin
  /opt/nginx/sbin/nginx  --二进制命令
  
  
  
  如何启动
  以nginx身份启动软件
  [root@nginx ~]# vim /opt/nginx/conf/nginx.conf
  user  nginx nginx;
  
  --检测语法
  [root@nginx ~]# /opt/nginx/sbin/nginx -t
  nginx: the configuration file /opt/nginx//conf/nginx.conf syntax is ok
  nginx: configuration file /opt/nginx//conf/nginx.conf test is successful
  
  
  [root@nginx ~]# /opt/nginx/sbin/nginx
  [root@nginx ~]# netstat -tnlp |grep nginx
  
  
  定义启动脚本
  [root@nginx ~]# cp /root/lnmp/nginx.init.d /etc/init.d/nginx -a
  [root@nginx ~]# chkconfig --add nginx
  [root@nginx ~]# chkconfig nginx on
  [root@nginx ~]# service nginx restart
  
  完善命令的环境变量
  [root@nginx ~]# echo "export PATH=$PATH:/opt/nginx/sbin" >> /etc/profile
  [root@nginx ~]# source  /etc/profile
  [root@nginx ~]# which nginx
  /opt/nginx/sbin/nginx
  
  访问:
  http://192.168.0.1/
  
  
  
  
  ----安装rpm
  
  
  官方nginx源  
  epel源  --https://fedoraproject.org/wiki/EPEL/zh-cn
  aliyun源
  
  
  
  
  --------1) 官方nginx+ epel
  [root@node2 ~]# cat /etc/yum.repos.d/nginx.repo
  [nginx]
  name=nginx repo
  baseurl=http://nginx.org/packages/rhel/6/x86_64
  gpgcheck=0
  enabled=1
  
  
  [root@node2 ~]# cat /etc/yum.repos.d/epel.repo
  [epel]
  name=Extra Packages for Enterprise Linux 6 - $basearch
  baseurl=http://download.fedoraproject.org/pub/epel/6/$basearch
  #mirrorlist=https://mirrors.fedoraproject.org/metalink?repo=epel-6&arch=$basearch
  failovermethod=priority
  enabled=1
  gpgcheck=1
  gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-6
  
  
  
  -------2) 阿里云epel+aliyun(centos6)
  
  
  nginx实例
  
  nginx+squid(反向代理)
  lnmp(php)                 
                        + mysql
  nginx+tomcat (jsp)
  -------------------------------------
  ----     CDN    ----
  




运维网声明 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-641620-1-1.html 上篇帖子: debian tomcat配置 下篇帖子: tomcat 的配置
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

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

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

扫描微信二维码查看详情

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


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


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


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



合作伙伴: 青云cloud

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