簡單記錄Cent OS服務器配置JDK+Tomcat+MySQL
項目需要部署到一臺CentOS的服務器之上,之前這臺服務器上面已經(jīng)安裝了一個Nginx和MySQL,跑的是PHP環(huán)境,有一個項目正在運行。而我們最新的項目是用Java寫的,服務器是用的Tomcat,所以勢必需要把Nginx和Tomcat做一次整合,不過目前項目還在開發(fā)階段,我們就先使用Tomcat默認的8080端口,好了,下面就大概你的“終端”(因為我使用的是Mac系統(tǒng),默認有SSH,如果是Win系統(tǒng),請選擇其他對應的工具,相信G神會幫助你的~~)。
第一步:連接服務器
租用的服務器支持SSH連接,也就是說圖形化是與我們無緣,順便我們也可以享受一下“高手”的感覺
在終端輸入如下命令:
ssh 服務器IP地址 -l 用戶名
回車之后,屏幕會顯示類似如下內(nèi)容:
用戶名@服務器IP地址's password:
在后面直接輸入密碼就是,為了安全起見,你輸入的內(nèi)容真是看不見的,不要懷疑你的眼睛,不要懷疑你的鍵盤,也不要懷疑你的手,你就大膽的輸入密碼吧,請記住,你有三次機會哦~
當你看到如下字樣之后,恭喜你,你已經(jīng)登錄到了服務器了,你可以為所欲為了~~哈哈
[用戶名@服務器IP地址 ~]#
第二步:卸載Open JDK
Cent OS默認會給我們安裝一個Open JDK,可惜我們不領情,為了減少麻煩,我們還是喜歡用Sun的JDK,所以要先把Open JDK給卸載了。
首先我們用下面這條命令查一下我們都安裝了什么有關于Java的
rpm -qa|grep java
在我的服務器上返回的信息如下:
xmlrpc-javadoc-2.0.1-3jpp.1
gcc-java-4.1.2-48.el5
java-1.4.2-gcj-compat-devel-1.4.2.0-40jpp.115
java-1.4.2-gcj-compat-javadoc-1.4.2.0-40jpp.115
java-1.6.0-openjdk-1.6.0.0-1.7.b09.el5
java-1.4.2-gcj-compat-1.4.2.0-40jpp.115
java-1.4.2-gcj-compat-src-1.4.2.0-40jpp.115
bsh-javadoc-1.3.0-9jpp.1
java-1.4.2-gcj-compat-devel-1.4.2.0-40jpp.115
這個里面我們其實真正要刪除的就是java-1.6.0-openjdk-1.6.0.0-1.7.b09.el5和java-1.4.2-gcj-compat-1.4.2.0-40jpp.115就可以了,分別使用如下命令可以搞定:
rpm -e --nodeps java-1.6.0-openjdk-1.6.0.0-1.7.b09.el5
rpm -e --nodeps java-1.4.2-gcj-compat-1.4.2.0-40jpp.115
好,最后我再驗證一下,OpenJDK是否真的被卸載干凈:
java -version
系統(tǒng)返回如下內(nèi)容:
-bash: /usr/bin/java: No such file or directory
好了,至此我們已經(jīng)把Open JDK徹底搞定,這里必須要感謝rpm,省了好多事情~
第三步:獲取軟件(JDK\Tomcat)
我們分別去Sun的官方和Apache的官網(wǎng)下載JDK和Tomcat到本地的電腦,下載地址如下:
JDK: http://www.oracle.com/technetwork/java/javase/downloads/jdk6-downloads-1637591.html
我選擇
這個版本,64位的版本,針對rpm的,而且現(xiàn)在的項目也沒有用到什么Java7的高級功能,我們就還是老實點兒用JDK6吧。
Tomcat:http://labs.renren.com/apache-mirror/tomcat/tomcat-6/v6.0.35/bin/apache-tomcat-6.0.35.tar.gz
Tomcat這種解壓了就用的綠色軟件最好,煩心事少,繼續(xù)本著老版本文檔,過段選擇了Tomcat6。
這里我們是把這兩個文件單獨上傳到我另外一個FTP服務器之上,然后使用wget這個工具將兩個軟件下載到了服務器,wget這個工具是個使用簡便功能強大的下載利器,其實我們也可以選擇直接從官網(wǎng)上下載,但JDK由于要必須手動同意一個協(xié)議,所以當時就一塊都使用FTP做中轉(zhuǎn)站了,具體的命令行如下:
wget ftp://ftp服務器地址/<span style="font-family:Consolas, Lucida Console, monospace;"><span style="white-space: pre-wrap;">apache-tomcat-6.0.35.tar.gz</span></span>
這里要特別注意,你是在那個目錄里執(zhí)行的這條命令,文件就會下載在那個目錄內(nèi)。對于Linux不熟的同學,還是需要好好記一下主要的幾個文件夾以及用途,以免浪費時間。
第四步:安裝JDK
在剛才下載軟件的那個目錄里直接執(zhí)行如下命令:
./jdk-6u33-linux-x64-rpm.bin
然后屏幕上會顯示進度,完成后,還是測試一下吧,輸入:
java -version
如果顯示如下內(nèi)容,恭喜,已經(jīng)把Java環(huán)境搞定了!
java version "1.6.0_33"
Java(TM) SE Runtime Environment (build 1.6.0_33-b03)
Java HotSpot(TM) 64-Bit Server VM (build 20.8-b03, mixed mode)
第五步: 安裝Tomcat安裝Tomcat其實相當簡單,首先選擇一個目錄,一般是使用/usr/local目錄的,使用cd命令跳轉(zhuǎn):
cd /usr/local
然后從tomcat的官網(wǎng)上下載到該目錄,命令為:
然后再將這個壓縮包文件解壓即可
tar -zxvf apache-tomcat-6.0.35.tar.gz tomcat
這個時候使用ls命令就可以看到有一個叫tomcat的目錄了。這樣tomcat就安裝完了,簡單吧。啟動tomcat也很簡單,直接轉(zhuǎn)到tomcat/bin目錄,執(zhí)行:
sh statrup.sh
如果沒有報錯,恭喜你,這個時候你直接在瀏覽器輸入你的IP(或域名):8080,就可以看到那只三腳貓了。如果你啟動出錯,或是沒有沒有看到三腳貓,可能是因為一個配置文件的地方,我當時是修改了/etc/profile文件在最后一行加入了如下內(nèi)容:
export JAVA_HOME=/usr/java/jdk1.6.0_33/
export JRE_HOME=/usr/java/jdk1.6.0_33/jre
export PATH=$JAVA_HOME/bin:$JAVA_HOME/jre/bin:$PATH
export LASSPATH=.:/usr/java/jdk1.6.0_33/lib:/usr/java/jdk1.6.0_33/jre/lib:$CLASSPATH
export TOMCAT_HOME=/usr/local/tomcat
然后回到命令行下,執(zhí)行:
source /etc/profile
使我們剛才的配置生效,這樣你可以再重試一下,應該就可以了,不過一定要注意目錄是正確的,一定!
第六步:配置MySQL(針對亂碼)
因為我拿到的服務器的時候,MySQL已經(jīng)是安裝好了的,當時本以為是省事了,但后來項目部署上去,英文都沒有問題,但是中文都變成了問好,讓我十分光火,經(jīng)過了一番Google以后,再次祭出了,utf-8大法,保證所有的編碼全部是utf-8。如果你也遇到了這個問題,相信下面的內(nèi)容可以幫到你。
1,登陸數(shù)據(jù)庫:
mysql -u root -p
然后輸入密碼,回車后可以看到如下情況則代表登陸成功:
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 11218
Server version: 5.0.95 Source distribution
Copyright (c) 2000, 2011, Oracle and/or its affiliates. All rights reserved.
Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
mysql>
2 選擇需要更改編碼的數(shù)據(jù)庫
mysql>use 數(shù)據(jù)庫名稱
3 檢查目前的數(shù)據(jù)庫編碼情況
show variables like "%char%";
我的機器上返回的結果如下:
+--------------------------+----------------------------+
| Variable_name | Value |
+--------------------------+----------------------------+
| character_set_client | latin1 |
| character_set_connection | latin1 |
| character_set_database | utf8 |
| character_set_filesystem | binary |
| character_set_results | latin1 |
| character_set_server | utf8 |
| character_set_system | utf8 |
| character_sets_dir | /usr/share/mysql/charsets/ |
+--------------------------+----------------------------+
8 rows in set (0.00 sec)
這些屬性中,我們的目標其實就是把那些編碼全都改為utf-8,而經(jīng)過我測試下來,其中真正影響的值應該是character_set_database\character_set_server\character_set_system這個三個值,尤其是第一個,如果它不是utf-8,無論再怎么樣都是會出現(xiàn)問號的,而像上面這樣的結果,中文其實也是顯示正常的,這點我自己也覺得挺奇怪的還。
4 將數(shù)據(jù)庫的編碼修改為utf-8,執(zhí)行如下語句
mysql>set names utf8;
特別注意,在MySQL里,utf-8編碼中間是沒有連接符的,這個特別要注意!
5 退出MySQL
mysql>exit;
6 編輯MySQL的配置文件
vim /etc/my.cnf
7 將配置文件修改成如下情況:
[mysqld]
datadir=/var/mysql
socket=/var/lib/mysql/mysql.sock
user=mysql
default-character-set = utf8
# Default to using old password format for compatibility with mysql 3.x
# clients (those using the mysqlclient10 compatibility package).
old_passwords=1
# Disabling symbolic-links is recommended to prevent assorted security risks;
# to do so, uncomment this line:
# symbolic-links=0
[mysqld_safe]
log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid
其實就是加了下面這一句:
default-character-set = utf8
8 重啟MySQL
/etc/init.d/mysqld start
這樣配置下來,數(shù)據(jù)庫亂碼問題就可以解決了。
當然數(shù)據(jù)庫亂碼也不僅僅是數(shù)據(jù)庫配置問題,還可能由于頁面文件本身的編碼,頁面文件傳給程序時的編碼等地方需要注意,目前的解決方法其實就是統(tǒng)一成utf-8!
第七步:部署代碼
因為我們只跑一個項目,就沒有做目錄配置,直接將項目文件打包后,解壓到tomcat目錄下webapps目錄下即可。
然后重啟一下服務器,搞定!
tomcat的啟動命令:
sh startup.sh
tomcat的停止命令:
sh shutdown.sh
后記:
其實這篇手記大概6月底就開始寫了,當時項目第一次部署到服務器,各種問題搞了兩個晚上,各種搜索,但可惜自己的知識管理沒有做好,很多很好的信息就這么放過去了,每次遇到相同的問題的時候,都要再重新搜索一次,拼命的想搜索關鍵字,非常抓狂,這里僅是就當時的部署情況整理了一下。其中錯漏之處,歡迎指出!
另外我最近還遇到了兩個問題
1 一次部署的時候,停止了tomcat服務器之后,馬上就開啟了tomcat,然后就報端口占用,后來是采用http://pmfou-site.iteye.com/blog/1484447這里提到的方法:
“我們 ps -ef|grep java
找到所有java進程號
kill -9 進程號
把出現(xiàn)的進程干掉,除了 用戶名 XXX XXX 0 20:56 pts/0 00:00:00 grep --color=auto java之外”
但我實際執(zhí)行的時候呢,每次kill進程又都報沒有這個進程,當時是各種重啟之后才正常的。
2 后來第二天,服務器經(jīng)常的就自己down掉了,我就又懷疑是昨天的問題造成的,然后查看log,發(fā)現(xiàn)是內(nèi)存溢出了,其實是因為我自己當時比較懶,把項目備份都做到了webapps,這樣每次啟動tomcat的時候就會給帶起來,然后就會造成內(nèi)存溢出了,也可能是因為我們的JVM也采用了默認的配置的原因。刪除了那些備份之后到目前為止服務器運行正常?。?/p>
相關文章
解決spring boot + jar打包部署tomcat 404錯誤問題
這篇文章主要介紹了spring boot + jar打包部署tomcat 404錯誤問題解決方案,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下2020-12-12解決IDEA配置本地tomcat部署項目找不到項目工件的問題
這篇文章主要給大家介紹了關于IDEA配置本地tomcat部署項目找不到項目工件的問題解答,文章通過圖文結合講解的非常詳細,需要的朋友可以參考下2023-10-10Tomcat ssl報錯Connector attribute SSLCertificateFile must be d
這篇文章主要介紹了Tomcat ssl報錯Connector attribute SSLCertificateFile must be defined when using SSL with APR解決方法,需要的朋友可以參考下2014-12-12詳解如何通過tomcat的ManagerServlet遠程部署項目
這篇文章主要介紹了詳解如何通過tomcat的ManagerServlet遠程部署項目,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2018-08-08