zoukankan      html  css  js  c++  java
  • Tomcat服务部署与Nginx负载均衡配置

    一、中间键产品介绍

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

    三、Tomcat应用场景

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

    四、JDK软件简介

       在安装Tomcat之前必须先安装JDKJDK全称是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 0

    2、查看JDK是否安装

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

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

    法一、

     
    [root@localhost ~]# rpm -qa | grep -i openjdk
    java-1.8.0-openjdk-headless-1.8.0.222.b10-0.el7_6.x86_64
    java-1.8.0-openjdk-1.8.0.222.b10-0.el7_6.x86_64
    
    [root@localhost ~]# rpm -e java-1.8.0-openjdk --nodeps   //有依赖关系,解除依赖关系后面加 --nodeps
    [root@localhost ~]# rpm -e java-1.8.0-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.8.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.16.tar.gz
    
    [root@localhost ~]# mv apache-tomcat-8.5.16 /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 :8080
    tcp6 0 0 :::8080 :::* LISTEN 3226/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:8080 weight=1;
            }
    
         server {
            listen       80;
            server_name  localhost;
            location / {
                    rewrite ^(.*)$ https://$host$1 permanent;
            }
            location ~ .jsp$ {
                    proxy_pass http://tomcat_server;
    proxy_set_header Host $http_host; //据情况而定,设为默认头
    } charset utf-8; [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:80 failed (98: Address already in use) nginx: [emerg] bind() to 0.0.0.0:80 failed (98: Address already in use) nginx: [emerg] bind() to 0.0.0.0:80 failed (98: Address already in use) nginx: [emerg] bind() to 0.0.0.0:80 failed (98: Address already in use) nginx: [emerg] bind() to 0.0.0.0:80 failed (98: Address already in use) nginx: [emerg] still could not bind() [root@localhost ~]# nginx -s reload

    测试

  • 相关阅读:
    20145228《网络对抗》逆向及Bof基础
    20145228《信息安全系统设计基础》课程总结
    20145203盖泽双 《网络对抗技术》实践九:Web安全基础实践
    20145203盖泽双 《网络对抗技术》实践八:Web基础
    20145203盖泽双 《网络对抗技术》实践七:网络欺诈技术防范
    20145203盖泽双《网络对抗技术》实践六:信息搜集与漏洞扫描
    20145203盖泽双《网络对抗技术》实践五:MSF基础应用
    20145203盖泽双《网络对抗技术》实践四:恶意代码分析
    20145203 盖泽双《网络对抗技术》免杀原理与实践
    20145203盖泽双《网络对抗技术》后门原理与实践
  • 原文地址:https://www.cnblogs.com/tanxiaojuncom/p/11535619.html
Copyright © 2011-2022 走看看