Linux基礎與Nginx基礎

linux基礎命令
    對文件夾(目錄)操作
    對文件操作
    文件壓縮相關命令
    文件權限
    補充其他命令

linux網絡

nginx

一.Linux基礎

(0)Linux的發展歷程

1968 ,MITBell實驗室、美國通用電氣有限公司走到了一起,致力於開發Multics項目。到後期由於開發進度不是很
好,MITBell實驗室相繼離開這個項目的開發,最終導致項目擱淺。
 
1970年,Bell實驗室中有一個小夥(Ken Thompson )開發了一款遊戲(travel space:遨遊太空),因爲兩個實驗室
相繼離開項目開發,導致他開發出來的遊戲沒辦法運行,所以在Multics項目上重寫開發,誕生了Unix
 
1973年,因爲彙編語言有一個最大的侷限性:對於計算機硬件過於依賴導致移植性不好,所以創造了大名鼎鼎的 C
言,並重寫了Unix
 
1975年,Bell實驗室允許大學使用Unix操作系統用於教學作用,而不允許用於商業用途。
 
Linux是基於Unix的開源免費的操作系統
 
Linux是一種自由和開放源碼的操作系統,存在着許多不同的Linux版本,但它們都使用了Linux內核。Linux可安裝在各
種計算機硬件設備中,比如手機、平板電腦、路由器、臺式計算機。

分類:

根據市場需求不同,分爲兩個方向 :
1. 圖形化界面版:注重用戶體驗,但目前成熟度不夠。
2. 服務器版:沒有好看的界面,是以在控制檯窗口中輸入命令操作系統的,是我們架設服務器的最佳選擇,類似於
DOS界面
 
根據原生程度不同,分爲兩個方向
1. 內核版本:在Linux之父領導下的內核小組開發維護的系統內核的版本號。
2. 發行版本:一些個人/組織/公司在內核版基礎上進行二次開發而重新發行的版本號。

 

(1)遠程連接工具的使用

在實際開發中,Linux服務器都在其他的地方,我們要通過windows客戶端工具遠程去連接Linux並操作它,連接Linux的windows客戶端工具有很多,企業中常用的有secureCRT、Putty、xshell、SSH Secure等

我們使用SecureCRT客戶端工具進行連接Linux操作系統,該工具是免費的圖形化界面和命令行窗口集一身客戶端工具。

客戶端連接工具

查看ip地址:

 

(2)Linux目錄結構:

* root目錄:超級管理員所在的目錄,用~表示

* home目錄:普通用戶所在的目錄

* usr目錄:安裝用戶文件所在的目錄

* etc目錄:Linux系統管理和配置文件所在的目錄

 

(3)文件夾(目錄)操作命令

 1)查看:

* 語法
		ls [參數]

* 參數解釋
		-l  以詳細形式查詢當前目錄下所有文件和目錄,不包括隱藏文件和目錄
		-a  以精簡形式查詢當前目錄下所有文件和目錄,包括隱藏文件和目錄
		
* 命令
        cd /		進入根目錄
        ls      	以精簡形式查詢當前目錄下的內容
        ls -l     	以詳細形式查詢當前目錄下的內容,d表示目錄,-表示文件;此命令可以簡寫爲ll
        ls -a    	以精簡形式查詢當前目錄下的隱藏內容
        ls -la    	以詳細形式查詢當前目錄下的隱藏內容,la和al都可
        clear    	清屏

2)跳轉

* 語法
		cd 目錄
			絕對路徑
				/xxx/xxx/xxx
			相對路徑
				./ 當前目錄
				../ 上級目錄
		
* 命令
			cd	~	當前用戶目錄
            cd	/	根目錄
            cd 	-	上一次訪問的目錄
            cd	..	上一級目錄
            cd		當前用戶目錄

3)創建

* 語法
		mkdir [參數] 目錄

* 參數解釋
		-p 一次性創建多級目錄,如果目錄存在不會覆蓋
		
* 命令
        cd /			 定位於根目錄
        mkdir aaa        在當前目錄下創建aaa目錄,相對路徑
        mkdir ./bbb      在當前目錄下創建bbb目錄,相對路徑
        mkdir /ccc       在根目錄下創建ccc目錄,絕對路徑
        mkdir /ddd/eee	 在根目錄下創建ddd目錄和eee子目錄

4)搜索

* 語法
		find 目錄 -name '條件'
		
* 命令
        cd /
        find / -name  'b'      查詢根目錄下(包括子目錄),名爲b的目錄和文件
        find / -name  'b*'     查詢根目錄下(包括子目錄),名以b開頭的目錄和文件
        在Linux中,按ctrl+c     強行終止程序執行

5)修改:用來爲文件或目錄改名、或將文件或目錄移入其它位置。

* 語法
		mv 	舊目錄	 新目錄

* 命令
		cd /
		mv aaa aaaa     將根目錄下的aaa目錄修改爲aaaa

6)剪切(同樣支持重命名)

* 語法
		mv 	原目錄位置 	新目錄的位置

* 命令
		cd /					
		mv  /aaaa /bbb       將根目錄下的aaaa目錄,移動到bbb目錄下,在bbb目錄下也叫aaaa目錄
		mv  bbb  usr/bbbb    將當前目錄下的bbb目錄,移動到usr目錄下,且修改名爲bbbb	

7)複製(支持改名)

* 語法
		cp   -r	目錄   目錄的新位置
		
* 參數解釋
		-r  遞歸複製,將指定目錄下的文件與子目錄一併處理
		
* 命令
		cd /					 定位於/目錄
        cp -r  /aaa   /bbb       將/目錄下的aaa目錄複製到/bbb目錄下,在/bbb目錄下名字爲aaa
        cp -r  /aaa   /bbb/aaaa  將/目錄下的aaa目錄複製到/bbb目錄下,且修改名爲aaaa

 

8)刪除

* 語法
		rmdir   [參數]	目錄
		
* 參數解釋
		-p 刪除目錄及其父目錄
		
* 命令
		cd  /		 
		rmdir bbb/ccc		刪除bbb目錄下ccc目錄
		rmdir -p bbb/ccc	刪除bbb目錄和ccc子目錄

總結:

1. 目錄查看
		ll [-a]
		
2. 目錄跳轉
		cd	絕對路徑 [相對路徑]
		
3. 創建目錄
		mkdir -p 文件夾名稱
		
4. 搜索
		find 指定路徑 -name '關鍵字'
		
5. 剪切
		mv  原來位置 新位置(改名)
		
6. 複製
		cp -r 原來位置 複製後新位置(改名)

 

(4)文件操作命令

1)創建

* 語法
		touch 	文件名.擴展名
		
* 命令
        cd  /soft		 定位於/soft目錄
        touch  a.java    在soft目錄中創建a.java文件
        touch  b.txt     在soft目錄中創建b.txt文件
        touch  c.xml     在soft目錄中創建c.xml文件	

2)查看

* 語法
		cat/more/less/head/tail	文件

* 命令
		cd /soft		 
        cat a.java         查看a.java文件的最後一頁內容
        more a.java        從第一頁開始,按回車鍵換行,按空格健翻頁,q退出
        less a.java        從第一頁開始,按回車鍵換行,按空格健翻頁,支持使用PgUp和PgDn翻頁,q退出
        head a.java 	   查看a.java文件的前10行內容
        tail a.java		   查看a.java文件的後10行內容
        head -n 7 a.java   查看a.java文件的前7行內容
        tail -n 7 a.java   查看a.java文件的後7行內容
        
* 規則
		如果查看頁面數據:cat
		如果查看多頁數據:less
			回車:下一行
			空格:下一頁
			PGUP:上一頁
			PGDN:下一頁
			q退出
		查看頭部幾行:head 
		查看尾部幾行:tail

3)刪除

* 語法
		rm   [參數]	  目錄或文件
		
* 參數解釋
		-r  遞歸處理,將指定目錄下的所有文件及子目錄一併處理,它會詢問你,y表示是刪除,n表示不刪除
		-f  強制刪除,它不會再詢問你
		
* 命令
		cd  /soft
        rm -rf a.java      強行式刪除當前目錄下的a.java文件
        rm -rf ./a*        強行式刪除當前目錄下以a開頭的所有文件
        rm -rf /           刪除全部,強制刪除===自殺
        

4)編輯(Vi和Vim)

linux 下的vi 是一種文字編輯器,後來的升級版本是vim。vi 分爲三種模式:命令行、插入、底行模式。

* 簡單使用
		vim a.java
        i 切換到插入模式
        esc 切換到命令行模式
		:wq! 保存並退出 | :q! 直接退出


* 切換到插入模式
        i 在當前位置前插入
        I 在當前行首插入
        a 在當前位置後插入
        A 在當前行尾插入
        o 在當前行之後插入一行
        O 在當前行之前插入一行

* 切換到命令行模式
		 按Esc鍵
		 yy	複製當前行
      	 p	粘貼
      	 dd	刪除當前行
      	 G	到文件的最後一行
      	 gg	到文件的第一行  
        
* 切換到底行模式
		按 :(冒號)
		:wq	保存退出
		:q	退出vi(文件無修改的情況下)
		:q!	不保存強制退出

 

(5)文件壓縮命令

windows的壓縮文件的擴展名:  .zip或.rar

Linux中的打包文件擴展名:.tar

Linux中的壓縮文件擴展名:.gz

Linux中打包壓縮的文件擴展名:.tar.gz

1)將文件打包成壓縮包

* 語法
		tar	-zcvf  打包壓縮後的文件名  要打包的文件
		tar -cvf  *****.tar  a.java b.java c.xml d.txt
		tar -zcvf *****.tar.gz a.java b.java c.xml d.txt
		
* 參數解釋
		-z:調用gzip壓縮命令進行壓縮
        -c:打包文件
        -v:顯示運行過程
        -f:指定文件名
        
* 命令
		cd /soft			定位於/soft目錄
        tar   -zcvf 	haha.tar.gz   a.java  b.java  c.java
        或
        tar   -zcvf		haha.tar.gz   ./*  將當前目錄下的所有文件打包壓縮成haha.tar.gz文件

2)解壓縮包獲得文件

* 語法
		tar -zxvf  壓縮文件 
			解壓後的文件放在當前目錄中
		tar -zxvf  壓縮文件 –C指定目錄
			解壓後的文件放入指定目錄中,注意-C是大寫字母C,後面不用接空格符
			
* 參數解釋
		-z   自動識別壓縮或解壓
		-x   取出文件中的內容
		-v   輸出文件清單
		-f   文件名由命令臺設置
		
* 命令
		cd  /soft					定位於/soft目錄
		rm -rf  ./*.java			強制式刪除當前目錄下所有擴展名爲java的文件
		tar  -xvf  haha.tar.gz		解壓haha.tar.gz這個壓縮文件,裏面的文件釋放到當前目錄下
		tar  -xvf  haha.tar.gz -C/usr/local	
                           		 解壓haha.tar.gz這個壓縮文件,裏面的文件釋放到/usr/local目錄下

 

(6)文件權限命令:

Linux中對每個目錄和文件都做了規定,只能由滿足條件的用戶才能操作,這個規定叫權限。

* 語法
		chmod	[參數]	[<權限範圍><符號><權限代號>]
		
* 參數解釋
		-R 遞歸處理,將指定目錄下的所有文件及子目錄一併處理
		
* 權限範圍
        u:User,即文件或目錄的擁有者。 
        g:Group,即文件或目錄的所屬羣組。 
        o:Other,除了文件或目錄擁有者或所屬羣組之外,其他用戶皆屬於這個範圍。 
        a:All,即全部的用戶,包含擁有者,所屬羣組以及其他用戶。
        
* 符號解釋
			+ 添加權限
			- 取消權限
			= 重置權限
			
* 權限代號
			r:讀取權限,數字代號爲"4"
    		w:寫入權限,數字代號爲"2"
    		x:執行或切換權限,數字代號爲"1"
    		-:不具任何權限,數字代號爲"0"
    		
* 命令
        chmod u+x 1.txt    給1.txt的擁有者添加執行權限,這種寫法稍微有點麻煩,開發中一般使用數字代號
        chmod 755 1.txt	   給1.txt的擁有者設置讀寫執行權限,給所屬組添加讀和執行權限,給其他用戶

添加			 讀和執行權限
        chmod -R 777 a.txt	   給所有人添加對此文件操作的所有權限

 

(7)其他命令:

1)顯示工作目錄命令:

* 語法
		pwd

2)查看進程

* 語法
		ps -au:顯示客戶端打開的程序進程
		ps -ef:當前用戶打開的程序進程
		
* 參數解釋
		-a   顯示所有用戶通過終端啓動的所有進程
		-A   顯示所有進程
		-u   顯示所有用戶通過終端啓動的所有進程詳細信息
		-x   顯示所有用戶通過終端和非終端啓動的所有進程詳細信息
		-e   此參數的效果和指定"A"參數相同,顯示所有程序
		-f   顯示UID,PPID,C與STIME欄位

3)殺死進程

* 語法
		kill 進程號:
		kill -9 進程號:強制殺死

4)搜索(文本)

* 語法
		grep	[參數]	搜索字符串	文件名 

* 參數解釋
		-i   搜索時不區分大小寫,大小寫不敏感
		-n   顯示匹配行及行號,大小寫敏感
		-v   顯示不匹配行及行號,大小寫敏感
		
* 命令
        cd /
        grep as 123.txt		在123.txt文件中搜索as字符串,大小寫敏感,顯示行		
        grep -n as 123.txt	在123.txt文件中搜索as字符串,大小寫敏感,顯示行及行號
        grep -v as 123.txt	在123.txt文件中搜索as字符串,大小寫敏感,顯示沒搜索到行
        grep -i as 123.txt	在123.txt文件中搜索as字符串,大小寫不敏感,顯示行
        grep -ni "Q q" 123.txt	    在123.txt文件中搜索Q q字符串,大小寫不敏感,顯示行及行號

5)管道

* 語法
		xx | xx
		一個命令的輸出用作另一個命令的輸入
		
* 命令
		ls --help | more    分頁查詢幫助信息
		ps -au | grep system 	在ps -au的結果中,搜索字符串a

6)關機

* 語法
		poweroff

7)重啓:

* 語法
		reboot

 

二.Linux網絡

(1)網絡(卡)服務
查看當前網絡的狀態,並啓動和停止網絡服務。

* 查看ip
		ifconfig :CentOS6版本
		ip addr  :CentOS7版本
		
* 修改網卡ip
		vim /etc/sysconfig/network-scripts/ifcfg-ens33
		
* 概要信息如下		
		DEVICE=ens33          #網卡名稱
		TYPE=Ethernet         #網卡類型 以太網
		ONBOOT=yes            #是否開機就使用此網卡   在我們安裝的時候都已經配置好
		BOOTPROTO=dhcp    #啓動網卡時指定獲取IP地址的方式
			常用取值:dhcp     (自動獲取ip地址,網關,子網掩碼等信息無需設置) 
			常用取值:static   (靜態ip,如需要訪問網絡,需要自己設置ip地址等信息) 
			其他取值:none         (不指定)
            
      	IPADDR=192.168.200.133    #ip地址
		GATEWAY=192.168.200.2     #網關
		NETMASK=255.255.255.0     #子網掩碼
		DNS1=8.8.8.8       # Google提供的公用DNS       

* 重啓網卡服務
         systemctl status network     查看指定服務的狀態
        systemctl stop network         停止指定服務
        systemctl start network        啓動指定服務
        systemctl restart network      重啓指定服務

 

(2)防火牆服務

防火牆類似於一個安全衛士管家,它能對你訪問它人電腦,它人訪問你的電腦,進行攔截並處理,有的阻止,有的放行,有的轉發。

防火牆設置:

* 開啓防火牆
		systemctl start firewalld
		
* 重啓防火牆
		systemctl restart firewalld
		
* 關閉防火牆
		systemctl stop firewalld
		
* 設置開機啓動
		systemctl enable firewalld
		
* 停止並關閉開機啓動
		systemctl disable firewalld
		
* 查看防火牆狀態
		systemctl status firewalld	或者 firewall-cmd --state
		
* 查看防火牆開機時是否啓動
		systemctl list-unit-files | grep firewalld

端口設置:

* 添加
		firewall-cmd --zone=public --add-port=80/tcp --permanent
		
* 更新防火牆規則
		firewall-cmd --reload
		
* 查看
		firewall-cmd --zone=public --query-port=80/tcp
		firewall-cmd --zone=public --list-ports
		
* 刪除
		firewall-cmd --zone=public --remove-port=80/tcp --permanent
				
* 常用端口
		8080	tomcat
		80		http協議
		443		https協議
		22		ssh遠程連接
		3306	mysql
		6379	redis

 

 

三.Nginx介紹

(1)介紹
 

Nginx是一款輕量級的 Web 服務器,由俄羅斯的程序設計師伊戈爾·西索夫所開發。 Nginx性能非常優秀,官方測試能夠支撐5萬併發鏈接,並且 cpu、內存等資源消耗卻非常低,運行非常穩定。

Nginx的功能有很多,我們主要使用它來做靜態資源服務器、負載均衡服務器和反向代理服務器。

(2)應用場景

靜態資源服務器

部署網站的靜態資源(html、css、js)

反向代理服務器

代理: 給某個對象提供一個代理對象,並由代理對象控制原對象的引用

正向代理: 對客戶端進行代理

反向代理:對服務端進行代理

反向代理,就是對服務端進行代理,作爲客戶端,只需要將請求發送到反向代理服務器,由反向代理服務器去選擇目標服務器獲取數據後,再響應給客戶端,此時反向代理服務器和目標服務器對外就是一個服務器,暴露的是代理服務器地址,隱藏了真實服務器IP地址。

負載均衡服務器

負載均衡(Load Balance)意思就是將一份負載分攤到多個操作單元上進行執行

 

(3)windows安裝與使用

1. 官網地址:
	http://nginx.org/

2. 綠色解壓版

3. 啓動:
	雙擊nginx.exe即可啓動程序,提示放行防火牆,就消失了,其實是啓動成功了

4. 訪問:
	在瀏覽器輸入:http://localhost

5. dos命令行關閉:
	 nginx.exe -s stop

(4)配置文件介紹

注意:如果修改了配置文件:需要執行命令重新加載:

nginx.exe -s reload

 

(5)Nginx 與 tomcat區別:

1. 存放的文件(資源)形式
	Nginx是http服務器,只能解析靜態文件
	Tomcat是web中間件(本質上是一個servlet),能解析jsp和靜態文件
	
2. 用途
	nginx可以作爲反向代理服務器,負責均衡服務器,靜態資源存放服務器
	tomcat能作爲jsp容器使用,靜態資源存放服務器
	
3. 性能
	nginx支持5W+併發,tomcat的併發只能在200-400之間

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章