簡(jiǎn)單記錄Cent OS服務(wù)器配置JDK+Tomcat+MySQL
項(xiàng)目需要部署到一臺(tái)CentOS的服務(wù)器之上,之前這臺(tái)服務(wù)器上面已經(jīng)安裝了一個(gè)Nginx和MySQL,跑的是PHP環(huán)境,有一個(gè)項(xiàng)目正在運(yùn)行。而我們最新的項(xiàng)目是用Java寫的,服務(wù)器是用的Tomcat,所以勢(shì)必需要把Nginx和Tomcat做一次整合,不過目前項(xiàng)目還在開發(fā)階段,我們就先使用Tomcat默認(rèn)的8080端口,好了,下面就大概你的“終端”(因?yàn)槲沂褂玫氖荕ac系統(tǒng),默認(rèn)有SSH,如果是Win系統(tǒng),請(qǐng)選擇其他對(duì)應(yīng)的工具,相信G神會(huì)幫助你的~~)。
第一步:連接服務(wù)器
租用的服務(wù)器支持SSH連接,也就是說圖形化是與我們無緣,順便我們也可以享受一下“高手”的感覺
在終端輸入如下命令:
ssh 服務(wù)器IP地址 -l 用戶名
回車之后,屏幕會(huì)顯示類似如下內(nèi)容:
用戶名@服務(wù)器IP地址's password:
在后面直接輸入密碼就是,為了安全起見,你輸入的內(nèi)容真是看不見的,不要懷疑你的眼睛,不要懷疑你的鍵盤,也不要懷疑你的手,你就大膽的輸入密碼吧,請(qǐng)記住,你有三次機(jī)會(huì)哦~
當(dāng)你看到如下字樣之后,恭喜你,你已經(jīng)登錄到了服務(wù)器了,你可以為所欲為了~~哈哈
[用戶名@服務(wù)器IP地址 ~]#
第二步:卸載Open JDK
Cent OS默認(rèn)會(huì)給我們安裝一個(gè)Open JDK,可惜我們不領(lǐng)情,為了減少麻煩,我們還是喜歡用Sun的JDK,所以要先把Open JDK給卸載了。
首先我們用下面這條命令查一下我們都安裝了什么有關(guān)于Java的
rpm -qa|grep java
在我的服務(wù)器上返回的信息如下:
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
這個(gè)里面我們其實(shí)真正要?jiǎng)h除的就是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
好,最后我再驗(yàn)證一下,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
我選擇
這個(gè)版本,64位的版本,針對(duì)rpm的,而且現(xiàn)在的項(xiàng)目也沒有用到什么Java7的高級(jí)功能,我們就還是老實(shí)點(diǎn)兒用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。
這里我們是把這兩個(gè)文件單獨(dú)上傳到我另外一個(gè)FTP服務(wù)器之上,然后使用wget這個(gè)工具將兩個(gè)軟件下載到了服務(wù)器,wget這個(gè)工具是個(gè)使用簡(jiǎn)便功能強(qiáng)大的下載利器,其實(shí)我們也可以選擇直接從官網(wǎng)上下載,但JDK由于要必須手動(dòng)同意一個(gè)協(xié)議,所以當(dāng)時(shí)就一塊都使用FTP做中轉(zhuǎn)站了,具體的命令行如下:
wget ftp://ftp服務(wù)器地址/<span style="font-family:Consolas, Lucida Console, monospace;"><span style="white-space: pre-wrap;">apache-tomcat-6.0.35.tar.gz</span></span>
這里要特別注意,你是在那個(gè)目錄里執(zhí)行的這條命令,文件就會(huì)下載在那個(gè)目錄內(nèi)。對(duì)于Linux不熟的同學(xué),還是需要好好記一下主要的幾個(gè)文件夾以及用途,以免浪費(fèi)時(shí)間。
第四步:安裝JDK
在剛才下載軟件的那個(gè)目錄里直接執(zhí)行如下命令:
./jdk-6u33-linux-x64-rpm.bin
然后屏幕上會(huì)顯示進(jìn)度,完成后,還是測(cè)試一下吧,輸入:
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其實(shí)相當(dāng)簡(jiǎn)單,首先選擇一個(gè)目錄,一般是使用/usr/local目錄的,使用cd命令跳轉(zhuǎn):
cd /usr/local
然后從tomcat的官網(wǎng)上下載到該目錄,命令為:
然后再將這個(gè)壓縮包文件解壓即可
tar -zxvf apache-tomcat-6.0.35.tar.gz tomcat
這個(gè)時(shí)候使用ls命令就可以看到有一個(gè)叫tomcat的目錄了。這樣tomcat就安裝完了,簡(jiǎn)單吧。啟動(dòng)tomcat也很簡(jiǎn)單,直接轉(zhuǎn)到tomcat/bin目錄,執(zhí)行:
sh statrup.sh
如果沒有報(bào)錯(cuò),恭喜你,這個(gè)時(shí)候你直接在瀏覽器輸入你的IP(或域名):8080,就可以看到那只三腳貓了。如果你啟動(dòng)出錯(cuò),或是沒有沒有看到三腳貓,可能是因?yàn)橐粋€(gè)配置文件的地方,我當(dāng)時(shí)是修改了/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
使我們剛才的配置生效,這樣你可以再重試一下,應(yīng)該就可以了,不過一定要注意目錄是正確的,一定!
第六步:配置MySQL(針對(duì)亂碼)
因?yàn)槲夷玫降姆?wù)器的時(shí)候,MySQL已經(jīng)是安裝好了的,當(dāng)時(shí)本以為是省事了,但后來項(xiàng)目部署上去,英文都沒有問題,但是中文都變成了問好,讓我十分光火,經(jīng)過了一番Google以后,再次祭出了,utf-8大法,保證所有的編碼全部是utf-8。如果你也遇到了這個(gè)問題,相信下面的內(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%";
我的機(jī)器上返回的結(jié)果如下:
+--------------------------+----------------------------+
| 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)
這些屬性中,我們的目標(biāo)其實(shí)就是把那些編碼全都改為utf-8,而經(jīng)過我測(cè)試下來,其中真正影響的值應(yīng)該是character_set_database\character_set_server\character_set_system這個(gè)三個(gè)值,尤其是第一個(gè),如果它不是utf-8,無論再怎么樣都是會(huì)出現(xiàn)問號(hào)的,而像上面這樣的結(jié)果,中文其實(shí)也是顯示正常的,這點(diǎn)我自己也覺得挺奇怪的還。
4 將數(shù)據(jù)庫的編碼修改為utf-8,執(zhí)行如下語句
mysql>set names utf8;
特別注意,在MySQL里,utf-8編碼中間是沒有連接符的,這個(gè)特別要注意!
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
其實(shí)就是加了下面這一句:
default-character-set = utf8
8 重啟MySQL
/etc/init.d/mysqld start
這樣配置下來,數(shù)據(jù)庫亂碼問題就可以解決了。
當(dāng)然數(shù)據(jù)庫亂碼也不僅僅是數(shù)據(jù)庫配置問題,還可能由于頁面文件本身的編碼,頁面文件傳給程序時(shí)的編碼等地方需要注意,目前的解決方法其實(shí)就是統(tǒng)一成utf-8!
第七步:部署代碼
因?yàn)槲覀冎慌芤粋€(gè)項(xiàng)目,就沒有做目錄配置,直接將項(xiàng)目文件打包后,解壓到tomcat目錄下webapps目錄下即可。
然后重啟一下服務(wù)器,搞定!
tomcat的啟動(dòng)命令:
sh startup.sh
tomcat的停止命令:
sh shutdown.sh
后記:
其實(shí)這篇手記大概6月底就開始寫了,當(dāng)時(shí)項(xiàng)目第一次部署到服務(wù)器,各種問題搞了兩個(gè)晚上,各種搜索,但可惜自己的知識(shí)管理沒有做好,很多很好的信息就這么放過去了,每次遇到相同的問題的時(shí)候,都要再重新搜索一次,拼命的想搜索關(guān)鍵字,非常抓狂,這里僅是就當(dāng)時(shí)的部署情況整理了一下。其中錯(cuò)漏之處,歡迎指出!
另外我最近還遇到了兩個(gè)問題
1 一次部署的時(shí)候,停止了tomcat服務(wù)器之后,馬上就開啟了tomcat,然后就報(bào)端口占用,后來是采用http://pmfou-site.iteye.com/blog/1484447這里提到的方法:
“我們 ps -ef|grep java
找到所有java進(jìn)程號(hào)
kill -9 進(jìn)程號(hào)
把出現(xiàn)的進(jìn)程干掉,除了 用戶名 XXX XXX 0 20:56 pts/0 00:00:00 grep --color=auto java之外”
但我實(shí)際執(zhí)行的時(shí)候呢,每次kill進(jìn)程又都報(bào)沒有這個(gè)進(jìn)程,當(dāng)時(shí)是各種重啟之后才正常的。
2 后來第二天,服務(wù)器經(jīng)常的就自己down掉了,我就又懷疑是昨天的問題造成的,然后查看log,發(fā)現(xiàn)是內(nèi)存溢出了,其實(shí)是因?yàn)槲易约寒?dāng)時(shí)比較懶,把項(xiàng)目備份都做到了webapps,這樣每次啟動(dòng)tomcat的時(shí)候就會(huì)給帶起來,然后就會(huì)造成內(nèi)存溢出了,也可能是因?yàn)槲覀兊腏VM也采用了默認(rèn)的配置的原因。刪除了那些備份之后到目前為止服務(wù)器運(yùn)行正常!!
相關(guān)文章
解決spring boot + jar打包部署tomcat 404錯(cuò)誤問題
這篇文章主要介紹了spring boot + jar打包部署tomcat 404錯(cuò)誤問題解決方案,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-12-12解決IDEA配置本地tomcat部署項(xiàng)目找不到項(xiàng)目工件的問題
這篇文章主要給大家介紹了關(guān)于IDEA配置本地tomcat部署項(xiàng)目找不到項(xiàng)目工件的問題解答,文章通過圖文結(jié)合講解的非常詳細(xì),需要的朋友可以參考下2023-10-10Tomcat部署B(yǎng)olo動(dòng)態(tài)博客
這篇文章主要介紹了Tomcat部署B(yǎng)olo,我的服務(wù)器的鏡像是Alibaba Cloud Linux 3,全面兼容RHEL/CentOS 8生態(tài),Bolo需要JavaEE環(huán)境,不能選擇最新的Tomcat10,需要Tomcat9或者Tomcat8,感興趣的朋友跟隨小編一起看看吧2022-01-01一文教你怎么選擇Tomcat對(duì)應(yīng)的JDK版本
這篇文章主要給大家截介紹了怎么選擇Tomcat對(duì)應(yīng)的JDK版本,如果不知道Tomcat的哪個(gè)版本應(yīng)該對(duì)應(yīng)哪個(gè)版本的JDK,可以參考借鑒本文,對(duì)大家的學(xué)習(xí)有一定的幫助2023-10-10詳解tomcat設(shè)置默認(rèn)路徑致使項(xiàng)目url沖突解決方法
這篇文章主要介紹了詳解tomcat設(shè)置默認(rèn)路徑致使項(xiàng)目url沖突解決方法,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2019-01-01Tomcat配置控制臺(tái)的實(shí)現(xiàn)
本文主要介紹了Tomcat配置控制臺(tái)的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2023-06-06如何提升Idea啟動(dòng)速度與Tomcat日志亂碼問題
這篇文章主要介紹了提升Idea啟動(dòng)速度與Tomcat日志亂碼問題,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2021-03-03Tomcat ssl報(bào)錯(cuò)Connector attribute SSLCertificateFile must be d
這篇文章主要介紹了Tomcat ssl報(bào)錯(cuò)Connector attribute SSLCertificateFile must be defined when using SSL with APR解決方法,需要的朋友可以參考下2014-12-12詳解如何通過tomcat的ManagerServlet遠(yuǎn)程部署項(xiàng)目
這篇文章主要介紹了詳解如何通過tomcat的ManagerServlet遠(yuǎn)程部署項(xiàng)目,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2018-08-08