使用騰訊雲主機搭建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/java8export 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
搞定,可以嘗試用域名訪問你的專案了。