tomca部署及jspgou上线

1/24
Tomcat
Tomcat
它是一套用来运行java web应用程序的服务环境。java web应用程序的源码文件通常是*.jsp。JSP的服务
环境由jdk和tomcat两个软件组成。
软件的部署很简单,因为只需要将下载好的jdk和tomcat软件包解压到系统中指定的目录下,并配置环境变
量文件,启动tomcat的服务就可以了。后期的重点是在于如何用tomcat去发布jsp网站应用程序。其发布
网站的方法跟apache和nginx有点相似。
Tomcat
被称作JAVA容器,WEB容器,WEB中间件
Tomcat,Resin,JBOSS(redhat),WebSphere(IBM),Weblogic(oracle)

访问web应用的流程:
客户端浏览器 ---〉 web服务器(apache/nginx/tomcat)---〉网站文件

Tomcat1 Tomcat2 Tomcat3
2000
物理机器的配置
2/24
几台机器
建议使用Nginx和Tomcat配合,Nginx处理静态,Tomcat处理动态程序
方案三中后端Tomcat可以运行在单独的主机,也可以是同一台主机上的多实

静态元素
html css js 各种图片

动态元素
php java python
能跟数据库和服务器进行数据交互的代码
一、Tomcat Http Server
jdk的包有两种:

  1. .gz .bz2 .zip 直接解压 放到安装位置 就能用
  2. .bin 直接执行 会解压出来一个目录 放到安装位置 就能用
    一般放到/usr/local/下面 改环境变量
  1. 部署JAVA环境

    tar xf jdk-8u91-linux-x64.tar.gz -C /usr/local 将jdk解压到/usr/local目录

    方式1(首选):

    ln -s /usr/local/jdk1.8.0_91 /usr/local/java

    方式2(备选):

    mv /usr/local/jdk1.8.0_91 /usr/local/java

    修改环境变量:
    方式1(首选):自己创建一个启动脚本

    vim /etc/profile.d/jdk.sh

    JAVA_HOME=/usr/local/java
    PATH=$JAVA_HOME/bin:$PATH
    export JAVA_HOME PATH
    方式2(备选):写到系统自带的启动脚本内

    vim /etc/profile

    JAVA_HOME=/usr/local/java
    PATH=$JAVA_HOME/bin:$PATH
    export JAVA_HOME PATH
    使上设置的脚本立即生效:
    source /etc/profile.d/jdk.sh 或 source /etc/profile
    echo $PATH
    测试java环境:

    env |grep JAVA 选做,查看的结果如下

    JAVA_HOME=/usr/local/java

    java -version 必做,只要看到如下信息,就说明jdk已经配置好了

    java version "1.8.0_91"
    Java(TM) SE Runtime Environment (build 1.8.0_91-b14)
    Java HotSpot(TM) 64-Bit Server VM (build 25.91-b14, mixed mode)
    3/24
    -----
    可以直接把openjdk删除
    #yum erase $(rpm -qa | grep jdk) -y

  2. 安装Tomcat:(和jdk的方式1一模一样,解压改名就能用)
    首先,解压tomcat到指定的目录中。

    tar xf apache-tomcat-7.0.34.tar.gz -C /usr/local/

    ln -s /usr/local/apache-tomcat-7.0.34 /usr/local/tomcat

    然后,定义Tomcat所需环境变量:

    vim /etc/profile.d/tomcat.sh //定义Tomcat环境变量

    CATALINA_HOME=/usr/local/tomcat //Tomcat安装目录(基准、工作)
    export CATALINA_HOME

    加载环境变量文件

    source /etc/profile.d/tomcat.sh

    启动Tomcat

    /usr/local/tomcat/bin/startup.sh //启动tomcat

    Using CATALINA_BASE: /usr/local/tomcat
    Using CATALINA_HOME: /usr/local/tomcat
    Using CATALINA_TMPDIR: /usr/local/tomcat/temp
    Using JRE_HOME: /usr/java/jdk1.7.0_11
    Using CLASSPATH: /usr/local/tomcat/bin/bootstrap.jar:/usr/local/tomcat/bin/tomcat-juli.jar

    netstat -tnlp |grep java

    tcp 0 0 ::ffff:127.0.0.1:8005 ::: LISTEN 6191/java
    tcp 0 0 :::8009 :::
    LISTEN 6191/java
    tcp 0 0 :::8080 :::* LISTEN 6191/java

/usr/local/tomcat/bin/shutdown.sh //关闭tomcat

关于tomcat端口:8080 8005 8009
Tomcat服务器通过Connector连接器组件与客户程序建立连接,Connector组件负责接收客户的请求,以
及把Tomcat服务器的响应结果发送给客户。默认情况下,Tomcat在server.xml中配置了两种连接器:
  第一个连接器监听8080端口,负责建立HTTP连接。在通过浏览器访问Tomcat服务器的Web应用
时,使用的就是这个连接器。  
  第二个连接器监听8009端口,负责和其他的HTTP(apache)服务器建立连接。在把Tomcat与其他
HTTP服务器集成时,就需要用到这个连接器。
8005是tomcat本身的端口

  1. 测试
    http://192.168.2.251:8080/
    tomcat目录结构:
    [root@tomcat webapps]# tree -L 1 /usr/local/tomcat/ 说明:-L 是level等级的缩写
    /usr/local/tomcat/ #tomcat的工作目录
    ├── bin #启动关闭命令
    ├── conf #配置文件
    ├── lib
    ├── LICENSE
    ├── logs #日志 catalina.out
    4/24
    ├── NOTICE
    ├── RELEASE-NOTES
    ├── RUNNING.txt
    ├── temp
    ├── webapps #存网站(project--目录)的目录 默认网站为ROOT
    └── work
    随堂练习:在/usr/local/tomcat/webapps/ROOT目录中生成一个a.html的静态网页。
    echo '<meta http-equiv="Content-Type" content="text/html; charset=utf-8">' > /usr/local/
    tomcat/webapps/ROOT/b.html
    echo "当前日期:$(date)" >> /usr/local/tomcat/webapps/ROOT/b.html
    win7/10浏览器访问测试:192.168.11.11:8080/a.html

    以下是部署jsp带数据库的网站应用程序jspgou。
    二、安装MySQL(略)
    #yum install mariadb mariadb-server -y
    #systemctl start mariadb && systemctl enable mariadb
    三、部署jspgou

    ls /usr/local/tomcat/webapps/ //默认网站的基目录base

    docs examples host-manager manager ROOT

    ls /usr/local/tomcat/webapps/ROOT //默认网站的主目录

    1.创建数据库:
    在mysql数据库中创建jspgou数据库(推荐使用此数据库名,否则参照第三条修改对应的数据库链接信息),
    字符集为utf-8
    mysql -e 'create database jspgou CHARACTER SET = utf8;show databases;'
    2.更改数据库链接:
    wget http://bbs.jeecms.com/fabu/62873.jhtml
    unzip jspgouV6-ROOT.zip
    ls ROOT DB
    \cp -Rv ROOT /usr/local/tomcat/webapps/
    Q:jdbc是什么?ODBC是什么?
    A:jdbc是java数据库连接(java database connection)的缩写。是用java访问数据库的接口驱动程序。
    odbc是开放数据库连接(open database connection)的缩写。odbc的配置在win7/10系统控制面板的"管
    理工具"中的"数据源(odbc)"功能里面有。odbc中的驱动程序通常是用户在系统中安装了数据库软件的服务
    器或客户端软件自动生成的。
    程序包内ROOT/WEB-INF/config/jdbc.properties文件第20行左右
    vim /usr/local/tomcat/webapps/ROOT/WEB-INF/config/jdbc.properties 修改如下内容
    jdbc.url=jdbc:mysql://127.0.0.1:3306/创建好的数据库名?characterEncoding=UTF-8
    jdbc.username=root #在生产环境中必须用普通账户
    jdbc.password=123
    3.导入数据:
    将压缩包内 DB文件中jspgou.sql文件导入至创建好的jspgou数据库中,如导入中出现执行sql语句过长问
    题,请修改mysql配置文件my.cnf中max_allowed_packet参数为64m,默认为1m
    5/24
    导入数据库时如果报错:把所有datetime类型的字段默认值改成CURRENT_TIMESTAMP
    注意:如果用Mariadb数据库不会出现如上错误,可以直接导入
    [root@tomcat DB]# mysql -uroot -p123 -D jspgou < jspgou.sql
    4.部署网站:
    将程序解压后的ROOT文件夹拷贝到tomcat安装目录下的webapps文件夹下(例如:D:\Tomcat7
    \webapps\),启动tomcat
    输入以下地址,如能正常显示,即表示部署成功
    系统管理后台登录:http://192.168.11.11:8080/jeeadmin/jspgou/index.do
    用户名:admin
    密 码:123456
    点击上图右上角浏览器图标访问网站首页:
    6/24
    tomcat部署
    Tomcat
    它是一套用来运行java web应用程序的服务环境。java web应用程序的源码文件通常是*.jsp。JSP的服务
    环境由jdk和tomcat两个软件组成。
    软件的部署很简单,因为只需要将下载好的jdk和tomcat软件包解压到系统中指定的目录下,并配置环境变
    量文件,启动tomcat的服务就可以了。后期的重点是在于如何用tomcat去发布jsp网站应用程序。其发布
    网站的方法跟apache和nginx有点相似。
    Tomcat
    被称作JAVA容器,WEB容器,WEB中间件
    Tomcat,Resin,JBOSS(redhat),WebSphere(IBM),Weblogic(oracle)

访问web应用的流程:
客户端浏览器 ---〉 web服务器(apache/nginx/tomcat)---〉网站文件

Tomcat1 Tomcat2 Tomcat3
2000
物理机器的配置
7/24
几台机器
建议使用Nginx和Tomcat配合,Nginx处理静态,Tomcat处理动态程序
方案三中后端Tomcat可以运行在单独的主机,也可以是同一台主机上的多实

静态元素
html css js 各种图片

动态元素
php java python
能跟数据库和服务器进行数据交互的代码
一、Tomcat Http Server
jdk的包有两种:

  1. .gz .bz2 .zip 直接解压 放到安装位置 就能用
  2. .bin 直接执行 会解压出来一个目录 放到安装位置 就能用
    一般放到/usr/local/下面 改环境变量
  1. 部署JAVA环境

    tar xf jdk-8u91-linux-x64.tar.gz -C /usr/local 将jdk解压到/usr/local目录

    方式1(首选):

    ln -s /usr/local/jdk1.8.0_91 /usr/local/java

    方式2(备选):

    mv /usr/local/jdk1.8.0_91 /usr/local/java

    修改环境变量:
    方式1(首选):自己创建一个启动脚本

    vim /etc/profile.d/jdk.sh

    JAVA_HOME=/usr/local/java
    PATH=$JAVA_HOME/bin:$PATH
    export JAVA_HOME PATH
    方式2(备选):写到系统自带的启动脚本内

    vim /etc/profile

    JAVA_HOME=/usr/local/java
    PATH=$JAVA_HOME/bin:$PATH
    export JAVA_HOME PATH
    使上设置的脚本立即生效:
    source /etc/profile.d/jdk.sh 或 source /etc/profile
    echo $PATH
    测试java环境:

    env |grep JAVA 选做,查看的结果如下

    JAVA_HOME=/usr/local/java

    java -version 必做,只要看到如下信息,就说明jdk已经配置好了

    java version "1.8.0_91"
    Java(TM) SE Runtime Environment (build 1.8.0_91-b14)
    Java HotSpot(TM) 64-Bit Server VM (build 25.91-b14, mixed mode)
    8/24
    -----
    可以直接把openjdk删除
    #yum erase $(rpm -qa | grep jdk) -y

  2. 安装Tomcat:(和jdk的方式1一模一样,解压改名就能用)
    首先,解压tomcat到指定的目录中。

    tar xf apache-tomcat-7.0.34.tar.gz -C /usr/local/

    ln -s /usr/local/apache-tomcat-7.0.34 /usr/local/tomcat

    然后,定义Tomcat所需环境变量:

    vim /etc/profile.d/tomcat.sh //定义Tomcat环境变量

    CATALINA_HOME=/usr/local/tomcat //Tomcat安装目录(基准、工作)
    export CATALINA_HOME

    加载环境变量文件

    source /etc/profile.d/tomcat.sh

    启动Tomcat

    /usr/local/tomcat/bin/startup.sh //启动tomcat

    Using CATALINA_BASE: /usr/local/tomcat
    Using CATALINA_HOME: /usr/local/tomcat
    Using CATALINA_TMPDIR: /usr/local/tomcat/temp
    Using JRE_HOME: /usr/java/jdk1.7.0_11
    Using CLASSPATH: /usr/local/tomcat/bin/bootstrap.jar:/usr/local/tomcat/bin/tomcat-juli.jar

    netstat -tnlp |grep java

    tcp 0 0 ::ffff:127.0.0.1:8005 ::: LISTEN 6191/java
    tcp 0 0 :::8009 :::
    LISTEN 6191/java
    tcp 0 0 :::8080 :::* LISTEN 6191/java

/usr/local/tomcat/bin/shutdown.sh //关闭tomcat

关于tomcat端口:8080 8005 8009
Tomcat服务器通过Connector连接器组件与客户程序建立连接,Connector组件负责接收客户的请求,以
及把Tomcat服务器的响应结果发送给客户。默认情况下,Tomcat在server.xml中配置了两种连接器:
  第一个连接器监听8080端口,负责建立HTTP连接。在通过浏览器访问Tomcat服务器的Web应用
时,使用的就是这个连接器。  
  第二个连接器监听8009端口,负责和其他的HTTP(apache)服务器建立连接。在把Tomcat与其他
HTTP服务器集成时,就需要用到这个连接器。
8005是tomcat本身的端口

  1. 测试
    http://192.168.2.251:8080/
    tomcat目录结构:
    [root@tomcat webapps]# tree -L 1 /usr/local/tomcat/ 说明:-L 是level等级的缩写
    /usr/local/tomcat/ #tomcat的工作目录
    ├── bin #启动关闭命令
    ├── conf #配置文件
    ├── lib
    ├── LICENSE
    ├── logs #日志 catalina.out
    9/24
    ├── NOTICE
    ├── RELEASE-NOTES
    ├── RUNNING.txt
    ├── temp
    ├── webapps #存网站(project--目录)的目录 默认网站为ROOT
    └── work
    随堂练习:在/usr/local/tomcat/webapps/ROOT目录中生成一个a.html的静态网页。
    echo '<meta http-equiv="Content-Type" content="text/html; charset=utf-8">' > /usr/local/
    tomcat/webapps/ROOT/b.html
    echo "当前日期:$(date)" >> /usr/local/tomcat/webapps/ROOT/b.html
    win7/10浏览器访问测试:192.168.11.11:8080/a.html

    以下是部署jsp带数据库的网站应用程序jspgou。
    二、安装MySQL(略)
    #yum install mariadb mariadb-server -y
    #systemctl start mariadb && systemctl enable mariadb
    三、部署jspgou

    ls /usr/local/tomcat/webapps/ //默认网站的基目录base

    docs examples host-manager manager ROOT

    ls /usr/local/tomcat/webapps/ROOT //默认网站的主目录

    1.创建数据库:
    在mysql数据库中创建jspgou数据库(推荐使用此数据库名,否则参照第三条修改对应的数据库链接信息),
    字符集为utf-8
    mysql -e 'create database jspgou CHARACTER SET = utf8;show databases;'
    2.更改数据库链接:
    wget http://bbs.jeecms.com/fabu/62873.jhtml
    unzip jspgouV6-ROOT.zip
    ls ROOT DB
    \cp -Rv ROOT /usr/local/tomcat/webapps/
    Q:jdbc是什么?ODBC是什么?
    A:jdbc是java数据库连接(java database connection)的缩写。是用java访问数据库的接口驱动程序。
    odbc是开放数据库连接(open database connection)的缩写。odbc的配置在win7/10系统控制面板的"管
    理工具"中的"数据源(odbc)"功能里面有。odbc中的驱动程序通常是用户在系统中安装了数据库软件的服务
    器或客户端软件自动生成的。
    程序包内ROOT/WEB-INF/config/jdbc.properties文件第20行左右
    vim /usr/local/tomcat/webapps/ROOT/WEB-INF/config/jdbc.properties 修改如下内容
    jdbc.url=jdbc:mysql://127.0.0.1:3306/创建好的数据库名?characterEncoding=UTF-8
    jdbc.username=root #在生产环境中必须用普通账户
    jdbc.password=123
    3.导入数据:
    将压缩包内 DB文件中jspgou.sql文件导入至创建好的jspgou数据库中,如导入中出现执行sql语句过长问
    题,请修改mysql配置文件my.cnf中max_allowed_packet参数为64m,默认为1m
    10/24
    导入数据库时如果报错:把所有datetime类型的字段默认值改成CURRENT_TIMESTAMP
    注意:如果用Mariadb数据库不会出现如上错误,可以直接导入
    [root@tomcat DB]# mysql -uroot -p123 -D jspgou < jspgou.sql
    4.部署网站:
    将程序解压后的ROOT文件夹拷贝到tomcat安装目录下的webapps文件夹下(例如:D:\Tomcat7
    \webapps\),启动tomcat
    输入以下地址,如能正常显示,即表示部署成功
    系统管理后台登录:http://192.168.11.11:8080/jeeadmin/jspgou/index.do
    用户名:admin
    密 码:123456
    点击上图右上角浏览器图标访问网站首页:
    Tomcat
    它是一套用来运行java web应用程序的服务环境。java web应用程序的源码文件通常是*.jsp。JSP的服务
    环境由jdk和tomcat两个软件组成。
    11/24
    软件的部署很简单,因为只需要将下载好的jdk和tomcat软件包解压到系统中指定的目录下,并配置环境变
    量文件,启动tomcat的服务就可以了。后期的重点是在于如何用tomcat去发布jsp网站应用程序。其发布
    网站的方法跟apache和nginx有点相似。
    Tomcat
    被称作JAVA容器,WEB容器,WEB中间件
    Tomcat,Resin,JBOSS(redhat),WebSphere(IBM),Weblogic(oracle)

访问web应用的流程:
客户端浏览器 ---〉 web服务器(apache/nginx/tomcat)---〉网站文件

Tomcat1 Tomcat2 Tomcat3
2000
物理机器的配置
几台机器
建议使用Nginx和Tomcat配合,Nginx处理静态,Tomcat处理动态程序
方案三中后端Tomcat可以运行在单独的主机,也可以是同一台主机上的多实

12/24
静态元素
html css js 各种图片

动态元素
php java python
能跟数据库和服务器进行数据交互的代码
一、Tomcat Http Server
jdk的包有两种:

  1. .gz .bz2 .zip 直接解压 放到安装位置 就能用
  2. .bin 直接执行 会解压出来一个目录 放到安装位置 就能用
    一般放到/usr/local/下面 改环境变量
  1. 部署JAVA环境

    tar xf jdk-8u91-linux-x64.tar.gz -C /usr/local 将jdk解压到/usr/local目录

    方式1(首选):

    ln -s /usr/local/jdk1.8.0_91 /usr/local/java

    方式2(备选):

    mv /usr/local/jdk1.8.0_91 /usr/local/java

    修改环境变量:
    方式1(首选):自己创建一个启动脚本

    vim /etc/profile.d/jdk.sh

    JAVA_HOME=/usr/local/java
    PATH=$JAVA_HOME/bin:$PATH
    export JAVA_HOME PATH
    方式2(备选):写到系统自带的启动脚本内

    vim /etc/profile

    JAVA_HOME=/usr/local/java
    PATH=$JAVA_HOME/bin:$PATH
    export JAVA_HOME PATH
    使上设置的脚本立即生效:
    source /etc/profile.d/jdk.sh 或 source /etc/profile
    echo $PATH
    测试java环境:

    env |grep JAVA 选做,查看的结果如下

    JAVA_HOME=/usr/local/java

    java -version 必做,只要看到如下信息,就说明jdk已经配置好了

    java version "1.8.0_91"
    Java(TM) SE Runtime Environment (build 1.8.0_91-b14)
    Java HotSpot(TM) 64-Bit Server VM (build 25.91-b14, mixed mode)
    -----
    可以直接把openjdk删除
    #yum erase $(rpm -qa | grep jdk) -y

  2. 安装Tomcat:(和jdk的方式1一模一样,解压改名就能用)
    首先,解压tomcat到指定的目录中。
    13/24

    tar xf apache-tomcat-7.0.34.tar.gz -C /usr/local/

    ln -s /usr/local/apache-tomcat-7.0.34 /usr/local/tomcat

    然后,定义Tomcat所需环境变量:

    vim /etc/profile.d/tomcat.sh //定义Tomcat环境变量

    CATALINA_HOME=/usr/local/tomcat //Tomcat安装目录(基准、工作)
    export CATALINA_HOME

    加载环境变量文件

    source /etc/profile.d/tomcat.sh

    启动Tomcat

    /usr/local/tomcat/bin/startup.sh //启动tomcat

    Using CATALINA_BASE: /usr/local/tomcat
    Using CATALINA_HOME: /usr/local/tomcat
    Using CATALINA_TMPDIR: /usr/local/tomcat/temp
    Using JRE_HOME: /usr/java/jdk1.7.0_11
    Using CLASSPATH: /usr/local/tomcat/bin/bootstrap.jar:/usr/local/tomcat/bin/tomcat-juli.jar

    netstat -tnlp |grep java

    tcp 0 0 ::ffff:127.0.0.1:8005 ::: LISTEN 6191/java
    tcp 0 0 :::8009 :::
    LISTEN 6191/java
    tcp 0 0 :::8080 :::* LISTEN 6191/java

/usr/local/tomcat/bin/shutdown.sh //关闭tomcat

关于tomcat端口:8080 8005 8009
Tomcat服务器通过Connector连接器组件与客户程序建立连接,Connector组件负责接收客户的请求,以
及把Tomcat服务器的响应结果发送给客户。默认情况下,Tomcat在server.xml中配置了两种连接器:
  第一个连接器监听8080端口,负责建立HTTP连接。在通过浏览器访问Tomcat服务器的Web应用
时,使用的就是这个连接器。  
  第二个连接器监听8009端口,负责和其他的HTTP(apache)服务器建立连接。在把Tomcat与其他
HTTP服务器集成时,就需要用到这个连接器。
8005是tomcat本身的端口

  1. 测试
    http://192.168.2.251:8080/
    tomcat目录结构:
    [root@tomcat webapps]# tree -L 1 /usr/local/tomcat/ 说明:-L 是level等级的缩写
    /usr/local/tomcat/ #tomcat的工作目录
    ├── bin #启动关闭命令
    ├── conf #配置文件
    ├── lib
    ├── LICENSE
    ├── logs #日志 catalina.out
    ├── NOTICE
    ├── RELEASE-NOTES
    ├── RUNNING.txt
    ├── temp
    ├── webapps #存网站(project--目录)的目录 默认网站为ROOT
    14/24
    └── work
    随堂练习:在/usr/local/tomcat/webapps/ROOT目录中生成一个a.html的静态网页。
    echo '<meta http-equiv="Content-Type" content="text/html; charset=utf-8">' > /usr/local/
    tomcat/webapps/ROOT/b.html
    echo "当前日期:$(date)" >> /usr/local/tomcat/webapps/ROOT/b.html
    win7/10浏览器访问测试:192.168.11.11:8080/a.html

    以下是部署jsp带数据库的网站应用程序jspgou。
    二、安装MySQL(略)
    #yum install mariadb mariadb-server -y
    #systemctl start mariadb && systemctl enable mariadb
    三、部署jspgou

    ls /usr/local/tomcat/webapps/ //默认网站的基目录base

    docs examples host-manager manager ROOT

    ls /usr/local/tomcat/webapps/ROOT //默认网站的主目录

    1.创建数据库:
    在mysql数据库中创建jspgou数据库(推荐使用此数据库名,否则参照第三条修改对应的数据库链接信息),
    字符集为utf-8
    mysql -e 'create database jspgou CHARACTER SET = utf8;show databases;'
    2.更改数据库链接:
    wget http://bbs.jeecms.com/fabu/62873.jhtml
    unzip jspgouV6-ROOT.zip
    ls ROOT DB
    \cp -Rv ROOT /usr/local/tomcat/webapps/
    Q:jdbc是什么?ODBC是什么?
    A:jdbc是java数据库连接(java database connection)的缩写。是用java访问数据库的接口驱动程序。
    odbc是开放数据库连接(open database connection)的缩写。odbc的配置在win7/10系统控制面板的"管
    理工具"中的"数据源(odbc)"功能里面有。odbc中的驱动程序通常是用户在系统中安装了数据库软件的服务
    器或客户端软件自动生成的。
    程序包内ROOT/WEB-INF/config/jdbc.properties文件第20行左右
    vim /usr/local/tomcat/webapps/ROOT/WEB-INF/config/jdbc.properties 修改如下内容
    jdbc.url=jdbc:mysql://127.0.0.1:3306/创建好的数据库名?characterEncoding=UTF-8
    jdbc.username=root #在生产环境中必须用普通账户
    jdbc.password=123
    3.导入数据:
    将压缩包内 DB文件中jspgou.sql文件导入至创建好的jspgou数据库中,如导入中出现执行sql语句过长问
    题,请修改mysql配置文件my.cnf中max_allowed_packet参数为64m,默认为1m
    导入数据库时如果报错:把所有datetime类型的字段默认值改成CURRENT_TIMESTAMP
    注意:如果用Mariadb数据库不会出现如上错误,可以直接导入
    [root@tomcat DB]# mysql -uroot -p123 -D jspgou < jspgou.sql
    4.部署网站:
    15/24
    将程序解压后的ROOT文件夹拷贝到tomcat安装目录下的webapps文件夹下(例如:D:\Tomcat7
    \webapps\),启动tomcat
    输入以下地址,如能正常显示,即表示部署成功
    系统管理后台登录:http://192.168.11.11:8080/jeeadmin/jspgou/index.do
    用户名:admin
    密 码:123456
    点击上图右上角浏览器图标访问网站首页:
    tomcat多实例部署
    Tomcat 一机多实例
    多实例运行不同的应用(类似虚拟主机)
    多实例运行相同的应用(实现负载均衡,支持高并发处理,session问题)
    16/24
    tomcat单机多实例配置
    CATALINA_BASE:
    instance1: /usr/local/tomcat/instance1/{conf,logs,temp,work} 8081 8091
    instance2: /usr/local/tomcat/instance2/{conf,logs,temp,work} 8082 8092
    instance3: /usr/local/tomcat/instance3/{conf,logs,temp,work} 8083 8093
    webapps:
    拷贝原来单实例的webapps到/下
    webapps/ROOT

  2. 以单实例为基础
    [root@www ~]# /usr/local/tomcat/bin/shutdown.sh
  3. 配置多实例目录
    分别创建目录instance1 instance2 instance3,拷贝原来的/usr/local/tomcat下的conf,log,temp,work到3
    个目录下
    mkdir -v /usr/local/tomcat/instance{1..3}
    cp -av /usr/local/tomcat/{conf,logs,temp,work} /usr/local/tomcat/instance1/
    cp -av /usr/local/tomcat/{conf,logs,temp,work} /usr/local/tomcat/instance2/
    cp -av /usr/local/tomcat/{conf,logs,temp,work} /usr/local/tomcat/instance3/
    tree -d -L 2 /usr/local/tomcat/ 显示结果如下
    /usr/local/tomcat/
    ├── bin
    ├── instance1
    │ ├── conf
    │ ├── logs
    │ ├── temp
    │ └── work
    ├── instance2
    │ ├── conf
    │ ├── logs
    │ ├── temp
    │ └── work
    ├── instance3
    │ ├── conf
    │ ├── logs
    │ ├── temp
    │ └── work
    └── lib
  4. 配置实例server.xml
    Q:什么是html?什么是xml?
    A:html是超文本标记语言(hyper text markup language)。xml是可扩展标记语言。tomcat的配置文件
    通常是xml格式的文本。
    [root@www ~]# vim /usr/local/tomcat/instance1/conf/server.xml
    <!-- 以!--开头的代码是注释内容 -->
    <!-- <Connector port="8009" protocol="AJP/1.3" redirectPort="8443" /> -->
    <Server port="8091" shutdown="SHUTDOWN"> //修改8005(第22行)
    <Connector port="8081" protocol="HTTP/1.1" //删掉8080(第71行)和8009(第93行)的配置,添加此
    配置
    17/24
    connectionTimeout="20000"
    redirectPort="8443" />
    <Host name="localhost" appBase="/webapps" //修改网站基准目录(第125行),后期要将jsp项目的
    ROOT目录复制到/webapps目录中
    unpackWARs="true" autoDeploy="true">
    ......
    jsp网站项目的发布方法(必知):
    方法一:将软件开发部给你的.jar包复制到tomcat的webapps目录中,tomcat软件会自动发布这个jsp
    项目。
    方法二:将软件开发部给你的jsp的
    .tar.gz或*.zip文件解压,将解压后的ROOT目录复制到webapps目
    录中的某个子目录中。在访问这个jsp项目时,在网址中输入子目录的名称即可进入这个jsp的网站。
  5. 脚本内容
    [root@www ~]# vim /usr/local/tomcat/instance1/ins1.sh
    export JAVA_OPTS='-Xms64m -Xmx128m'
    手写脚本: vim /usr/local/tomcat/instance1/ins1.sh 脚本内容如下
    #!/bin/bash
    . /etc/init.d/functions
    export CATALINA_BASE="/usr/local/tomcat/instance1"
    case "$1" in
    start)
    $CATALINA_HOME/bin/startup.sh;;
    stop)
    $CATALINA_HOME/bin/shutdown.sh;;
    restart)
    $CATALINA_HOME/bin/shutdown.sh
    sleep 5
    $CATALINA_HOME/bin/startup.sh;;
    18/24
    esac
    export JAVA_OPTS='-Xms64m -Xmx128m'
    添加可执行权限:chmod -v +x /usr/local/tomcat/instance1/ins1.sh
    复制启动脚本:
    cp -av /usr/local/tomcat/instance1/ins1.sh /usr/local/tomcat/instance1/ins2.sh 复制后请修改脚本
    文件中的 CATALINA_BASE容器实例路径
    cp -av /usr/local/tomcat/instance1/ins1.sh /usr/local/tomcat/instance1/ins3.sh 同上

  6. 启动测试
    [root@www ~]# /usr/local/tomcat/instance1/ins1.sh start 然后用netstat -atunlp| grep :80
    [root@www ~]# /usr/local/tomcat/instance2/ins2.sh start
    [root@www ~]# /usr/local/tomcat/instance3/ins3.sh start
    [root@www ~]# ss -tnlp |grep :80 |column -t
    LISTEN 0 100 :::8081 ::: users:(("java",pid=7288,fd=48))
    LISTEN 0 100 :::8082 :::
    users:(("java",pid=7468,fd=48))
    LISTEN 0 100 :::8083 ::: users:(("java",pid=7496,fd=48))
    LISTEN 0 1 ::ffff:127.0.0.1:8091 :::
    users:(("java",pid=7288,fd=61))
    LISTEN 0 1 ::ffff:127.0.0.1:8092 ::: users:(("java",pid=7468,fd=61))
    LISTEN 0 1 ::ffff:127.0.0.1:8093 :::
    users:(("java",pid=7496,fd=61))
    <Server port="8091" 管理实例端口
    <Connector port="8081" protocol="HTTP/1.1 提供web服务端口
    <Connector port="8009" protocol="AJP/1.3" 用于前端如Apache通过AJP方式连接tomcat的端口
    19/24
    tomcat负载均衡
    Nginx配置
    [root@www tengine-2.2.0]# ./configure && make && make install
    [root@www ~]# vim /usr/local/nginx/conf/nginx.conf
    http {
    upstream tomcat_pool {
    #ip_hash;
    server 192.168.122.105:8081 weight=1 max_fails=2 fail_timeout=2;
    server 192.168.122.105:8082 weight=1 max_fails=2 fail_timeout=2;
    server 192.168.122.105:8083 weight=1 max_fails=2 fail_timeout=2;
    server 192.168.122.105:8084 weight=1 max_fails=2 fail_timeout=2;
    }
    server {
    location / {
    proxy_pass http://tomcat_pool;
    proxy_redirect off;
    proxy_set_header Host $host;
    proxy_set_header X-Real-IP $remote_addr;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    }
    }
    }
    session(会话)暂没有使用共享方式,目前采用的会话保持。即将同一个client的访问始终调度到同一后端实
    例。
    jvm基础知识
    20/24
    Class Loader:
    JVM通过模块将Class文件加载到JVM内存中。
    Execution Engine:
    执行引擎也叫解释器,负责解释命令,提交OS执行。

    Java的class只在需要的时候才内转载入内存,并由java虚拟机的执行引擎来执行,而执行引擎从总的来
    说主要的执行方式分为四种,
    第一种,一次性解释代码,也就是当字节码转载到内存后,每次需要都会重新的解析一次,
    第二种,即时解析,也就是转载到内存的字节码会被解析成本地机器码,并缓存起来以提高重用性,但是
    比较耗内存,
    第三种,自适应优化解析,即将java将使用最频繁的代码编译成本地机器码,而使用不频繁的则保持字节
    码不变,一个自适应的优化器可以使得java虚拟机在80%-90%的时间里执行优化过的本地代码,而只需要
    执行10%-20%对性能有影响的代码。
    第四种,一种能够利用本地方法直接解析java字节码的芯片。
    JNI:
    Java Native Interface直接操纵机器硬件,如Java程序驱动打印机。
    Stack:
    栈是在线程创建时创建,线程结束栈内存也释放,不存在GC问题。栈内存存储局部变量、程序运行状
    态、方法返回值等数据。栈中的数据以栈帧存在。栈帧是一个内存区块,是有关方法和运行期数据的数据
    集。当一个方法fun1被调用就产生一个栈帧Frame1,压入栈中,fun1方法又调用 fun2方法,产生栈帧
    Frame2压入栈。
    Heap:
    各条线程共享的运行时内存区域,所有类实例和数组对象分配内存的区域,由GC管理。堆可以划分为新
    生区、养老区和永久区,如下图。
    21/24
    新生代:
    类在这里产生和应用,最后被垃圾回收。所有的类在伊甸区被new出来,当伊甸区满了,GC会对该区不
    用的对象销毁,剩余有用的转到幸存区。
    老年代:
    用于存放生成周期比较长的对象。
    永久代:
    存放JDK自带的class,interface。
    注:
    allocation
    美音 /ˌælə'keʃən/
    1.n. 配给, 分配, 拨出
    2.分配额(或量)

    native
    美音 /'netɪv/
    1.adj. 本国的;土著的;与生俱来的;天然的;天赋的
    2.n. 本地人;土产;当地居民
    garbage
    美音 /'ɡɑrbɪdʒ/
    22/24
    n. 垃圾;废物
    tomcat优化
    内存溢出的处理办法(tomcat内存优化):
    Tomcat内存优化主要是对 tomcat 启动参数优化,我们可以在 tomcat 的启动脚本 catalina.sh(在此文件
    第一行开始添加新的设置即可)中设置 JAVA_OPTS 参数
    JAVA_OPTS=”-server -Xms800m -Xmx800m -XX:PermSize=64M
    -XX:MaxNewSize=256m -XX:MaxPermSize=128m -Djava.awt.headless=true ”
    -server 启用jdk 的 server 版;
    -Xms java虚拟机初始化时的初始堆大小;
    -Xmx java虚拟机可使用的最大堆大小;
    -XX:PermSize 内存永久保留区域
    -XX:MaxPermSize 内存最大永久保留区域(老生代对象能占用内存的最大值)
    -XX:MaxNewSize=size 新生成对象能占用内存的最大值

注:要加“m”说明是MB,否则就是KB,在启动tomcat时会报内存不足。
注:永久保存区:
PermGen space的全称是Permanent Generation space,是指内存的永久保存区域。这一部分用于存放
Class和Meta的信息,Class在被 Load的时候被放入PermGen space区域,它和存放Instance的Heap区域不
同,GC(Garbage Collection)不会在主程序运行期对PermGen space进行清理,所以如果你的APP会LOAD很
多CLASS的话,就很可能出现PermGen space错误。这种错误常见在web服务器对JSP进行pre compile的时
候。jvm的gc是不会清理PemGen space的,导致内存溢出

常见的内存溢出一般会有下面三种情况:
1.OutOfMemoryError: Java heap space //堆溢出,在JVM中如果98%的时间是用于GC且可用的
Heap size 不足2%的时候将抛出此异常信息
2.OutOfMemoryError: PermGen space //永久保存区域溢出
3.OutOfMemoryError: unable to create new native thread. //当JVM的heap size设置过大时,
thread的创建数量便会减少
解决:
1.调整-Xms -Xmx参数可以解决第一种情况

64位操作系统对堆内存大小无限制
堆的大小可以使用 java -XmxM -version 命令来测试,位置填写想设置的内存大小。支持的话
会出现jdk的版本号,不支持会报错。

-Xms -Xmx一般配置成一样比较好比如set JAVA_OPTS= -Xms1024m -Xmx1024m
注意:java -Xmx***M version 命令来测试的最大堆内存是 -Xmx与 -XX:PermSize的和,比如系统支持
最大的jvm堆大小事1.5G,那 -Xmx1024m -XX:PermSize=768M 是无法运行的

2.加大-XX:PermSize -XX:MaxPermSize来解决第二种情况
3.解决问题3方法如下:
1).如果程序中有bug,导致创建大量不需要的线程或者线程没有及时回收,那么必须解决这个bug,修
改参数是不能解决问题的。
2).如果程序确实需要大量的线程,现有的设置不能达到要求,那么可以通过修改MaxProcessMemory,
23/24
JVMMemory,ThreadStackSize这三个因素,来增加能创建的线程数:
a, MaxProcessMemory 使用64位操作系统
b, JVMMemory 减少JVMMemory的分配 使用tomcat的catalina.sh这里配置,JAVA_OPTS=-
Xms1024m -Xmx1024m -XX:PermSize=256M -XX:MaxNewSize=512m-XX:MaxPermSize=256m
c, ThreadStackSize 减小单个线程的栈大小
这个异常问题本质原因是:
我们创建了太多的线程,而能创建的线程数是有限制的,导致了异常的发生。
能创建的线程数的具体计算公式如下:
(MaxProcessMemory - JVMMemory - ReservedOsMemory) / (ThreadStackSize) = Number of
threads

MaxProcessMemory 指的是一个进程的最大内存
JVMMemory JVM内存
ReservedOsMemory 保留的操作系统内存
ThreadStackSize 线程栈的大小

在java语言里, 当你创建一个线程的时候,虚拟机会在JVM内存创建一个Thread对象同时创建一个操
作系统线程,而这个系统线程的内存用的不是JVMMemory,而是系统中剩下的内存(MaxProcessMemory -
JVMMemory - ReservedOsMemory)。由公式得出结论:你给JVM内存越多,那么你能创建的线程越少,越
容易发生java.lang.OutOfMemoryError: unable to create new native thread。


MaxProcessMemory(Maximum Address Space Per Process):
Operating System Maximum Address Space Per Process
Redhat Linux 32 bit 2 GB
Redhat Linux 64 bit 3 GB
Windows 98/2000/NT/Me/XP 2 GB


JVMMemory: Heap + PermGen

-XX:ThreadStackSize=512 设置线程栈大小,若为0则使用系统默认值(jdk1.5.0以后默认值为1M)

==============================================================================
线程池设置:
线程池指定Web请求负载的数量,因此,为获得更好的性能这部分应小心处理。可以通过调整连接器属
性“maxThreads”完成设置。maxThreads的值应该根据流量的大小,如果值过低,将有没有足够的线程来
处理所有的请求,请求将进入等待状态,只有当一个的处理线程释放后才被处理;如果设置的太大,
Tomcat的启动将花费更多时间。因此它取决于我们给maxThreads设置一个正确的值。
#vim server.xml
<Connector port="8080" protocol="HTTP/1.1"
maxThreads="500"
connectionTimeout="20000"
redirectPort="8443" />
在上述配置中,maxThreads值设定为“500”,这指定可以由服务器处理的并发请求的最大数量。如果没有
指定,这个属性的默认值为“200”。任何多出的并发请求将收到“拒绝连接”的错误提示,直到另一个处理请
求进程被释放。错误看起来如下,
[ org.apache.tomcat.util.threads.ThreadPool logFull SEVERE: All threads (500) are currently busy, waiting. Increase maxThread
最好使用“Tomcat集群”的多个实例。也就是说,如果有“1000”请求,两个Tomcat实例设
置“maxThreads= 500”,而不在单Tomcat实例的情况下设置maxThreads=1000。

24/24
<Connector port="9027"
protocol="HTTP/1.1"
maxHttpHeaderSize="8192"
maxThreads="1000"
minSpareThreads="100"
maxSpareThreads="1000"
minProcessors="100"
maxProcessors="1000"
enableLookups="false"
URIEncoding="utf-8"
acceptCount="1000"
redirectPort="8443"
disableUploadTimeout="true"/>
参数说明:
maxThreads 客户请求最大线程数
minSpareThreads Tomcat初始化时创建的 socket 线程数
maxSpareThreads Tomcat连接器的最大空闲 socket 线程数
enableLookups 若设为true, 则支持域名解析,可把 ip 地址解析为主机名
redirectPort 在需要基于安全通道的场合,把客户请求转发到基于SSL 的 redirectPort 端口
acceptAccount 监听端口队列最大数,满了之后客户请求会被拒绝(不能小于
maxSpareThreads )
connectionTimeout 连接超时
minProcessors 服务器创建时的最小处理线程数
maxProcessors 服务器同时最大处理线程数
URIEncoding URL统一编码

查看内存设置和使用信息:
[root@nfs conf]# lsof -i:8080
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
java 1903 root 46u IPv6 16003 0t0 TCP *:webcache (LISTEN)
[root@nfs conf]# jmap -heap 1903

打war部署(扩展):
选中eclipse中的jeecms项目,右键->Export->WAR file,生成xxx.war
将xxx.war放入本机tomcat安装目录下的webapps文件夹中,确保webapps下不包含名为xxx的文件夹,启
动tomcat

转载于:https://blog.51cto.com/14173127/2376191

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值