java開發者linux入門
- 2019 年 10 月 6 日
- 筆記
前言

在入門linux的時候感覺大部分很糟糕的,尤其是java開發者來說,對於非運維人員可能剛開始會對linux有很大的抵觸性,可能還是更多喜歡桌面操作。或者在之前的學習中本來web的一堆東西就已經夠繞的了,怎麼又來個linux。
萬事開頭難,對於java開發者對運維也有一定的要求,所以linux這塊還是要抱著懷抱之心吧,可以先從伺服器或者雙系統,又或者虛擬機入手。
伺服器
伺服器的選擇
- 感覺伺服器還是
阿里雲
好用一些吧,相比騰訊雲阿里雲的鏡像選擇更多一些
,不少作者把開發環境部署好,能夠滿足大部分開發者的環境需求,減少配置的步驟,當然,如果你想學習配置,時間充足。可以選裸的鏡像配置環境,但是做好伺服器被玩炸重新配的準備。並且如果是學生用戶各大雲平台基本都是10元一月學生機。也不貴。
安全組注意事項:
- 對於伺服器,鏡像選擇完安全組是第一個要乾的事情。記得當時年少啟動tomcat怎麼也訪問不了,防火牆關閉也不行。是因為雲平台的安全組
入口方向埠
沒有開通。雲平台為了保護伺服器在用戶之外設置了一層防火牆,需要你在。當然,類似80
這些埠需要備案後才能使用! - 不要開通所有埠,埠可能成為被攻擊的對象,並且還有些中間件會有漏洞,一些人會順著這個漏洞入侵。比如
redis
6379
埠的挖礦漏洞。需要那個埠去開就ok了。

雙系統(虛擬機)
- 對於伺服器用centos7和ubuntu居多。但是如果裝雙系統個人感覺
ubuntu
等debian
系列更好用,如果你是其他系列愛好者也行。 - 對於安裝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 packag
e 刪除包
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
