java開發者linux入門

  • 2019 年 10 月 6 日
  • 筆記

前言

在入門linux的時候感覺大部分很糟糕的,尤其是java開發者來說,對於非運維人員可能剛開始會對linux有很大的抵觸性,可能還是更多喜歡桌面操作。或者在之前的學習中本來web的一堆東西就已經夠繞的了,怎麼又來個linux。

萬事開頭難,對於java開發者對運維也有一定的要求,所以linux這塊還是要抱著懷抱之心吧,可以先從伺服器或者雙系統,又或者虛擬機入手。

伺服器

伺服器的選擇

  • 感覺伺服器還是阿里雲好用一些吧,相比騰訊雲阿里雲的鏡像選擇更多一些,不少作者把開發環境部署好,能夠滿足大部分開發者的環境需求,減少配置的步驟,當然,如果你想學習配置,時間充足。可以選裸的鏡像配置環境,但是做好伺服器被玩炸重新配的準備。並且如果是學生用戶各大雲平台基本都是10元一月學生機。也不貴。

安全組注意事項:

  • 對於伺服器,鏡像選擇完安全組是第一個要乾的事情。記得當時年少啟動tomcat怎麼也訪問不了,防火牆關閉也不行。是因為雲平台的安全組入口方向埠沒有開通。雲平台為了保護伺服器在用戶之外設置了一層防火牆,需要你在。當然,類似80這些埠需要備案後才能使用!
  • 不要開通所有埠,埠可能成為被攻擊的對象,並且還有些中間件會有漏洞,一些人會順著這個漏洞入侵。比如redis 6379埠的挖礦漏洞。需要那個埠去開就ok了。

雙系統(虛擬機)

  • 對於伺服器用centos7和ubuntu居多。但是如果裝雙系統個人感覺ubuntudebian系列更好用,如果你是其他系列愛好者也行。
  • 對於安裝ubuntu說一點。如果是N卡的可能會遇到很多坑。因為顯示卡問題筆者的ubuntu裝了大概有三四次。並且也崩潰過。N卡的話記住一個單詞nomedeset。在進入時候按e在spash後面添加就能進入系統不會死機。進入系統後可自行安裝Nivadia驅動。或者用ubuntu自帶的設備更新器的驅動。這樣能保證你的開機正常,但是關閉螢幕時間長會死機。就需要你安裝新版本的驅動了。自行百度或者增加顯示卡的ppa源更新。瞎搞搞即可!
  • 搞完之後就可以對你的系統進行安裝程式,完善了。有很多軟體支援ubuntu系統。 –

常用指令

對於linux最重要的就是指令了。對於自己常用的指令也做一些匯總。

常用

cd xxx #進入目錄 ls/ll #查看文件夾內容 mkdir xxx #創建文件夾 vim xxx.xxx #創建xxx.xxx文件 tree #樹型結構 rm -rf */xxx #刪除所以/xxx文件 mv a xx/a #移動/重命名 ./xxx.sh #啟動xxx.sh kill -9 xxxx #刪除進程號 poweroff #關機 ping ip #連接測試 ifconfig #查看和配置網路設備

許可權

chmod [-R] xyz 文件或目錄 eg:chmod -R 777 tomcat #對tomcat文件夾更改許可權 -R:進行遞歸的持續更改,即連同子目錄下的所有文件都會更改 chown命令改變文件所有者 chgrp命令,改變文件所屬組

更新、下載

wget 鏈接地址 #遠程下載 sudo apt-get update 更新包資源 sudo apt-get install 安裝 sudo apt-get remove package 刪除包

vim/vi簡單

vim xxx.log #查看xxx文件 進入後i 編輯 編輯完 Esc 輸入(shift+;) 輸入wq!

java

tomcat: 啟動(進入bin下) ./startup.sh 關閉(進入bin下) ./shutdown.sh 實時查看日誌/控制台:tail -f xxx.out springboot: jar 包啟動 java -jar xxx.jar jar 包後台啟動 nohup java -jar xxx.jar &

查看系統、進程

ps aux #查看系統進程 netstat -tunlp|grep 5601 #查看該埠對應進程 ps -ef|grep java #查看java(可替換)相關進程 free -m #查看系統記憶體、cpu等指標運行情況 top #查看進程情況

ssh

遠程連接(先apt-get install ssh) ssh 角色@ip/域名地址 ssh [email protected]

tar解壓縮

tar -zcvf xxx.tar.gz xxx打包 tar -zxvf xxx.tar.gz xxx 解壓

zip -r filename.zip filesdir 壓縮 unzip filename.zip 解壓

其他解壓縮甚至指令如有需要請具體百度

scp命令(樣例取自菜鳥教程)

scp:本地到遠程 scp 本地文件 遠程用戶名@遠程ip/域名:遠程伺服器地址 scp /home/space/music/1.mp3 [email protected]:/home/root/others/music scp /home/space/music/1.mp3 [email protected]:/home/root/others/music/001.mp3 scp /home/space/music/1.mp3 www.runoob.com:/home/root/others/music scp /home/space/music/1.mp3 www.runoob.com:/home/root/others/music/001.mp3

scp:遠程到本地 scp [email protected]:/home/root/others/music /home/space/music/1.mp3 scp -r www.runoob.com:/home/root/others/ /home/space/music/

mysql

登錄允許遠程連接 mysql -uroot -p GRANT ALL PRIVILEGES ON . TO 『root』@』%』 IDENTIFIED BY 『123456』 WITH GRANT OPTION; FLUSH PRIVILEGES;

Elasticsearch

es:(很多坑需要百度解決) sysctl -w vm.max_map_count=262144 #修改虛擬機允許的記憶體

su elasticuser (要先創建elasticuser用戶,esroot不能啟動) ./elasticsearch -d #後台啟動

修改hosts

sudo gedit /etc/hosts

圖標添加

/usr/share/applications  vim xxx.desktop  [Desktop Entry]  Name=eclipse  Name[zh_CN]=eclipse  Comment=eclipse Client  Exec=/softwares/softwares/eclipse/eclipse  Icon=/softwares/softwares/eclipse/icon.xpm  Terminal=false  Type=Application  Categories=Application;  Encoding=UTF-8  StartupNotify=true    

nginx

sudo apt install nginx Ubuntu安裝之後的文件結構大致為:

所有的配置文件都在/etc/nginx下,並且每個虛擬主機已經安排在了/etc/nginx/sites-available下 程式文件在/usr/sbin/nginx 日誌放在了/var/log/nginx中 並已經在/etc/init.d/下創建了啟動腳本nginx 默認的虛擬主機的目錄設置在了/var/www/nginx-default (有的版本 默認的虛擬主機的目錄設置在了/var/www, 請參考/etc/nginx/sites-available里的配置)

關閉

nginx -s reload :修改配置後重新載入生效

nginx -s reopen :重新打開日誌文件 nginx -t -c /path/to/nginx.conf測試nginx配置文件是否正確

關閉nginx: nginx -s stop :快速停止nginx quit :完整有序的停止nginx

其他的停止nginx 方式:

ps -ef | grep nginx kill -9 xxxx