本章目录:
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 的架构详解
---- 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
将apache 的DocumentRoot 改变/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