好記性不如爛筆頭
由于需要將一個小項目的后端程序從亞馬遜AWS轉(zhuǎn)到騰訊CVM,因此打算將完整過程記錄下來,以備反芻。
關(guān)鍵配置:
Ubuntu 14JDK 1.7Tomcat 8.0MySQL 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)
測試成功,筆記也完成,收工睡覺。

