日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 运维知识 > linux >内容正文

linux

第一次使用Linux服务器所栽之坑

發(fā)布時(shí)間:2023/12/31 linux 49 豆豆
生活随笔 收集整理的這篇文章主要介紹了 第一次使用Linux服务器所栽之坑 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

一直以來想擁有一個(gè)服務(wù)器,但是一直舍不得.9.21日終于心血來潮,買了一個(gè)騰訊云服務(wù)器.對(duì)比了一下騰訊云和阿里云,發(fā)現(xiàn)騰訊云比較良心,不僅有學(xué)生價(jià)1元/月,而且整體價(jià)格也比阿里云便宜.之前用過一次阿里云,當(dāng)時(shí)是windows server2008,安裝啥軟件都安裝不成功.所以,以后就用騰訊云了.最便宜的服務(wù)器是45元/月,首次注冊(cè)免費(fèi)贈(zèng)送一大堆代金券,分成很多類別,比如服務(wù)器代金券,數(shù)據(jù)庫代金券等.要想使用學(xué)生價(jià),就要進(jìn)行學(xué)生認(rèn)證,這就要求在學(xué)信網(wǎng)上注冊(cè)信息.剛剛開學(xué),學(xué)校還沒有將學(xué)生的信息輸入到學(xué)信網(wǎng)上.所以就用20元代金券+25元人民幣買了一個(gè)服務(wù)器,等學(xué)生認(rèn)證成功之后在用學(xué)生價(jià).服務(wù)器有很多選項(xiàng),比如內(nèi)存,網(wǎng)速,操作系統(tǒng)等,我選了ubuntu操作系統(tǒng).

有了服務(wù)器之后,就開始折騰.花了一天半時(shí)間,安裝卸載了好幾次軟件,中間栽了大坑無數(shù),特此總結(jié)以警示后來人.

一.盡量不要使用sudo apt-get來安裝程序

linux上的軟件最好使用綠色免安裝的,用wget url來下載,用tar -zxvf來解壓.

apt方式弊端太多了,上面軟件很老!要想使用最新版,必須手動(dòng)去下載.當(dāng)你輸入java指令,提示安裝jre,會(huì)發(fā)現(xiàn)apt的軟件倉庫里面jdk都很舊.安裝默認(rèn)的mysql也是5.x的,有點(diǎn)老.

apt方式弊端太多了,它把目錄結(jié)構(gòu)弄得混亂不堪!雖然通過指令安裝成功了,但是你根本就不知道程序安裝到了哪里,想找配置文件都很麻煩.

二.ssh遠(yuǎn)程登錄和ftp兩個(gè)最重要服務(wù)器操作手段

xshell用于SSH加密遠(yuǎn)程登錄服務(wù)器,它的同類產(chǎn)品有:SecureCRT,Putty,apache mina項(xiàng)目中有一個(gè)SSH子項(xiàng)目.

vsftpd用于ftp上傳下載文件,apache mina項(xiàng)目是一個(gè)網(wǎng)絡(luò)相關(guān)庫,包括SSH,FTP相關(guān)庫.它下面有一個(gè)ftpserver的子項(xiàng)目。SSH其實(shí)再帶SFTP,無需安裝任何其他FTP工具,SFTP默認(rèn)端口為22。

服務(wù)器端使用vsftpd作為ftp服務(wù)器端,客戶端可以使用任意一種ftp工具,比如filezilla.使用vsftpd需要在/etc/vsftpd文件中進(jìn)行配置,一個(gè)是改密碼,另一個(gè)是允許寫數(shù)據(jù).

允許寫數(shù)據(jù),添加這句話:

# Uncomment this to enable any form of FTP write command. write_enable=YES

有了vsftpd,就可以通過filezilla向服務(wù)器上傳軟件了,有些服務(wù)器上wget無法下載的程序,可以從客戶端傳上去.

三.安裝mysql

如果使用apt安裝默認(rèn)的mysql,版本比較老.注意要安裝mysql時(shí),有好幾個(gè)安裝包:mysql-core,mysql-client,mysql-server等,它們之間有依賴關(guān)系,也就是有包含關(guān)系,只需要輸入安裝mysql-server就夠了.一定別安錯(cuò)了,輸入sudo apt-get install mysql之后,多按幾次tab鍵.mysql如果手動(dòng)下載然后安裝,會(huì)很復(fù)雜,比tomcat,ftpserver的安裝復(fù)雜多了.所以,最好使用sudo apt-get install mysql-server命令來安裝mysql.

安裝完mysql之后,本地訪問正常,在客戶端使用workbench連接時(shí)總是報(bào)錯(cuò),這是因?yàn)樾枰渲?etc/my.conf.默認(rèn)情況下,這個(gè)文件中有一句:

bind-address=127.0.0.1

這表示mysqld只監(jiān)聽本地的3306端口,不監(jiān)聽外部端口,把這句話中的ip地址改成0.0.0.0表示監(jiān)聽一切端口.或者注釋掉這句話,默認(rèn)情況下監(jiān)聽一切端口.

為了讓mysql支持遠(yuǎn)程登錄,先mysql -uroot -p進(jìn)入數(shù)據(jù)庫,把mysql.user表中的root的host修改為%或者固定的ip地址.

上述兩個(gè)操作完成之后,sudo service mysql restart

mysql的默認(rèn)編碼是latin而非utf8,為了解決亂碼問題,修改/etc/mysql/my.cnf,

[client]default-character-set=utf8[mysqld]#加default-character-set=utf8無法啟動(dòng)character-set-server=utf8

四.安裝java和tomcat

為了使用java8,從官網(wǎng)上下載jdk需要點(diǎn)擊按鈕同意,然后才允許下載,這樣wget就得換一種方式,讓wget帶著accept liscense這個(gè)cookie去下載.

wget --no-check-certificate --no-cookies --header "Cookie: oraclelicense=accept-securebackup-cookie" http://download.oracle.com/otn-pub/java/jdk/7u71-b14/jdk-7u71-linux-x64.rpm

也可以用客戶端下載完成后使用ftp傳上去.解壓之后就能使用了.

需要把java和javac命令添加到環(huán)境變量中去.

ubuntu中的環(huán)境變量跟windows一樣,也是分成好幾種,包括系統(tǒng)環(huán)境變量,用戶環(huán)境變量,超級(jí)用戶環(huán)境變量.

如果更改~/.profile或者~/.bashrc,那么更改的就是用戶環(huán)境變量,不影響其他用戶.

如果更改/etc/profile及profiled下的文件,那么更改的就是系統(tǒng)環(huán)境變量,也影響其他用戶.

$PATH變量最開始是在/etc/environment中定義的,所以也可以更改這個(gè)文件.

但是上面所有方法都沒法在sudo命令下使用java,因?yàn)閟udo命令會(huì)把$PATH等環(huán)境變量重置,于是你添加的目錄就看不見了.這么怪異而偏僻的東西,吾如何知之?不信可以編寫一個(gè)haha.sh,里面只有一句話:echo $PATH.使用./haha.sh和sudo ./haha.sh輸出結(jié)果是不一樣的.那么如何更改sudo下的PATH呢?更改/etc/sudoers文件.

tomcat可以直接wget下載,解壓即用.進(jìn)入其bin目錄下,運(yùn)行startup.sh就可以啟動(dòng)服務(wù)器了,這個(gè)startup.sh調(diào)用了catalina.sh,setclasspath.sh等文件.它會(huì)自動(dòng)根據(jù)java命令所在的位置來定義JAVA_HOME,JRE_HOME.

注意,因?yàn)樾枰壎ǘ丝谔?hào),運(yùn)行tomcat是一個(gè)權(quán)限較高的操作,所以需要使用sudo ./startup.sh.

這時(shí)如果發(fā)現(xiàn)提示找不到JAVA_HOME,那就跟我走的坑一樣了.我明明在~/.bashrc中把java命令所在文件夾添加到了$PATH中,為何找不到?這是因?yàn)槭褂昧藄udo導(dǎo)致$PATH被重置了,所以就找不到j(luò)ava命令了!解決方法是更改startup.sh腳本,在腳本中直接定義JAVA_HOME或者直接更改$PATH.這么偏僻的東西我怎么能想到!!!

運(yùn)行startup.sh之后,運(yùn)行ps -a命令會(huì)發(fā)現(xiàn)有一個(gè)java正在運(yùn)行,這說明tomcat已經(jīng)啟動(dòng).額.打開瀏覽器,訪問服務(wù)器8080端口,結(jié)果一直顯示正在請(qǐng)求,一直無法加載成功.為啥呀?這個(gè)問題讓我糾結(jié)了一晚上,我到底做錯(cuò)了什么,為啥服務(wù)器啟動(dòng)了無法訪問?在服務(wù)器上使用wget localhost:8080看看能不能本地訪問,也說:請(qǐng)求已發(fā)送,正在等待回復(fù).這時(shí),如果你靜靜的等待個(gè)半小時(shí),會(huì)發(fā)現(xiàn)好了,一切正常運(yùn)行,網(wǎng)頁訪問速度也絲毫不慢.然而,我昨天晚上糾結(jié)這個(gè)問題時(shí),沒有等待這么長時(shí)間,所以一直不知道錯(cuò)誤原因.百度"linux 安裝tomcat"看看別人是怎么安的,結(jié)果人家都是解壓就用.昨晚真是氣沖斗牛,錯(cuò)了不知道哪里錯(cuò)了這種感覺真是人間最痛苦的感覺之一.實(shí)際上,我什么都沒有做錯(cuò),錯(cuò)的是系統(tǒng),這個(gè)問題網(wǎng)上有大量的資料,百度"ubuntu tomcat啟動(dòng)慢"就可以了,原因是為了加密,生成某個(gè)隨機(jī)數(shù),那個(gè)隨機(jī)數(shù)需要收集系統(tǒng)噪音,所以需要等待很長時(shí)間,在startup.sh中添加一句話就可以了

export CATALINA_OPTS="-Djava.security.egd=file:/dev/./urandom"

要想停止tomcat,有兩種方法:一是運(yùn)行bin/shutdown.sh;另一種方法是ps -a,kill 名字叫java的那個(gè)程序.

實(shí)際上,運(yùn)行tomcat完全不需要sudo,因?yàn)閠omcat占用的是8080端口!這樣也確實(shí)能夠運(yùn)行,但是打開瀏覽器卻無法訪問很多webapp,這是因?yàn)镃ATALINA_HOME這個(gè)文件夾下有很多owner為root的文件,webapp無法訪問這些文件,解決方法是:

chown 用戶名 apache-tomcat -R

-R表示遞歸更改文件所屬用戶

五.使用ubuntu的幾個(gè)原則

盡量自己下載解壓即用的軟件,不要使用apt-get.

盡量在~/和/opt/目錄下操作,不要摻和其他目錄.比如tomcat說沒有JAVA_HOME,那么就更改它的startup.sh,在里面添加一句JAVA_HOME,而不要更改/etc/sudoer.即盡量把問題在自己家里解決,不要把問題在系統(tǒng)級(jí)別上解決.

盡量避免rm指令,不對(duì),一定不要使用rm指令,而是要自己編寫一個(gè)del腳本,它把刪除了的文件移到rubbish文件夾中.

總之,只有DIY才能活得好,才能有主權(quán),才能減少學(xué)習(xí)量.

最后,上面所說的每一個(gè)坑我都躺了半天,耗費(fèi)了大量時(shí)間與精力,我認(rèn)為這是不值得的,因?yàn)檫@些知識(shí)毫無用處,只是"知道了",如果有人指導(dǎo)我,那將省去很多功夫.這么糾結(jié)而茫然求索的過程十分痛苦,不利于身體健康,有這功夫就不如去研究一下深度學(xué)習(xí).在"人造"的坑里躺著遠(yuǎn)遠(yuǎn)不如在"天然"坑里面躺著舒服.

總結(jié)

以上是生活随笔為你收集整理的第一次使用Linux服务器所栽之坑的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。