1. 程式人生 > >57.tomcat介紹 安裝jdk和tomcat

57.tomcat介紹 安裝jdk和tomcat

16.1 Tomcat介紹

16.2 安裝jdk

16.3 安裝Tomcat

擴充套件

java容器比較 http://my.oschina.net/diedai/blog/271367 

http://www.360doc.com/content/11/0618/21/16915_127901371.shtml

j2ee、j2se、ejb、javabean、serverlet、jsp之間關係 http://bbs.csdn.net/topics/50015576

tomcat server.xml配置詳解 http://blog.csdn.net/yuanxuegui2008/article/details/6056754

tomcat常用資料庫連線的方法 http://wjw7702.blog.51cto.com/5210820/1109263

 

 

 

16.1 Tomcat介紹:

 

 

之前已經學過了LAMP、LNMP,這是針對的php語言(針對web開發非常流行的語言)。早期流行的是ASP(在windows平臺上執行的程式語言,但是針對他的不安全性,越來越多的人去php開發網站)。

那麼還有一種語言是JAVA(是一種非常龐大的開發語言)。不僅僅可以開發網站的程式,也可以開發大型的軟體、工具甚至遊戲。

~1.Tomcat是Apache軟體基金會(Apache Software Foundation)的Jakarta專案中的一個核心專案,由Apache、Sun和其他一些公司及個人共同開發而成。

~2.java程式寫的網站用tomcat+jdk來執行

當然php寫的要用php解析

~3.tomcat是一箇中間件,真正起作用的,解析java指令碼的是jdk

~4.jdk(java development kit)是整個java的核心,它包含了java執行環境和一堆java相關的工具以及java基礎庫。

~5.最主流的jdk為sun公司釋出的jdk,除此之外,其實IBM公司也有釋出JDK,CentOS上也可以用yum安裝openjdk

 

 

 

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

 

 

 

16.2 安裝jdk:

 

 

 

 

~1.jdk版本1.6,1.7,1.8

~2.官網下載地址 http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html

~3.下載jdk8,放到/usr/local/src/目錄下

~4.tar zxvf jdk-8u144-linux-x64.tar.gz

~5.mv jdk1.8.0_144 /usr/local/jdk1.8

~6.vi /etc/profile //最後面增加 也就是定義這幾個的環境變數

JAVA_HOME=/usr/local/jdk1.8/

JAVA_BIN=/usr/local/jdk1.8/bin

JRE_HOME=/usr/local/jdk1.8/jre

PATH=$PATH:/usr/local/jdk1.8/bin:/usr/local/jdk1.8/jre/bin

CLASSPATH=/usr/local/jdk1.8/jre/lib:/usr/local/jdk1.8/lib:/usr/local/jdk1.8/jre/lib/charsets.jar

~7.source /etc/profile

~8.java -version 檢驗jdk有沒有安裝成功

 

 

例項:

 

 

 

在xshell介面下按Ctrl+Alt+F,開啟xftp。將下號的這個jdk包先拖到root下來

[root@afeilinux-01 ~]# cd /usr/local/src/ 回到linux上來,cd到src下

[root@afeilinux-01 src]# mv /root/jdk-8u181-linux-x64.tar.gz . mv到src下

[root@afeilinux-01 src]# ls 看一下是否有這個tar包

apr-1.6.5         apr-util-1.6.1.tar.gz  jdk-8u101-linux-x64.tar.gz                  nginx-1.8.0.tar.gz          php-5.6.32.tar.gz  phpredis-develop
apr-1.6.5.tar.gz  httpd-2.4.39           mysql-5.6.43-linux-glibc2.12-x86_64.tar.gz  p7zip_9.13_src_all.tar.bz2  php-7.1.6          phpredis-develop.zip
apr-util-1.6.1    httpd-2.4.39.tar.gz    nginx-1.8.0                                 php-5.6.32                  php-7.1.6.tar.bz2

[root@afeilinux-01 src]# tar -xvf jdk-8u101-linux-x64.tar.gz

[root@afeilinux-01 src]# du -sh jdk1.8.0_101/

352M	jdk1.8.0_101/

[root@afeilinux-01 src]# mv jdk1.8.0_101 /usr/local/jdk1.8 挪地方改名字

[root@afeilinux-01 src]# vim /etc/profile 定義這幾個的環境變數

增加內容

JAVA_HOME=/usr/local/jdk1.8/

JAVA_BIN=/usr/local/jdk1.8/bin

JRE_HOME=/usr/local/jdk1.8/jre

PATH=$PATH:/usr/local/jdk1.8/bin:/usr/local/jdk1.8/jre/bin

CLASSPATH=/usr/local/jdk1.8/jre/lib:/usr/local/jdk1.8/lib:/usr/local/jdk1.8/jre/lib/charsets.jar

[root@afeilinux-01 src]# source /etc/profile source一下,讓他生效

[root@afeilinux-01 src]# java -version 檢驗jdk有沒有安裝成功。出現一下結果表示沒問題

java version "1.8.0_101" 是不是我們安裝的那個版本

Java(TM) SE Runtime Environment (build 1.8.0_101-b13)

Java HotSpot(TM) 64-Bit Server VM (build 25.101-b13, mixed mode)

java version "1.8.0_101"
Java(TM) SE Runtime Environment (build 1.8.0_101-b13)
Java HotSpot(TM) 64-Bit Server VM (build 25.101-b13, mixed mode)

 

[root@afeilinux-01 src]# rpm -qa |grep openjdk

假如出來的不是以上的結果。比如版本不一致,或者什麼openjdk,先看一下是不是安裝過openjdk這個包。使用這個命令搜一下。如果真的出現這個問題,安裝了這個包,那麼可以解除安裝他,但前提是我們是我們做實驗的虛擬機器上的。

在生產環境中如果出現這種情況,rpm -pa的時候有這個包。不要隨便的解除安裝一個包,是因為系統裡可能有一個程式在使用openjdk。

[root@afeilinux-01 src]# yum list |grep openjdk 可以看一下這個包。有很多的版本。加入想安裝1.8的,就把java-1.8.0-openjdk.x86_64這個安裝上,也可以將他的1.8的全部安裝上。

 

 

 

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

 

 

 

 

16.3 安裝Tomcat:

 

 

 

 

tomcat是一箇中間件,真正起作用的是jdk,但是沒有tomcat還不行。沒有辦法去監聽80或者8080埠,也沒有辦法讓客戶端或者說瀏覽器直接去訪問這個站點。因為沒有webserver,這個Tomcat就是webserver。只不過他需要依賴jdk

~1.cd /usr/local/src

~2.wget http://apache.fayea.com/tomcat/tomcat-8/v8.5.29/bin/apache-tomcat-8.5.43.tar.gz

~3.tar zxvf apache-tomcat-8.5.43.tar.gz

~4.mv apache-tomcat-8.5.43 /usr/local/tomcat

~5./usr/local/tomcat/bin/startup.sh

就可以直接啟動起來了

~6.ps aux|grep tomcat

~7.netstat -lntp |grep java

~8.三個埠:

8080為提供web服務的埠(平時用的。比如在瀏覽器上做測試就用:8080)

8005為管理埠(有時候會啟動很慢)

8009埠為第三方服務呼叫的埠,比如httpd和Tomcat結合時會用到(作為了解)

 

 

 

 

例項:

先去官網下載tomcat8:

[root@afeilinux-01 src]# ls

apache-tomcat-8.5.43             apr-1.6.5         apr-util-1.6.1.tar.gz  jdk-8u101-linux-x64.tar.gz                  nginx-1.8.0.tar.gz          php-5.6.32.tar.gz  phpredis-develop
apache-tomcat-8.5.43-src.tar.gz  apr-1.6.5.tar.gz  httpd-2.4.39           mysql-5.6.43-linux-glibc2.12-x86_64.tar.gz  p7zip_9.13_src_all.tar.bz2  php-7.1.6          phpredis-develop.zip
apache-tomcat-8.5.43.tar.gz      apr-util-1.6.1    httpd-2.4.39.tar.gz    nginx-1.8.0                                 php-5.6.32                  php-7.1.6.tar.bz2

[root@afeilinux-01 src]# tar -xvf apache-tomcat-8.5.43.tar.gz

[root@afeilinux-01 src]# mv apache-tomcat-8.5.43 /usr/local/tomcat

[root@afeilinux-01 src]# /usr/local/tomcat/bin/startup.sh

Using CATALINA_BASE:   /usr/local/tomcat
Using CATALINA_HOME:   /usr/local/tomcat
Using CATALINA_TMPDIR: /usr/local/tomcat/temp
Using JRE_HOME:        /usr/local/jdk1.8
Using CLASSPATH:       /usr/local/tomcat/bin/bootstrap.jar:/usr/local/tomcat/bin/tomcat-juli.jar
Tomcat started.

[root@afeilinux-01 src]# ps aux|grep java 同樣會開啟java

root       1627  4.0  7.4 2290196 73904 pts/0   Sl   11:00   0:03 /usr/local/jdk1.8/bin/java -Djava.util.logging.config.file=/usr/local/tomcat/conf/logging.properties -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager -Djdk.tls.ephemeralDHKeySize=2048 -Djava.protocol.handler.pkgs=org.apache.catalina.webresources -Dorg.apache.catalina.security.SecurityListener.UMASK=0027 -Dignore.endorsed.dirs= -classpath /usr/local/tomcat/bin/bootstrap.jar:/usr/local/tomcat/bin/tomcat-juli.jar -Dcatalina.base=/usr/local/tomcat -Dcatalina.home=/usr/local/tomcat -Djava.io.tmpdir=/usr/local/tomcat/temp org.apache.catalina.startup.Bootstrap start
root       1684  0.0  0.0 112724   988 pts/0    R+   11:02   0:00 grep --color=auto java

[root@afeilinux-01 src]# netstat -lntp |grep java 會開啟以下三個埠

tcp6       0      0 127.0.0.1:8005          :::*                    LISTEN      1627/java           
tcp6       0      0 :::8009                 :::*                    LISTEN      1627/java           
tcp6       0      0 :::8080                 :::*                    LISTEN      1627/java

[root@afeilinux-01 src]# systemctl stop firewalld 關閉防火牆(為的是在瀏覽器上訪問8080)

[root@afeilinux-01 src]# systemctl disable firewalld 並不開機啟動

[root@afeilinux-01 src]# iptables -nvL 檢視是否有規則,已經沒有了

Chain INPUT (policy ACCEPT 0 packets, 0 bytes)
 pkts bytes target     prot opt in     out     source               destination         

Chain FORWARD (policy ACCEPT 0 packets, 0 bytes)
 pkts bytes target     prot opt in     out     source               destination         

Chain OUTPUT (policy ACCEPT 0 packets, 0 bytes)
 pkts bytes target     prot opt in     out     source               destination

在瀏覽器上訪問http://192.168.30.134:8080/ #為8080埠