記一次完整的Tomcat服務器搭建及項目部署過程

好記性不如爛筆頭

由于需要將一個小項目的后端程序從亞馬遜AWS轉(zhuǎn)到騰訊CVM,因此打算將完整過程記錄下來,以備反芻。

關(guān)鍵配置:

  • Ubuntu 14
  • JDK 1.7
  • Tomcat 8.0
  • MySQL 5.5

一、購買云服務器

之前一直使用的亞馬遜的云服務器,雖然已是東京節(jié)點,但有時仍連接不暢。所以打算轉(zhuǎn)到國內(nèi)。阿里云之前已嘗試過,這次選擇騰訊云。要部署的項目并不大,所以購買了最低配置的服務器(1核/1GB/1Mbps),系統(tǒng)選擇 Ubuntu,版本 14.04。

CVM 實例

二、遠程連接

  • 使用遠程終端工具 Xshell 5 連接
    Xshell 5 連接
  • 更新
apt-get update
  • 和 AWS 一樣,CVM 的 Ubuntu 默認登錄用戶是 ubuntu(ECS 實例創(chuàng)建默認即是 root 用戶)。首次使用設(shè)置 root 用戶密碼:
sudo passwd root
  • 切換 root 用戶
su root

以下步驟均在 root 用戶下操作

三、配置 JDK

  • 從 Oracle 官網(wǎng)下載 JDK 1.7
wget --no-check-certificate --no-cookie --header "Cookie: oraclelicense=accept-securebackup-cookie;" http://download.oracle.com/otn-pub/java/jdk/7u79-b15/jdk-7u79-linux-x64.tar.gz
mkdir /usr/lib/jvm
tar zxvf jdk-7u67-linux-x64.tar.gz -C /usr/lib/jvm
  • 配置環(huán)境變量
    /etc/profile(另可 /etc/environment、~/.bashrc
# Set Java environmenet
export JAVA_HOME=/usr/lib/jvm/jdk1.7.0_79
export JRE_HOME=${JAVA_HOME}/jre
export CLASSPATH=${CLASSPATH}:${JAVA_HOME}/lib:${JRE_HOME}/lib
export PATH=${PATH}:${JAVA_HOME}/bin
source /etc/profile

Vim 文本編輯器用起來不順手,我選擇 sz 載下來修改再 rz -y 覆蓋上傳(如果沒有 lrzsz 工具則安裝:apt-get install lrzsz

  • * 設(shè)為默認 JDK
update-alternatives --install /usr/bin/java java $JAVA_HOME/bin/java 300
update-alternatives --install /usr/bin/javac javac $JAVA_HOME/bin/javac 300
  • 檢查
echo $JAVA_HOME
java -version

四、配置 Tomcat

  • 從 Apache 官網(wǎng)下載 Tomcat 8.0
wget http://mirror.bit.edu.cn/apache/tomcat/tomcat-8/v8.0.39/bin/apache-tomcat-8.0.39.zip
unzip -d /opt apache-tomcat-8.0.39.zip

如果沒有 unzip 工具則安裝:apt-get install unzip

  • 配置環(huán)境變量
    /etc/profile
# Set Tomcat environment
export CATALINA_HOME=/opt/apache-tomcat-8.0.39
export CLASSPATH=${CLASSPATH}:${CATALINA_HOME}/lib
export PATH=${PATH}:${CATALINA_HOME}/bin
source /etc/profile
  • 檢查
echo $CLASSPATH
  • 測試
cd /opt/apache-tomcat-8.0.39/bin
chmod +x *.sh
sh startup.sh
netstat -apn | grep 8080
netstat -ntpl
ps -ef | grep tomcat
sh shutdown.sh

當默認用于 shutdown.sh 命令的端口 8005 監(jiān)聽啟動即表明 Tomcat 啟動成功。

五、配置 MySQL

  • 從倉庫下載安裝 MySQL 5.5
apt-get install mysql-server
apt-get install mysql-client
  • 檢查
netstat -tap | grep mysql
mysql -V
mysql -uroot
mysql> SHOW VARIABLES LIKE '%character%';
  • 設(shè)置字符集 UTF-8
    /etc/mysql/my.cnf
[mysql]
default-character-set=utf8
[mysqld]
default-storage-engine=INNODB
character-set-server=utf8
collation-server=utf8_general_ci
[client]
default-character-set=utf8

重啟 MySQL 使生效

service mysql restart
  • * 允許遠程訪問
    /etc/mysql/my.cnf
[mysqld]
# bind-address = 127.0.0.1
mysql -uroot
mysql> GRANT ALL PRIVILEGES ON schttable.* to By_syk@'%' IDENTIFIED BY 'xxxxxx';
mysql> FLUSH PRIVILEGES;
Navicat 遠程連接 MySQL

六、部署項目

  • 配置 Tomcat
    ./conf/server.xml
<!-- 使用 80 端口 -->
<Connector port="80" protocol="HTTP/1.1"
           connectionTimeout="20000"
           redirectPort="8443" />
<Host name="localhost"  appBase="webapps"
      unpackWARs="true" autoDeploy="true">
      <!-- 默認主頁 -->
      <Context path="" docBase="/opt/apache-tomcat-8.0.39/webapps/Hello"
               reloadable="true" caseSensitive="false" debug="0"></Context>
</Host>
<!-- 項目 -->
<Host name="schttable.by-syk.com" debug="0" appBase="" unpackWARs="true"
      xmlValidation="false" xmlNamespaceAware="false">
        <Alias>schttable.by-syk.com</Alias>
        <Context path="" docBase="/opt/apache-tomcat-8.0.39/webapps/SchTtable"
                 reloadable="true" caseSensitive="false" debug="0"></Context>
</Host>
  • 設(shè)置共享 jar 目錄,多應用共用,也減少了發(fā)布 war 包的大小,便于上傳部署
    ./conf/catalina.properties
shared.loader="${catalina.home}/sharedlibs/*.jar"

由于項目采用 SpringMVC + Hibernate 框架,所以將相關(guān) jar 包上傳到此目錄共用。

  • 項目恢復
    導入 MySQL 數(shù)據(jù)庫備份 sql;上傳項目 SchTtable.war 到 Tomcat ./webapps/ 目錄,啟動 Tomcat。
  • 域名解析


    解析設(shè)置
  • 測試
    訪問鏈接 http://schttable.by-syk.com 。(需要在騰訊云后臺設(shè)置好安全組,確保相關(guān)端口開放,比如 80

測試成功,筆記也完成,收工睡覺。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容