tomcat實踐
tomcat實踐
[@more@]Tomcat 安裝
apache-tomcat-6.0.20.tar.gz
apache是一個開源專案,tomcat是其子專案,屬於apache的基金會的
1.先裝JDK
jdk-6u17-linux-i586.bin
如果沒有可執行的許可權,chmod修改其許可權
2.檢視系統是否裝jdk
使用java命令,按tab鍵,看是否補齊,
java -version 檢視版本,一般用1.6版本
rpm -qa | grep jdk
rpm -e jdk
安裝完會在當前目錄下生成jdk目錄
mv jdk1.6.0 /usr/local/
做環境變數:
在啟動指令碼中新增:
JAVA_HOME=/usr/local/jdk1.6.0_17/設定環境變數
JAVA_BIN=/usr/local/jdk1.6.0_17/bin
JRE_HOME=/usr/local/jdk1.6.0_17/jre
PATH=/usr/local/jdk1.6.0_17/bin/:$PATH
CLASSPATH=./:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export JAVA_HOME JAVA_BIN JRE_HOME PATH CLASSPATH
注意,有時 JRE_HOME為JAVA_JRE
然後source一下這個啟動指令碼
#source /etc/profile
然後檢查一下是否安裝成功,
(1).檢查java是否補齊
(2).檢視版本資訊java -version
另一種方法:建立軟連結
3.apache-tomcat-6.0.20.tar.gz
解壓,生成目錄,該目錄直接就能用,不用再去編譯
mv apache-tomcat-*** /usr/local/tomcat
進入該目錄的bin目錄下,啟動關閉的指令碼在該目錄下
驅動放在lib目錄下,但是這裡有一個不好的地方,如果這個tomcat承載多個專案(mysql 和 oracle),不好管理,lib是一個全域性的,為了區分,將各自專案,將驅動放入不同的目錄下
logs裡面是日誌
conf是配置檔案,主配置檔案是server.xml
第22行,很重要,如果給8005觸發一下,就關掉了
第67行,為什麼tomcat啟動時候,預設埠為8080,原因在此
第88行,協議是AJP協議,如果與apache結合的時候,也可以交給後端的8009也可以
第126行,配置虛擬主機,webapps,相當於apache的DocumentRoot,如果做虛擬主機注意標籤的配對
這個時候啟動一下startup.sh
#/usr/lcoal/tomcat/bin/startup.sh
如果發現沒有起服務成功檢視日誌
/usr/lcoal/tomcat/logs 記錄服務啟動關閉的資訊
同時也要注意根據當前環境修改一下startup.sh指令碼,
netstat檢視埠是否開啟
logs/目錄下
tail -f catalina.out
正常情況下,要做日誌擷取
測試,firefox
讀取的頁面時在這個目錄下,需要jsp語言來寫
tomcat/webapps/ROOT/
3.製作虛擬主機
在主配置檔案中
126-128行復制一下,放到下面,然後在新複製的內容,補齊一個
name為虛擬主機的域名 修改一下根為website
需要在tomcat/website/目錄下建立一個ROOT目錄,ROOT為預設讀取的目錄,要訪問的目錄要放在這個ROOT中
改完配置檔案一定要重啟服務
4.加入sysv
預設已經做好了,需要修改一些東西
(1)、cp tomcat/bin/catalina.sh /etc/init.d/tomcatd
(2)、chmod 一個可執行許可權
(3)、vim tomcatd
將其他標準的服務指令碼的關於chkconfig那塊的的資訊複製到這個tomcatd指令碼即可
5.
注意的問題:
1).預設檔案,在conf/下得web.xml檔案中1190行
2).配置許可權:conf下有個一個tomcat-users.xml檔案 19行開始
rolename為角色的名字
username使用者名稱
password密碼
roles扮演的角色
6.製作jive的bbs
1)破解
unzip jive.zip
cd jive
主程式就是jive_forums_pro_4_2_3
cp -raf jive_forums_pro_4_2_3 /usr/local/tomcat/webapps/jive
/usr/local/tomcat/webapps/jive/crack/patcher.jar /usr/local/
java -jar patcher.jar破解一下
/usr/local/tomcat/webapps/jive目錄下新建一個檔名為jive.lincese
2)回到主頁面的manager介面,多出一個jive行
3)/usr/local/src/mysql-connector-java-3.1.14-bin.jar放到/usr/local/tomcat/lib下
4)啟mysql
mysqladmin -uroot password 'lei'
5)mysql -p 直接以root使用者進
進入mysql
>create databases jivedb;
>grant all privileges on jivedb.* to jiveuser @ 'localhost' identified by 'lei'
>flush privileges;
#mysql -uroot -plei jivedb < /usr/local/tomcat/webapps/jive/database/jive_forums_mysql.sql
>use jivedb;
> show tables;
ls -l /usr/local/tomcat/webapps/jive/jiveHome
然後回到剛才的網頁頁面,添下jiveHome和license然後 重新提交,點選continue
然後選擇第一項標準的
然後選mysql com.mysql.jdbc.Driver 127.0.0.1:3306/jivedb
jiveuser lei
若發現驅動不能載入的錯誤警告,需要將tomcat重新啟動一下
繼續continue
然後選擇default
然後
然後 admin 點skip
然後使用者名稱和密碼登陸
動靜分離:
靜態東東西由apache處理,動態由tomcat處理
步驟:
1)安裝apache
在其配置檔案中,需要LoadModule 一個mod_jk2模組
2)jakarta-tomcat-connectors-jk2-2.0.4-src.tar.gz
解包
進入產生的目錄中,再進入jk/
native2目錄下面執行./configure –help | grep apxs
列出兩條,要用apxs2這個
./configure –with-apxs2=/usr/local/apache2/bin/apxs
make
執行完會生成一個模組,將這個模組複製到/usr/local/apache2/module下
然後修改剛才說過的那個配置檔案,複製一行LoadModule jk2_module
重啟apache服務
此時server怎麼知道當遇到jsp的檔案時交給tomcat呢?
烤一個檔案??????????
works2.
[uri:/*.jsp]
info=*******
[uri:/*.gif] 將圖片也交給tomcat處理
info=*******
另一種方式:
去掉[uri:/*.gif] 將圖片也交給tomcat處理
info=*******
將apache配置檔案的DocumentRoot指向tomcat
注意許可權問題(user 所用的使用者)和根容器那塊的deny all的問題
這時,圖片由apache來處理,jsp頁面由tomcat處理
可以再apache配置檔案中在預設訪問介面中加入index.jsp
當apache配置中,將DocumentRoot指向tomcat站點根時,當點manager或其他標籤時,發現會404錯誤,所以需要
[uri:/jive/*]
info=*******
[uri:/manager/*]
info=*******
當然這裡也可以用虛擬主機實現
192.168.1.1/jive
192.168.1.1/manager
rpm -qf `which /sbin/apxs`
-------------------------------------------------------------
1安裝jdk
[root@localhost ~]# cd /usr/local/src
[root@localhost tomcat]#sh jdk-6u17-linux-i586.bin
[root@localhost tomcat]# cp -r jdk1.6.0_17/ /usr/local/jdk1.6.0_17/
[root@localhost ~]#vim /etc/profile
#set java environment
JAVA_HOME=/usr/local/jdk1.6.0_17
JAVA_BIN=/usr/local/jdk1.6.0_17/bin
JAVA_JRE=/usr/local/jdk1.6.0_17/jre
PATH=$PATH://usr/local/jdk1.6.0_17/bin
CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export JAVA_HOME JAVA_BIN JRE_HOME PATH CLASSPATH
[root@localhost ~]# source /etc/profile
安裝tomcat
[root@localhost tomcat]# tar zxf apache-tomcat-6.0.20.tar.gz -C /usr/local/
[root@localhost tomcat]# cd /usr/local/
[root@localhost local]# mv apache-tomcat-6.0.20/ tomcat
[root@localhost ~]#cp -p /usr/local/tomcat/bin/catalina.sh /etc/init.d/tomcat
[root@localhost ~]#vim /etc/init.d/tomcat
# chkconfig: 2345 63 37
# description: tomcat server init script
JAVA_HOME=/usr/local/jdk1.6.0_17/
CATALINA_HOME=/usr/local/tomcat
設定tomcat
[root@localhost local]# vim /usr/local/tomcat/conf/server.xml
[root@localhost local]# /usr/local/tomcat/bin/shutdown.sh
[root@localhost local]# /usr/local/tomcat/bin/startup.sh
[root@localhost tomcat]# cd /usr/local/src/
[root@localhost tomcat]# unzip jive.zip
[root@localhost tomcat]# cd jive
[root@localhost jive]# cp crack/patcher.jar jive_forums_pro_4_2_3/WEB-INF/lib/
[root@localhost jive]# cd !$
[root@localhost lib]# /usr/local/jdk/bin/java -jar patcher.jar
[root@localhost lib]# cd /root/tomcat/jive
[root@localhost jive]# mv jive_forums_pro_4_2_3/ /usr/local/tomcat/webapps/jive/
[root@localhost jive]# cd /usr/local/tomcat6.0/webapps/jive/jiveHome/
[root@localhost jive]# touch jive.license
JDBC(Java Data Base Connectivity,java資料庫連線)是一種用於執行SQL語句的Java API
http://192.168.1.254:8080/
netstat -ntlp | grep 8080
[root@localhost conf]# vim /usr/local/tomcat6.0/conf/tomcat-users.xml
~
restart tomcat服務
---------------------
3、部署
[root@localhost jiveHome]# pwd
/usr/local/tomcat6.0/webapps/jive/jiveHome
mysql> create database jivedb;
Query OK, 1 row affected (0.00 sec)
mysql> grant all on jivedb.* to jiveuser@localhost identified by '123';
Query OK, 0 rows affected (0.01 sec)
mysql>
[root@localhost database]# pwd
/usr/local/tomcat6.0/webapps/jive/database
[root@localhost database]# mysql jivedb < jive_forums_mysql.sql
-------------------
[root@localhost database]# mysql -u root -p123 jivedb < jive_forums_mysql.sql
-------------
[root@localhost database]# ls /var/lib/mysql/jivedb/
====================
[root@localhost tomcat_package]# tar zxvf mysql-connector-java-3.1.14.tar.gz
[root@localhost tomcat_package]# cp mysql-connector-java-3.1.14/mysql-connector-java-3.1.14-bin.jar /usr/local/tomcat6.0/lib/
restart tomcat
start mysql
============
==============
==============
安裝apache,啟動apache
生成jk2模組,讓apache LoadModule . 呼叫 tomcat的模組
[root@localhost tomcat_package]# tar zxvf jakarta-tomcat-connectors-jk2-2.0.4-src.tar.gz
[root@localhost tomcat_package]# mv jakarta-tomcat-connectors-jk2-2.0.4-src /usr/local/tomcat-connect
[root@localhost native2]# pwd
/usr/local/tomcat-connect/jk/native2
yum install http-devel
which apxs
/usr/sbin/apxs
[root@localhost native2]# ./configure --with-apxs2=/usr/sbin/apxs
[root@localhost native2]# make
[root@localhost native2]# make install
make: *** No rule to make target `install'. Stop.
[root@localhost apache2]# pwd
/usr/local/tomcat-connect/jk/build/jk2/apache2
[root@localhost apache2]# cp mod_jk2.so /etc/httpd/modules/
[root@localhost apache2]# vim /etc/httpd/conf/httpd.conf
[root@localhost apache2]# grep jk2 /etc/httpd/conf/httpd.conf
LoadModule jk2_module modules/mod_jk2.so
/usr/local/apache2/bin/apxs
寫配置檔案定義什麼情況下透過jk2模組找tomcat
[root@localhost jk]# cp /usr/local/tomcat-connect/jk/conf/workers2.properties /etc/httpd/conf/
[root@localhost jk]# vim /etc/httpd/conf/workers2.properties
[uri:/jive/*]
info=map the tomcat
[uri:/manager/*]
info=map the tomcat
[uri:/*.jsp]
info=map the tomcat
service httpd restart
總結:
動靜分離:靜態介面交給apache,動態介面交給tomcat,這樣達到了網路最佳化動靜分離
apache監聽80埠,tomcat監聽8080埠,預設使用者請求從80埠進入,發現有jsp介面的請求,這個時候交給tomcat處理,這裡他們之間需要一個銜接工具mod_jk2(80)、ajp(8009)
如果將tomcat的埠號改為80,則所有東西都有tomcat處理
apache不可動態處理
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/23168012/viewspace-1052523/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Nginx+SSL+Tomcat+CDN部署總結,已實踐有效NginxTomcat
- JBoss JBPM 實踐系列(一)--- 安裝配置(Tomcat 6.0 + MySQL 5.1)TomcatMySql
- 【實踐】Docker for Windows 製作tomcat 映象並上傳至 docker 倉庫DockerWindowsTomcat
- java實踐:tomcat_簡化版_服務呼叫(不含網路和協議)JavaTomcat協議
- Tomcat 實用小技巧Tomcat
- Tomcat程式碼實現Tomcat
- Tomcat實現Web SocketTomcatWeb
- Tomcat如何實現WebSocketTomcatWeb
- 【Tomcat】Tomcat工作原理及簡單模擬實現Tomcat
- Golang 高效實踐之併發實踐Golang
- vue實踐06-專案實踐Vue
- Tomcat中的session實現TomcatSession
- 應用實踐——新東方實時數倉實踐
- Golang 高效實踐之defer、panic、recover實踐Golang
- ReactNative學習實踐:Navigator實踐React
- 通義靈碼實踐教程——效能實踐
- lerna實踐
- SearchGuard 實踐
- Flutter實踐Flutter
- flask實踐Flask
- SQL實踐SQL
- TypeScript 實踐TypeScript
- Truffle實踐
- Nuxt 實踐UX
- RestTemplate實踐REST
- Atlas實踐
- nginx實踐Nginx
- Oracle實踐Oracle
- 實踐XP
- 最受歡迎的Java web應用伺服器之一——Tomcat監控選型及實踐JavaWeb伺服器Tomcat
- 實時檢視tomcat日誌Tomcat
- tomcat熱部署的實現原理Tomcat熱部署
- 如何在TOMCAT中實現SSO?Tomcat
- 實戰apache+tomcat整合(轉)ApacheTomcat
- Golang高效實踐之interface、reflection、json實踐GolangJSON
- k8s實踐——HPA實踐例項K8S
- 專案實踐:基於華為CCE環境下Tomcat的關鍵效能指標及監控方法Tomcat指標
- 實驗四 CTF實踐