在Ubuntu 16.04 中将应用添加到系统服务中
近來研究Linux,也自己裝了一些軟件,對(duì)用到的軟件以及安裝方法做一個(gè)簡(jiǎn)單的總結(jié)和點(diǎn)評(píng)。
第一類:Java/JDK這一類。這種軟件主要就是一個(gè)開發(fā)環(huán)境,安裝好之后不作為系統(tǒng)運(yùn)行的進(jìn)程,單純的就是有這么個(gè)環(huán)境就好了,這一類軟件通常可以以 tar.gz 的形式下載并解壓縮,然后配置系統(tǒng)環(huán)境變量即可,這一點(diǎn)上基本上隨便找一篇博客都可以得到比較理想的答案,官方文檔也給出了答案,這個(gè)不再贅述;
第二類:MySQL類,這一類軟件需要安裝,而且它還有點(diǎn)帶服務(wù)器的性質(zhì),使用的時(shí)候需要先啟動(dòng)這個(gè)服務(wù),然后在通過client端去進(jìn)行交互。那么此時(shí)就涉及到系統(tǒng)服務(wù)了。在Ubuntu中,關(guān)于系統(tǒng)服務(wù)我認(rèn)為有兩個(gè)方面:第一,將一個(gè)應(yīng)用添加到系統(tǒng)服務(wù);第二,配置服務(wù)的啟動(dòng)形式。
2.1)先說說如何將一個(gè)服務(wù)添加到系統(tǒng)中
目前我看到的主要方案都是chkconfig,但是很遺憾在 ubuntu 中 chkconfig 似乎并不太理想,那么如何添加服務(wù)呢?必須得說明,配置服務(wù)的本質(zhì)其實(shí)就是將啟動(dòng)的鏈接放到 /etc/init.d/ 文件夾下面,然后啟動(dòng)的時(shí)候去執(zhí)行相應(yīng)的腳本即可,那么同樣我們可以自己將啟動(dòng)的腳本做一個(gè)軟鏈接放到這個(gè)文件夾下面,接下來系統(tǒng)如何檢測(cè)到這一服務(wù)呢?這就要用到ubuntu自帶的系統(tǒng)工具 systemctl 了,我覺得這個(gè)才是真正的與 chkconfig 相抗衡的工具,這里我給出一個(gè)貼圖(來自 http://www.111cn.net/sys/linux/65797.htm , 如侵必刪)
從上圖中可以看出其實(shí)任何一個(gè)chkconfig的命令甚至service的命令 systemctl都是可以做到的,所以systemctl才是真正的boss。既然可以將啟動(dòng)的腳本放到 /etc/init.d/ 中,那么理論上就可以通過 service [ 軟鏈接的名稱 ] start這種方式啟動(dòng),或者用上圖對(duì)應(yīng)的 systemctl 命令也可以;然而,當(dāng)一個(gè)啟動(dòng)鏈接剛剛放進(jìn)來的時(shí)候,系統(tǒng)如何意識(shí)到增加了一項(xiàng)服務(wù)呢? 這就要靠 systemctl daemon-reload 命令,假如沒有這個(gè)命令,然后直接執(zhí)行如: service [ 軟鏈接的名稱 ] start,系統(tǒng)會(huì)報(bào)錯(cuò),提示啟動(dòng)失敗,然后讓用戶執(zhí)行 systemctl daemon-reload 這個(gè)命令;執(zhí)行這個(gè)命令之后通過service就能檢測(cè)到對(duì)應(yīng)的服務(wù);
2.2)設(shè)置服務(wù)的啟動(dòng)級(jí)別
這個(gè)我覺得咱們就可以借助一個(gè)強(qiáng)效的工具 —>>> sysv-rc-conf,這個(gè)工具可以可視化操作,簡(jiǎn)單明了,將啟動(dòng)的級(jí)別直接設(shè)置,避免人工的繼續(xù)去設(shè)置各種鏈接。
當(dāng)然,關(guān)于mysql的安裝,其實(shí)不太推薦解壓縮 tar.gz的這種方式,因?yàn)閙ysql還有編碼等多種配置,如果自己去配置服務(wù)還要配置各種信息其實(shí)太繁瑣,官方給出了基于apt的安裝方式,非常簡(jiǎn)單,這里給出一個(gè)鏈接 http://www.cnblogs.com/EasonJim/p/7147787.html ,將MySQL官網(wǎng)的幾種安裝方法做了非常詳細(xì)的描述,我覺得非常完善。
第三類:Tomcat
這一類軟件就是純服務(wù)器類了,安裝完了之后如果說不配置到系統(tǒng)服務(wù)中去,那當(dāng)然無所謂,直接配置一個(gè)環(huán)境變量 CATALINA_HOME 或者 TOMCAT_HOME (看個(gè)人習(xí)慣),然后 $CATALINA_HOME/bin/startup.sh 即可運(yùn)行,這就完事兒了。但是,如果要將tomcat配置到服務(wù)器中,而tomcat的安裝又是綠色安裝,解壓即可用,那么這個(gè)時(shí)候就需要用到上述所說的添加系統(tǒng)服務(wù)的方法了。本人也正是在安裝這三個(gè)軟件中總結(jié)出的這么一套流程,算是一個(gè)試錯(cuò)的過程,希望對(duì)大家有所幫助。最后附上 JDK -> MySQL -> Tomcat 的安裝全過程。
① 安裝JDK
1.1)下載jdk的tar.gz 包,我的是 jdk-8u151-linux-x64.tar.gz,并將其移動(dòng)到安裝目錄;
1.2) 解壓縮到指定路徑,我的解壓縮到 /usr/java 目錄下,實(shí)際上是通過先解壓縮,然后更改名字來實(shí)現(xiàn)的;
tar -zxvf jdk-8u151-linux-x64.tar.gz mv jdk1.8.0_151 java1.3)配置系統(tǒng)環(huán)境變量
vim /etc/profile 在文件的最后加入如下代碼: export JAVA_HOME=/usr/java export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar export PATH=$PATH:$JAVA_HOME/bin到此java/jdk就算是安裝好了;
到這里,就可以使用 javac -version 和 java -version 命令測(cè)試了 。
②安裝mysql
之前我自己通過解壓縮 tar.gz 文件安裝了mysql,然后通過 安裝目錄/support-files/mysql.server start 的方式啟動(dòng)mysql服務(wù),后來也嘗試過建立鏈接,但是當(dāng)時(shí)沒有成功;而且系統(tǒng)默認(rèn)的server和database編碼是latin1,而解壓縮之后我找不到 my.cnf配置文件,無法修改編碼,最后我直接將 mysql刪除了,然后用http://www.cnblogs.com/EasonJim/p/7147787.html 這篇博客中的第一種方法(apt安裝),約等于是無腦安裝,但是不得不說,效果真的很好,然后修改編碼什么的也很簡(jiǎn)單,我這里直接上鏈接 http://www.cnblogs.com/ClassNotFoundException/p/6090357.html 。修改編碼這個(gè)我也看了很多博客,基本上都是一個(gè)套路,這里的這個(gè)鏈接經(jīng)過測(cè)試可行。
到這里,就可以使用 service mysql start/stop/status 了。
③ 安裝tomcat
這次就有點(diǎn)挑戰(zhàn)了,如果說mysql可以通過安裝直接解決所有的問題,那么tomcat就只能自食其力了。
1)同樣,首先下載 tar.gz 包,我的是 apache-tomcat-8.0.47.tar.gz ,依舊是解壓縮,然后更名
2)配置環(huán)境變量vim /etc/profile,這里直接貼出配置之后的總情況
export JAVA_HOME=/usr/java export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar export CATALINA_HOME=/usr/tomcat8 export PATH=$PATH:$JAVA_HOME/bin:$CATALINA_HOME/bin3)修改 $CATALINA_HOME/bin/catalina.sh文件,在該文件中靠前的部分加上 JAVA_HOME 和 CATALINA_HOME,如下圖
JAVA_HOME=/usr/java CATALINA_HOME=/usr/tomcat84)建立一個(gè)從 bin/catalina.sh 到 /etc/init.d/tomcat8 的鏈接,并且重載系統(tǒng)管理配置,
cd /etc/init.d ln -s /usr/tomcat8/bin/catalina.sh ./tomcat8 systemctl daemon-reload到此為止,就可以使用 service tomcat8 start/stop/status 了。
總結(jié)
以上是生活随笔為你收集整理的在Ubuntu 16.04 中将应用添加到系统服务中的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 高仿小米日历
- 下一篇: ubuntu18.04安装pycharm