project08 tomcat
本章目录:1、tomcat的概述
2、tomcat的架构详解
3、部署apache-tomcat+JDK+mysql+java应用(论坛)
4、整合apache+apache-tomcat实现动静页面分离
5、测试动静分离是否成功:
1、tomcat及JSP的概述:
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的架构详解
---- ServerService(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
# tar xf /root/tomcat/apache-tomcat-7.0.37.tar.gz-C /opt/
# mv /opt/apache-tomcat-7.0.37/ /opt/tomcat
# cd /opt/tomcat/bin/
2) java程序 JDK
# tar xf /root/tomcat/jdk-7u15-linux-x64.tar.gz -C /opt/
# mv /opt/jdk1.7.0_15/ /opt/jdk
3) 启动服务
# export JAVA_HOME=/opt/jdk
# 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
# netstat -tnlp |grep :80
tcp 0 0 :::8009 :::* LISTEN 3273/java
tcp 0 0 :::8080 :::* LISTEN 3273/java
方式1使用java方式启动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
# 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
# /opt/tomcat/bin/shutdown.sh
# /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程序
# 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
# tar xf commons-daemon-native.tar.gz
# cd commons-daemon-1.0.13-native-src/unix
# ./configure --with-java=/opt/jdk/
# make
# cp jsvc /opt/tomcat/bin/
定义启动脚本
# cp /root/tomcat/tomcat-init.sh /etc/init.d/tomcat -a
# vim /etc/init.d/tomcat
JAVA_HOME=/opt/jdk
CATALINA_HOME=/opt/tomcat
CATALINA_BASE=/opt/tomcat
TOMCAT_USER=root
# chkconfig --add tomcat
# service tomcat start
# 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/
------了解软件目录结构
# 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--日志文件
# 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
# mkdir /webserver/java01 -p
# mkdir /webserver/java02 -p
--解压JavaCenter_Home页面
# cd /root/tomcat/
# unzip JavaCenter_Home_2.0_Source_UTF8.zip
# mv JavaCenter_Home_2.0_Source_UTF8/source/WebRoot/* /webserver/java01/
# rm -fr JavaCenter_Home_2.0_Source_UTF8
--解压ejforum页面
# unzip ejforum-2.3.zip
# mv ejforum-2.3/ejforum/* /webserver/java02/
5 通过tomcat发布页面
# service tomcat restart
# 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
编辑配置文件 填写数据库的库名 与帐号密码
--导出数据库的表结构
# find /root/tomcat/ejforum-2.3/install/ |grep sql$ |grep mysql
# mysql -ujavauser02 -p1234 runjava02 < /root/tomcat/ejforum-2.3/install/script/easyjforum_mysql.sql
# 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
# yum -y install httpd
2> 编译或者下载jk_mod
/root/tomcat/mod_jk-1.2.28-httpd-2.2.X.so
# cp /root/tomcat/mod_jk-1.2.28-httpd-2.2.X.so/etc/httpd/modules/mod_jk.so
# 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
# 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
# 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
# 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的虚拟主机 发布页面
# vim /etc/httpd/conf/httpd.conf
DirectoryIndex index.html index.html.var index.jsp
# 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
# service httpd restart
--测试
http://java01.uplooking.com:8080/space.jsp?do=home
http://java02.uplooking.com/forum-1-1-1.html---伪静态页面
测试动静分离?
--测试静态
1) 关闭tomcat ,apache能够正常访问静态页面
# service tomcat stop
# service httpd status
httpd (pid6349) is running...
能否访问静态图片(正常访问)
http://java01.uplooking.com/data/avatar/noavatar_middle.gif
--测试动态
# service tomcat start
将apache的DocumentRoot 改变/var/tmp---无法读取静态数据
tomcat读取动态页面数据
# service tomcat start
# vim /etc/httpd/conf.d/java.conf
DocumentRoot /var/tmp
# 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 代理服务器
稳定性
功能丰富
系统资源的消耗低
源码安装
# 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
编译前的准备
新建程序用户
# useradd -M -r nginx -s /sbin/nologin
支持pcre包
# tar xf /root/lnmp/pcre-8.12.tar.bz2 -C /usr/local/src/
# cd /usr/local/src/pcre-8.12/
# ./configure && make && make install
支持ssl认证
# yum -y install openssl-devel
编译与安装
# tar xf /root/lnmp/nginx-1.4.2.tar.gz -C /usr/local/src/
# cd /usr/local/src/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端口
# make && make install
---了解目录结构
# 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_paramsfastcgi变量
/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身份启动软件
# vim /opt/nginx/conf/nginx.conf
usernginx 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
# /opt/nginx/sbin/nginx
# netstat -tnlp |grep nginx
定义启动脚本
# cp /root/lnmp/nginx.init.d /etc/init.d/nginx -a
# chkconfig --add nginx
# chkconfig nginx on
# service nginx restart
完善命令的环境变量
# echo "export PATH=$PATH:/opt/nginx/sbin" >> /etc/profile
# source/etc/profile
# 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源
# cat /etc/yum.repos.d/nginx.repo
name=nginx repo
baseurl=http://nginx.org/packages/rhel/6/x86_64
gpgcheck=0
enabled=1
# cat /etc/yum.repos.d/epel.repo
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]