一、中间键产品介绍

目前来说IBM的WebSphere,Oracle的Weblogic占据了市场上java语言Web站点的部分份额,该两种软件都是商业化的软件,由于性能优越,可靠性高等优点应用于大型互联网公司的Web场景中。

Tomcat自5.x版本以来,其性能上已经得到了大幅度的提升,开放性的架构和二次开发等特性,可以完全用在访问量不是很大的生产环境下,目前大多数用于JSP技术开发的电子商务网站基本上都应用了Tomcat。

中间键(提供JSP服务的软件)产品:

  • RedHat  JBoss
  • Oracle   Tuxedo
  • Oracle   Weblogic
  • caucho Resin
  • IBM  WebSphere
  • JSP  Tomcat

页面:

  • html   Apache
  • php  LAMP  LNMP
  • jsp   Tomcat

二、Tomcat软件简介

Tomcat是Apache软件基金会的Jakarta项目中的一个核心项目,由Apache、Sun和其他一些公司及个人共同开发而成。Tomcat最初是由Sun的软件构架师詹姆斯·邓肯·戴维森开发的。后来他将其变为开源项目,并由Sun贡献给Apache软件基金会。

三、Tomcat应用场景

Tomcat服务器是一个免费的开放源代码的web应用服务器,属于轻量级应用服务器,应用在中小型系统和并发访问用户不是很多的场合,是开发和调试JSP页面的首选,Tomcat也可处理静态的HTML页面但是能力不及Apache或Nginx,所以Tomcat通常作为一个servlet和JSP容器,单独运行在后端。

四、JDK软件简介

在安装Tomcat之前必须先安装JDK,JDK全称是Java Development Kit,是SUN公司免费提供的java语言的软件开发工具包,其中包含Java虚拟机(JVM),编写好的java源程序经过编译可生产java字节码,只要安装了JDK,就可以利用JVM解释这些字节码文件,从而保证了Java的跨平台性。

在平台兼容性方面,JDK作为解释字节码文件并根据此调用操作系统的API实现对应功能的java虚拟机,与操作系统位数密切相关,因此存在不同类型的版本,Tomcat也具有上述特征,CentOS7系统中默认已经安装了JDK

JDK中的Java组件:

  • javac:编译器,将后缀名为.java的源代码编译成后缀名为“.class”的字节码

  • java:运行工具,运行.class的字节码
  • jar:打包工具,将相关的类文件打包成一个文件
  • javadoc:文档生成器,从源码注释中提取文档,注释需匹配规范
  • jdb debugger:调试工具
  • jps:显示当前java程序运行的进程状态
  • javap:反编译程序
  • appletviewer:运行和调试applet程序的工具,不需要使用浏览器
  • javah:从Java类生成C头文件和C源文件。这些文件提供了连接胶合,使Java和C代码可进行交互。
  • javaws:运行JNLP程序
  • extcheck:一个检测jar包冲突的工具
  • apt:注释处理工具
  • jhat:java堆分析工具
  • jstack:栈跟踪程序
  • jstat:JVM检测统计工具
  • jstatd:jstat守护进程
  • jinfo:获取正在运行或崩溃的java程序配置信息
  • jmap:获取java进程内存映射信息
  • idlj:IDL-to-Java编译器。将IDL语言转化为java文件
  • policytool:一个GUI的策略文件创建和管理工具
  • jrunscript:命令行脚本运行

五、安装Tomcat(主机192.168.200.112)

1、关闭防火墙和安全机制

[root@localhost ~]# systemctl stop firewalld
[root@localhost ~]# iptables -F
[root@localhost ~]# setenforce

2、查看JDK是否安装

[root@localhost ~]# java -version
openjdk version "1.8.0_222"
OpenJDK Runtime Environment (build 1.8.0_222-b10)
OpenJDK -Bit Server VM (build 25.222-b10, mixed mode)

3、卸载用rpm方式安装的JDK

方法一

[root@localhost ~]# rpm -qa | grep -i openjdk
java-1.8.-openjdk-headless-1.8.0.222.b10-.el7_6.x86_64
java-1.8.-openjdk-1.8.0.222.b10-.el7_6.x86_64 [root@localhost ~]# rpm -e java-1.8.-openjdk --nodeps //有依赖关系,解除依赖关系后面加 --nodeps
[root@localhost ~]# rpm -e java-1.8.-openjdk-headless
[root@localhost ~]# rpm -qa | grep -i openjdk

方法二

[root@localhost ~]# which java
/usr/bin/java [root@localhost ~]# rm -rf /usr/bin/java [root@localhost ~]# java -version
-bash: /usr/bin/java: 没有那个文件或目录

4、安装JDK

[root@localhost ~]# tar -xf jdk-8u191-linux-x64.tar.gz

[root@localhost ~]# mv jdk1..0_191/ /usr/local/java  //将解压后的包移动到指定目录下

[root@localhost ~]# /usr/local/java/bin/java -version  //此时只有通过绝对路径才可以查看java的版本号信息

[root@localhost ~]# vim /etc/profile  //修改

export JAVA_HOME=/usr/local/java  //设置java的根目录

export PATH=$PATH:$JAVA_HOME/bin  //在PATH环境变量中添加java根目录下的bin子目录

[root@localhost ~]# echo $PATH  //在未执行修改的脚本时查看PATH变量
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin
[root@localhost ~]# source /etc/profile //重置一下脚本
[root@localhost ~]# echo $PATH //再查一遍
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin:/usr/local/java/bin

5、Tomcat安装

[root@localhost ~]# tar -xf apache-tomcat-8.5..tar.gz

[root@localhost ~]# mv apache-tomcat-8.5. /usr/local/tomcat8

[root@localhost ~]# ls /usr/local/tomcat8/bin
bootstrap.jar setclasspath.sh
catalina.bat shutdown.bat
catalina.sh shutdown.sh
catalina-tasks.xml startup.bat
commons-daemon.jar startup.sh (启动文件)
commons-daemon-native.tar.gz tomcat-juli.jar
configtest.bat tomcat-native.tar.gz
configtest.sh tool-wrapper.bat
daemon.sh tool-wrapper.sh
digest.bat version.bat
digest.sh version.sh
setclasspath.bat //.bat Windows版本 //.sh Linus版本

6、启动

[root@localhost ~]# /usr/local/tomcat8/bin/startup.sh
Using CATALINA_BASE: /usr/local/tomcat8
Using CATALINA_HOME: /usr/local/tomcat8
Using CATALINA_TMPDIR: /usr/local/tomcat8/temp
Using JRE_HOME: /usr/local/java
Using CLASSPATH: /usr/local/tomcat8/bin/bootstrap.jar:/usr/local/tomcat8/bin/tomcat-juli.jar
Tomcat started. [root@localhost ~]# netstat -anpt | grep :
tcp6 ::: :::* LISTEN /java

7、测试

六、设置Tomcat网页存放位置(主机192.168.200.112)

[root@localhost ~]# mkdir -p /web/webapp/     //创建存放网页的目录
[root@localhost ~]# vim /web/webapp/index.jsp //添加要存放的网页
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<html>
<head>
<title>JSP test2 page</title>
</head>
<body>
<% out.println("Welcome to test site,http://www.test2.com");%>
</body>
</html> [root@localhost ~]# vim /usr/local/tomcat8/conf/server.xml
<Host name="localhost" appBase="webapps"
unpackWARs="true" autoDeploy="true">
<Context docBase="/web/webapp" path="" reloadable="flash"></Context> 注释:docBase="/web/webapp" //web应用的文档基准目录
path=" " //设置默认"类"
reloadable="flase" //设置监视"类"是否变化 [root@localhost ~]# /usr/local/tomcat8/bin/shutdown.sh //关一下机
Using CATALINA_BASE: /usr/local/tomcat8
Using CATALINA_HOME: /usr/local/tomcat8
Using CATALINA_TMPDIR: /usr/local/tomcat8/temp
Using JRE_HOME: /usr/local/java
Using CLASSPATH: /usr/local/tomcat8/bin/bootstrap.jar:/usr/local/tomcat8/bin/tomcat-juli.jar
[root@localhost ~]# /usr/local/tomcat8/bin/startup.sh //重新开
Using CATALINA_BASE: /usr/local/tomcat8
Using CATALINA_HOME: /usr/local/tomcat8
Using CATALINA_TMPDIR: /usr/local/tomcat8/temp
Using JRE_HOME: /usr/local/java
Using CLASSPATH: /usr/local/tomcat8/bin/bootstrap.jar:/usr/local/tomcat8/bin/tomcat-juli.jar
Tomcat started.

测试

 七、nginx负载均衡配置(主机192.168.200.111)

确保安装了nginx,80端口已经打开,直接修改配置文件

[root@localhost ~]# vim /usr/local/nginx/conf/nginx.conf
upstream tomcat_server {
server 192.168.200.112: weight=;
} server {
listen ;
server_name localhost;
location / {
rewrite ^(.*)$ https://$host$1 permanent;
}
location ~ \.jsp$ {
proxy_pass http://tomcat_server;
} charset utf-; [root@localhost ~]# 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 [root@localhost ~]# nginx
nginx: [emerg] bind() to 0.0.0.0: failed (: Address already in use)
nginx: [emerg] bind() to 0.0.0.0: failed (: Address already in use)
nginx: [emerg] bind() to 0.0.0.0: failed (: Address already in use)
nginx: [emerg] bind() to 0.0.0.0: failed (: Address already in use)
nginx: [emerg] bind() to 0.0.0.0: failed (: Address already in use)
nginx: [emerg] still could not bind() [root@localhost ~]# nginx -s reload

测试

Tomcat服务部署与Nginx负载均衡配置的更多相关文章

  1. Tomcat集群,Nginx集群,Tomcat+Nginx 负载均衡配置,Tomcat+Nginx集群

    Tomcat集群,Nginx集群,Tomcat+Nginx 负载均衡配置,Tomcat+Nginx集群 >>>>>>>>>>>> ...

  2. Nginx负载均衡配置简单配置方法

    http://www.jb51.net/article/121235.htm Nginx作为负载均衡服务器,用户请求先到达nginx,再由nginx根据负载配置将请求转发至不同的Web服务器.下面通过 ...

  3. Linux笔记 #09# Tomcat多开以及Nginx负载均衡简单例子

    索引 Tomcat怎样多开.. 1.添加环境变量(最基础.关键的步骤!) 2.改catalina.sh 3.改相关端口 Nginx负载均衡简单例子 Tomcat怎样多开.. 演示一下如何开两个(开n个 ...

  4. Mall电商项目总结(二)——nginx负载均衡配置和策略

    1. nginx配置文件 用户在浏览器上输入,http://www.xwld.site/ 实际上是在访问服务器80端口,nginx 监听80端口,将用户的请求转发到8080和9080端口 . upst ...

  5. Docker 安装 Nginx 负载均衡配置

    Docker 安装 # 1)安装依赖包 yum install -y yum-utils device-mapper-persistent-data lvm2 # 2)添加Docker软件包源(否则d ...

  6. nginx高性能WEB服务器系列之六--nginx负载均衡配置+健康检查

    nginx系列友情链接:nginx高性能WEB服务器系列之一简介及安装https://www.cnblogs.com/maxtgood/p/9597596.htmlnginx高性能WEB服务器系列之二 ...

  7. tomcat单机多应用部署配合Nginx负载均衡

    一.Windows 配置tomcat . 安装两个tomcat服务器以上 . 配置环境变量 CATALINA_BASE:D:\servers\Tomcat8 CATALINA_HOME:D:\serv ...

  8. Nginx负载均衡配置实例详解

    负载均衡是我们大流量网站要做的一个东西,下面我来给大家介绍在Nginx服务器上进行负载均衡配置方法,希望对有需要的同学有所帮助哦. 负载均衡 先来简单了解一下什么是负载均衡,单从字面上的意思来理解就可 ...

  9. Nginx负载均衡配置实例详解(转)

    负载均衡是我们大流量网站要做的一个东西,下面我来给大家介绍在Nginx服务器上进行负载均衡配置方法,希望对有需要的同学有所帮助哦. 负载均衡 先来简单了解一下什么是负载均衡,单从字面上的意思来理解就可 ...

随机推荐

  1. Azure EA (1) 查看国内Azure账单

    <Windows Azure Platform 系列文章目录> 本文介绍的是国内由世纪互联运维的Azure China 有关Azure EA Portal的详细内容,可以参考我的GitHu ...

  2. Vue.js 源码分析(二十九) 高级应用 transition-group组件 详解

    对于过度动画如果要同时渲染整个列表时,可以使用transition-group组件. transition-group组件的props和transition组件类似,不同点是transition-gr ...

  3. 阿里云 .NET SDK Roa 和 Rpc 风格签名

    阿里云 .NET SDK Roa 和 Rpc 风格的签名 Demo,适用于自己不想用其提供的SDK,想用自己组装 Roa 和 Rpc 的签名方式. Roa 和 Rpc 的签名方式主要有以下几个不同点: ...

  4. IDEA设置方法参数列表类型自动提示

    默认情况下,IDEA的提示不够完全,可以通过以下设置,将提示功能打开的更完善. 效果如下面俩图所示

  5. 超详细国外VPS搭建教程

    vps文章请访问我的github:https://github.com/pig6/vps

  6. Child module D:\program\eclipse\eclipse\workspace_taotao\taotao-parent\taotao-manager-service of

    1.淘淘商城的项目,报了这个错误,也是一脸懵逼. [INFO] Scanning for projects... [ERROR] [ERROR] Some problems were encounte ...

  7. PIE调用Python获得彩色直方图

    前段时间我一直在研究PIE SDK与Python的结合,因为在我的开发中,我想获取一张图片的统计直方图,虽然在SDK中有提供关于直方图的类接口(如IStatsHistogram 接口.Histogra ...

  8. Microsoft.Office.Interop.Excel 读取 excel 中的 checkbox 和 radio

    using Excel = Microsoft.Office.Interop.Excel; Excel.Application excelapp = new Excel.Application(); ...

  9. Appium基于PO模型的自动化测试(Python)

    基于python单元测试框架unittest完成appium自动化测试,生成基于html可视化测试报告 代码示例: #利用unittest并生成测试报告 class Appium_test(unitt ...

  10. Ajax异步后台加载Html绑定不上事件

    因项目需要,需要实时从后台动态加载html,开发过程中,遇到事件绑定不上,后来百度一番,大概意思:ajax是异步加载的,页面一开始绑定事件的时候,后台数据还没有传过来,就绑定事件,这个时候找不到这个d ...