Ubuntu上使用Tomcat部署web應用
Java的安裝:
下載Java安裝包
創建目錄
new-virtual-machine:~$ sudo tar -zxvf jdk-8u121-linux-i586.tar.gz -c /usr/lib/jvm
解壓縮到該目錄
sudo tar -zxvf jdk-8u121-linux-i586.tar.gz -C /usr/lib/jvm
配置環境變量
sudo vi ~/.bashrc
或者
sudo vi /etc/profile
追加:
#set oracle jdk environment
export JAVA_HOME=/usr/lib/jvm/jdk1.8.0_121
export JRE_HOME=${JAVA_HOME}/jre
export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib
export PATH=${JAVA_HOME}/bin:$PATH
環境變量生效:
source ~/.bashrc
檢查JDK安裝
java -version
Tomcat的安裝
下載Tomcat
解壓Tomcat8
sudo tar -zxvf apache-tomcat-8.5.12.tar.gz -C /usr/local
編輯Tomcat啓動腳本
sudo vi /usr/local/apache-tomcat-8.5.12/bin/startup.sh
最後一行exec
之前寫入JDK路徑:
JAVA_HOME=/usr/lib/jvm/jdk1.8.0_121
JRE_HOME=${JAVA_HOME}/jre
CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib
PATH=$JAVA_HOME/bin:$PATH
TOMCAT_HOME=/usr/local/apache-tomcat-8.5.12
修改Tomcat啓動端口
sudo vi ./apache-tomcat-8.5.12/conf/server.xml
<Connector port="9000" protocol="HTTP/1.1"
在文件這修改Tomcat啓動時使用的端口號端口修改完成後,重啓Java和Tomcat
啓動Tomcat
sudo ./bin/startup.sh
驗證Tomcat配置
在瀏覽器中輸入:http://localhost:8080/
或者
ps aux|grep tomcat
查看Tomcat服務器的Log信息:
sudo cat ./apache-tomcat-8.5.12/logs/catalina.out
Tomcat無法啓動原因
端口被佔用;
檢查佔用端口的進程PID:
lsof -i:[port]
或者
netstat -apn | grep 80
根據進程ID查看進程具體信息:
ps aux|grep [PID]
部署JavaWeb應用到Tomcat
將開發好的JavaWeb應用打包成war包
將Oracle數據庫的驅動jar包上傳到tomcat服務器的lib目錄
將打包好的war包(MarketServer.war、UploadServer.war程序)上傳到tomcat服務器的webapps目錄
Tomcat服務器自動解壓縮war包
Tomcat服務器自動在conf目錄下創建Catalina/localhost目錄並生成xml文件
MySQL的安裝
安裝MySQL
sudo apt-get install mysql-server
sudo apt-get install mysql-client
sudo apt-get install libmysqlclient-dev
驗證MySQL安裝情況
sudo netstat -tap | grep mysql
mysql的socket處於listen狀態則表示安裝成功
登陸mysql數據庫
mysql -u root -p
爲root用戶授權所有的權限
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '' WITH GRANT OPTION;
創建marketdb數據庫
create database marketdb;
use marketdb;
導出數據和表結構(導出整個數據庫中的所有數據)
mysqldump -u用戶名 -p密碼 數據庫名 > 數據庫名.sql
設置數據庫編碼
set names utf8;
將原數據庫導入
source [path]
或者
mysql -u用戶名 -p密碼 數據庫名 < 數據庫名.sql
修改MarketServer.war包中
/usr/local/apache-tomcat-8.5.12/webapps/MarketServer/WEB-INF/classes
中jdbc.xml數據庫連接信息,包括用戶名和密碼