16.1 Tomcat介紹php
16.2 安裝jdkhtml
16.3 安裝Tomcatjava
擴展mysql
java容器比較 http://my.oschina.net/diedai/blog/271367 linux
http://www.360doc.com/content/11/0618/21/16915_127901371.shtmlnginx
j2ee、j2se、ejb、javabean、serverlet、jsp之間關係 http://bbs.csdn.net/topics/50015576web
tomcat server.xml配置詳解 http://blog.csdn.net/yuanxuegui2008/article/details/6056754redis
tomcat經常使用數據庫鏈接的方法 http://wjw7702.blog.51cto.com/5210820/1109263sql
16.1 Tomcat介紹:shell
以前已經學過了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@axinlinux-01 ~]# cd /usr/local/src/ 回到linux上來,cd到src下
[root@axinlinux-01 src]# mv /root/jdk-8u181-linux-x64.tar.gz . mv到src下
[root@axinlinux-01 src]# ls 看一下是否有這個tar包
apr-1.6.3 httpd-2.4.34.tar.gz nginx-1.8.0.tar.gz phpredis-develop
apr-1.6.3.tar.gz jdk-8u181-linux-x64.tar.gz php-5.6.32 phpredis-develop.zip
apr-util-1.6.1 mariadb-10.2.6-linux-glibc_214-x86_64.tar.gz php-5.6.32.tar.bz2
apr-util-1.6.1.tar.gz mysql-5.6.39-linux-glibc2.12-x86_64.tar.gz php-7.1.6
httpd-2.4.34 nginx-1.8.0 php-7.1.6.tar.bz2
[root@axinlinux-01 src]# tar -xvf jdk-8u181-linux-x64.tar.gz
[root@axinlinux-01 src]# du -sh jdk1.8.0_181/
368M jdk1.8.0_181/
[root@axinlinux-01 src]# mv jdk1.8.0_181 /usr/local/jdk1.8 挪地方更名字
[root@axinlinux-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@axinlinux-01 src]# source /etc/profile source一下,讓他生效
[root@axinlinux-01 src]# java -version 檢驗jdk有沒有安裝成功。出現一下結果表示沒問題
java version "1.8.0_181" 是否是咱們安裝的那個版本
Java(TM) SE Runtime Environment (build 1.8.0_181-b13)
Java HotSpot(TM) 64-Bit Server VM (build 25.181-b13, mixed mode)
[root@axinlinux-01 src]# rpm -qa |grep openjdk
假如出來的不是以上的結果。好比版本不一致,或者什麼openjdk,先看一下是否是安裝過openjdk這個包。使用這個命令搜一下。若是真的出現這個問題,安裝了這個包,那麼能夠卸載他,但前提是咱們是咱們作實驗的虛擬機上的。
在生產環境中若是出現這種狀況,rpm -pa的時候有這個包。不要隨便的卸載一個包,是由於系統裏可能有一個程序在使用openjdk。
[root@axinlinux-01 src]# yum list |grep openjdk 能夠看一下這個包。有不少的版本。加入想安裝1.8的,就把java-1.8.0-openjdk.x86_64這個安裝上,也能夠將他的1.8的所有安裝上。
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
16.3 安裝Tomcat:
tomcat是一箇中間件,真正起做用的是jdk,可是沒有taocat還不行。沒有辦法去監聽80或者8080端口,也沒有辦法讓客戶端或者說瀏覽器直接去訪問這個站點。由於沒有webserver,這個Tomcat就是webserver。只不過他須要依賴jdk
~1.cd /usr/local/src
阿鑫在作的時候,地址都已生效。在windows上去官網下載的,又xftp到linux上的
~3.tar zxvf apache-tomcat-8.5.20.tar.gz
~4.mv apache-tomcat-8.5.20 /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結合時會用到(做爲了解)
實例:
先去官網下載tomcat7:
再用xftp傳到linux上
[root@axinlinux-01 src]# ls
apache-tomcat-7.0.90.tar.gz httpd-2.4.34 nginx-1.8.0 php-7.1.6.tar.bz2
apr-1.6.3 httpd-2.4.34.tar.gz nginx-1.8.0.tar.gz phpredis-develop
apr-1.6.3.tar.gz jdk-8u181-linux-x64.tar.gz php-5.6.32 phpredis-develop.zip
apr-util-1.6.1 mariadb-10.2.6-linux-glibc_214-x86_64.tar.gz php-5.6.32.tar.bz2
apr-util-1.6.1.tar.gz mysql-5.6.39-linux-glibc2.12-x86_64.tar.gz php-7.1.6
[root@axinlinux-01 src]# tar -xvf apache-tomcat-7.0.90.tar.gz
[root@axinlinux-01 src]# mv apache-tomcat-7.0.90 /usr/local/tomcat
[root@axinlinux-01 src]# /usr/local/tomcat/bin/startup.sh
[root@axinlinux-01 src]# ps aux|grep java 一樣會開啓java
root 1819 0.6 7.1 2992820 134696 pts/0 Sl 13:41 0:13 /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 -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 2309 0.0 0.0 112720 980 pts/0 S+ 14:18 0:00 grep --color=auto java
[root@axinlinux-01 src]# netstat -lntp |grep java 會開啓如下三個端口
tcp6 0 0 :::8080 :::* LISTEN 1819/java
tcp6 0 0 127.0.0.1:8005 :::* LISTEN 1819/java
tcp6 0 0 :::8009 :::* LISTEN 1819/java
[root@axinlinux-01 src]# systemctl stop firewalld 關閉防火牆(爲的是在瀏覽器上訪問8080)
[root@axinlinux-01 src]# systemctl disable firewalld 並不開機啓動
[root@axinlinux-01 src]# iptables -nvL 查看是否有規則,已經沒有了
Chain INPUT (policy ACCEPT 1144 packets, 9211K 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 1213 packets, 176K bytes)
pkts bytes target prot opt in out source destination
在瀏覽器上訪問http://192.168.208.128:8080/ #爲8080端口