java:
程式設計語言:
系統級:c ,c++,go
應用級:c#,java,python,perl,ruby,php
虛拟機:jvm,pvm
動态網站:.asp .net jsp
動态網站:
用戶端動态:
伺服器動态:
CGI
webapp server:
jsp:tomcat,jboss,jetty,resin
php: php-fpm
1995:Java 1.0 write once,run anywhere
1996:JDK,包含一個JVM
1997:JDK 1.1
jar文檔個數,JDBC ,JavaBeans
1998:JDK 1.2
Sun把Java技術拆分為三個方向:
J2SE:Standard Edition
J2EE:Enterprise Edition
J2ME:Mobile Edition
JIT編譯器:Just In Time 即時編譯器
2000:JDK 1.3
1999:HotSpot虛拟機
2002:JDK 1.4
2006年,SUN開源了JAVA技術;
虛拟機:JRockit,HostSpot
java體惜結構:
java程式設計語言:
java class檔案格式:
java API:
java VM:
JVM的核心組成部分:
class loader
執行引擎
java程式設計語言的特性:
面向對象,多線程,結構化錯誤處理
垃圾收集,支援動态連結,動态擴充
TOMCAT:
核心元件:
catalina:servlet contniner
coyote:http connection
jasper:JSP Engine
目錄結構
bin:腳本及啟動時用到的類
lib:類庫
conf:配置檔案
logs:日志
webapps:應用程式
work:工作目錄
temp:臨時檔案目錄
部署後添加
vim /etc/profile.d/java.sh
export JAVA_HOME=/usr/java/latest
export PATH=$JAVA_HOME/bin:$PATH
. /etc/profile.d/java.sh
vim /etc/profile.d/tomcat.sh
export CATALINA_BASE=/usr/local/tomcat
export PATH=$CATALINA_BASE/bin:$PATH
. /etc/profile.d/tomcat.sh
配置檔案:
server.xml:主配置檔案
context.xml:每個webapp都可以有專用的配置檔案,這些配置檔案通常位于webapp應用程式
下得WEB-INF目錄,用于定義會話管理器,JDBC等,
web.xml:每個webapp部署之後才能被通路,此檔案用于為所有的webapp提供預設部署位置
tomcat-users.xml:使用者認證的賬号密碼配置檔案;
catalina.policy:用于實作安全運作政策
catalina.properties:JAVA屬性的定義檔案,用于設定類加載器路徑等,以及一些jvm調優參數
logging.properties:日志相關的配置資訊
将源檔案放到webapp裡面
測試:jsp
<%@ page language="java" %>
<%@ page import="java.util.*" %>
<html>
<head>
<title>jsp test page</title>
</head>
<body>
<% out.println("hello,world."); %>
</body>
</html>
啟動,catalina start
catalina stop
通路manager app 需要配置tomcat-users.xml,然後重新開機啟動tomcat。
<role rolename="manager-gui"/>
<user username="tomcat" password="tomcat" roles="manager-gui"/>
啟用https
keytool -genkeypair -alias "tomcat" -keyalg "RSA" -keystore "/usr/local/tomcat/tomcat.keystore"
密鑰密碼:123456
名字與姓氏:172.16.6.14
後面的随便填寫。
vim server.xml
登出:<!--<Listener className="org.apache.catalina.core.AprLifecycleListener" SSLEngine="on" />-->
添加:
<Connector port="8443" protocol="org.apache.coyote.http11.Http11Protocol"
maxThreads="150" SSLEnabled="true" scheme="https" secure="true"
clientAuth="false" sslProtocol="TLS" keystoreFile="/usr/local/tomcat/tomcat.keystore" keystorePass="123456" />
LNMT:
用nginx反向代理實作動靜分離
location ~* \.(jsp|do)$ {
proxy_pass http://172.16.6.14:8080;
}
LAMT:
反向代理子產品:
主:proxy_module
子:proxy_module_http,proxy_module_ajp
第三方子產品:jk(基于ajp協定)