1. 程式人生 > >使用騰訊雲主機搭建JAVA服務(jdk+tomcat+mysql)

使用騰訊雲主機搭建JAVA服務(jdk+tomcat+mysql)

閒來無事打算弄個騰訊雲玩玩,以下記錄下摸索的過程,其中參考了很多網上的方法,因為這裡查一點那裡查一點,我就不做轉載說明了,在此感謝那些部落格的博主。

1.購買騰訊雲主機,我用的是試用版的,選擇的作業系統是CentOS6.5 32位。

關於選擇哪個作業系統,我糾結了好久,查了好多資料,最後決定用這個是因為我想做的是移動端的後臺服務,所以選了這個比較穩定,也不需要太定製化的Linux系統。

2.安裝XShell、FTP

在自己電腦安裝這兩個,連結上雲主機(騰訊雲提供的公網IP,預設使用者名稱root,可在管理系統重置密碼)

3.安裝jdk

去官網下載Linux對應的jdk,我下載的是這個jdk-8u121-linux-i586.gz

http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html


使用ftp將下好的壓縮包放到伺服器上,我放的是/home目錄下。

在XShell上,使用命令:tar -zxvf 放jdk的完整路徑(我的就是/home/jdk-8u121-linux-i586.gz)

這時在home目錄下就可以看到一個新的資料夾java-**

4.配置java所需的環境變數

網上查到有說幾個地方可以改環境變數的,因為我是拿來練手玩的,所以就選了最簡便的一個地方改。

找到/etc/profile這個檔案,在這個檔案裡面加入環境變數,是所有登入這太伺服器的使用者都可以使用的。

使用vi命令,然後輸入i,然後在最後加入:

export JAVA_HOME=/home/java8
export PATH=$PATH:$JAVA_HOME/bin

export CLASSPATH=$CLASSPATH:$PATH:$JAVA_HOME/lib/rt.jar:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JAVA_HOME/lib:.

在按ESC,然後輸入:進入命令模式,再輸入wq!儲存並退出。

然後再使用命令:source /etc/profile或 . /etc/profile使配置生效。

輸入java -version測試是否配置成功。

這裡我遇到了一個問題,由於我一開始在ftp修改了profile這個檔案,導致在主機上這個檔案被儲存為dos格式,結果無法重新整理配置,這時查到可以使用dos2unix命令來將檔案轉換成Linux格式,要使用這個命令,就需要先安裝這個軟體,安裝的命令為:yum install dos2unix。

至此,jdk安裝完成。

5.安裝tomcat

在官網下載http://tomcat.apache.org/download-80.cgi

我下載的是解壓版apache-tomcat-8.5.12.tar.gz

然後將檔案上傳伺服器,跟上面jdk一樣使用tar -zxvf 解壓到home目錄下。

到tomcat/bin目錄下setclasspath.sh檔案中設定java環境,加入以下兩行即可

export JAVA_HOME=JDK的存放路徑

export JRE_HOME=JDK的存放路徑/jre

這時可以嘗試啟動tomcat了,如果報錯(Cannot find ./catalina.sh),則需要給bin目錄下的.sh檔案授權:

chmod +x *.sh

啟動tomcat:sh bin/startup.sh

啟動成功後,在瀏覽器嘗試訪問http://公網ip:8080

可以開啟tomcat主頁就說明安裝成功了。

6.安裝mysql

依然貫徹怎麼方便怎麼來的思想,使用yum安裝

命令:yum install mysql mysql-server mysql-devel -y

設定開機啟動:chkconfig mysqld on

檢視MySQL服務:chkconfig --list |grep mysql 

啟動、停止MySQL的兩個方法:

/etc/init.d/mysqld start

 service mysqld start 

/etc/init.d/mysqld stop

 service mysqld stop


檢視都有哪些庫
# cd /var/lib/mysql 
# ls -l 

檢視佔用埠,預設佔用3306埠
# netstat -nutlp | grep mysql

輸入命令:mysql -u root -p 可以進入MySQL命令列模式。

在安裝完MySQL後,我就想在我自己的電腦使用MySQL workbench來連結雲主機上的MySQL,結果遇到各種問題,在這裡總結一下:

首先是查了網上很多資料,按裡面說的一步一步來設定:

1、先進入MySQL命令列模式,輸入

grant all privileges on*.* to 'root'@'%' identified by'123456'with grant option;

--這條命令允許MySQL資料遠端訪問,root是使用者名稱,我後來用了另一個安裝時預設的使用者:mysql。%是指允許任何ip遠端訪問,也可以針對某ip訪問。123456就是密碼,可以自行設定,

然後使用命令重新整理配置:

flush privileges;

2、設定iptables

理論上開放需要用到的埠就可以,但是我懶得搞了,直接關閉防火牆:

service iptables stop --停止
service iptables start --啟動

3、修改my.cnf檔案

我的主機上這個檔案在/etc/目錄下,而有些可能在/etc/mysql/下,如果都有,以第二個為準。

這裡我主要是加入了[client]下的port引數,設定埠

還有[mysqld]的port引數

最後我的這個檔案內容就這樣:


這裡有個問題,網上很多都說,配置[mysqld]下的bind-address引數,是配置監聽的ip,不然預設會是172.0.0.1,在自己的電腦會無法遠端連線,但是我寫上這個引數,重啟MySQL服務時,就會報錯,提示埠被佔用,無論改什麼埠都一樣,而且最後可以成功連線的時候,也沒有配這個引數,所以挺疑惑的。

4、為資料庫使用者設定密碼(預設是不需要密碼)

可以進入MySQL命令列模式後,修改user表資料來設定密碼:

UPDATE mysql.user SET password=PASSWORD('123456') WHERE user='root';

以上。

這樣基本就可以在自己的電腦使用MySQL workbench來連結伺服器上的資料庫了,但是我一開始用root使用者怎麼連都連不上,查了各種方法都不行,最後抱著一試的想法,嘗試用非root使用者,我用的是安裝時自帶的使用者mysql,就成功連線上了。

整個雲主機安裝JAVA+Tomcat+MySQL的流程大概就這樣,可能由於我不熟悉,遇到的問題點可能不是什麼大問題,總之,還是有所收穫。

--2017-5-23新增

最近換了阿里雲,前面的流程差不多,阿里雲買的雲伺服器帶了20g的資料盤,下面是linux掛載資料盤的方法:

參考自:http://blog.chinaunix.net/uid-20622737-id-4073320.html

df -h     檢視命令,最終這個命令能看到資料盤表示已經掛載成功。

fdisk -l  這個命令可以檢視系統有多少個盤,包括未掛載的資料盤,不過跟已掛載的盤會有不一樣的描述。

下面開始是掛載的操作:

fdisk /dev/vdb    先執行這一句,後面的路徑可能會有不同,可以通過上面的檢視系統盤命令來檢視資料盤的路徑。

執行上面這個命令之後,根據提示,依次輸入“n”、“p”、“1”、兩次回車,“w”,分割槽就開始了。(我也懶得去管什麼意思了。)

mkfs.ext3 /dev/vdb1  接下來使用這個命令來格式化分割槽好的資料盤,路徑基本上就是未分割槽前的資料盤+1,可以通過fdisk -l來檢視。

echo '/dev/xvdb1              /mnt                    ext3    defaults        0 0' >> /etc/fstab

然後執行這個寫入分割槽資訊,也可以直接編輯/etc/fstab檔案,寫入引號內的那一行內容。

mount -a    命令掛載新分割槽,執行完這句,就可以df -h 檢視是否掛載成功了。

--2017/6/22補充

一直沒時間搭建阿里雲上的環境,這次抽時間,按照之前在騰訊雲的方式一步步做,以為蠻順利的,結果JDK安裝好,tomcat安裝好,MySQL安裝好,啟動tomcat,發現訪問不了!!傻逼了吧。

各種找問題,考慮各種情況,查了各大網站,最後發現是安全組的問題,但是阿里雲預設是配置了全部開通的安全組的啊,原因就是因為預設的安全組優先順序太低,不過很奇怪,我重新配置的時候,提示優先順序1-100,最高是1,但是預設的配的卻是110,是否代表不起作用,這點我不清楚,反正我重新配了一個優先級別為1的,重啟虛擬機器,就可以了。

--2017/11/22補充

最近買了個域名,然後備案成功了,接下來就想通過域名來訪問我的伺服器啦。

好了,問題來了,域名是解析到雲伺服器的公網ip了,但是怎麼訪問我的tomcat上的專案呢。

首先,網上一堆說tomcat埠改成80的,不是不行,但是本人有強迫症,所以接受不了,然後就有了整整一下午的艱苦歷程,現在歸納如下:

1、tomcat的service.xml檔案,埠不改,<Engine>標籤的localhost改成你的域名。

樣子長這樣:

<Engine name="Catalina" defaultHost="www.****.cn">
2、還是service.xml檔案,<Engine>下的<Host>標籤,也是將name屬性原本的localhost改成域名。
3、下面是系統配置:前面說過為了省事,把系統的iptables關掉了,現在不行了,重新開啟:service iptables start(已啟動的請無視)
4、然後配置開啟80埠:/sbin/iptables -I INPUT -p tcp --dport 80 -j ACCEPT
然後配置OUTPUT介面(重點,就因為這個害我搞了好久):iptables -A OUTPUT -j ACCEPT  這是開啟全部,又偷懶了,嘿嘿。
然後配置埠重定向:iptables -t nat -A PREROUTING -p tcp --dport 80 -j REDIRECT --to-port 8080
再然後:/etc/rc.d/init.d/iptables restart
/etc/rc.d/init.d/iptables save
搞定,可以嘗試用域名訪問你的專案了。