筆記8:Linux知識

linux學習筆記

1 Linux介紹

1.1 基本知識

  • 應用領域:服務器使用 LAMP(Linux + Apache + MySQL + PHP)或 LNMP(Linux + Nginx+ MySQL + PHP)組合。php

  • linux啓動:Linux系統的啓動過程能夠分爲5個階段:前端

    • 內核的引導。當計算機打開電源後,首先是BIOS開機自檢,按照BIOS中設置的啓動設備(一般是硬盤)來啓動。操做系統接管硬件之後,首先讀入 /boot 目錄下的內核文件。
    • 運行 init。init 進程是系統全部進程的起點,你能夠把它比擬成系統全部進程的老祖宗,沒有這個進程,系統中任何進程都不會啓動。init 程序首先是須要讀取配置文件 /etc/inittab。/boot /init 進程
    • 系統初始化。在init的配置文件中有這麼一行: si::sysinit:/etc/rc.d/rc.sysinit 它調用執行/etc/rc.d/rc.sysinit,而rc.sysinit是一個bash shell的腳本,它主要是完成一些系統初始化的工做,rc.sysinit是每個運行級別都要首先運行的重要腳本。
    • 創建終端 。rc執行完畢後,返回init。這時基本系統環境已經設置好了,各類守護進程也已經啓動了。
    • 用戶登陸系統。命令行登陸、ssh登陸、圖形界面登陸。
  • 運行級別:mysql

    • 運行級別0:系統停機狀態,系統默認運行級別不能設爲0,不然不能正常啓動
    • 運行級別1:單用戶工做狀態,root權限,用於系統維護,禁止遠程登錄
    • 運行級別2:多用戶狀態(沒有NFS)
    • 運行級別3:徹底的多用戶狀態(有NFS),登錄後進入控制檯命令行模式
    • 運行級別4:系統未使用,保留
    • 運行級別5:X11控制檯,登錄後進入圖形GUI模式
    • 運行級別6:系統正常關閉並重啓,默認運行級別不能設爲6,不然不能正常啓動
  • 窗口切換:默認登陸就是第一個窗口,也就是tty1,這個六個窗口分別爲tty1,tty2 … tty6,你能夠按下Ctrl + Alt + F1 ~ F6 來切換它們。當你進入命令窗口界面後再返回圖形界面只要按下Ctrl + Alt + F7 就回來了。linux

  • Linux關機:正確的關機流程爲:sync > shutdown > reboot > haltnginx

    sync 將數據由內存同步到硬盤中。
    shutdown –h now 立馬關機
    shutdown –h 20:25 系統會在今天20:25關機
    shutdown –h +10 十分鐘後關機
    shutdown –r now 系統立馬重啓
    shutdown –r +10 系統十分鐘後重啓
    
    reboot 就是重啓,等同於 shutdown –r now
    halt 關閉系統,等同於shutdown –h now 和 poweroff
  • Linux 忘記密碼:進入單用戶模式更改一下root密碼便可。git

  • 遠程登錄:Linux系統中是經過ssh服務實現的遠程登陸功能,默認ssh服務端口號爲 22。Window系統上 Linux 遠程登陸客戶端有SecureCRT, Putty, SSH Secure Shell等,本文以Putty爲例來登陸遠程服務器。程序員

    putty下載地址:http://www.putty.org/github

1.2 Linux 系統目錄結構

登陸系統後,在當前命令窗口下輸入命令ls /sql

  • /bin:目錄存放着最常用的命令。
  • /boot:這裏存放的是啓動Linux時使用的一些核心文件,包括一些鏈接文件以及鏡像文件。
  • /dev :dev是Device(設備)的縮寫, 該目錄下存放的是Linux的外部設備,在Linux中訪問設備的方式和訪問文件的方式是相同的。
  • /etc:存放全部的系統管理所須要的配置文件和子目錄。
  • /home:用戶的主目錄,在Linux中,每一個用戶都有一個本身的目錄,通常該目錄名是以用戶的帳號命名的。
  • /lib:這個目錄裏存放着系統最基本的動態鏈接共享庫,其做用相似於Windows裏的DLL文件。幾乎全部的應用程序都須要用到這些共享庫。
  • /media:linux系統會自動識別一些設備,例如U盤、光驅等等,當識別後,linux會把識別的設備掛載到這個目錄下。
  • /mnt:系統提供該目錄是爲了讓用戶臨時掛載別的文件系統的,咱們能夠將光驅掛載在/mnt/上,而後進入該目錄就能夠查看光驅裏的內容了。
  • /opt: 這是給主機額外安裝軟件所擺放的目錄。好比你安裝一個ORACLE數據庫則就能夠放到這個目錄下。默認是空的。
  • /proc:這個目錄是一個虛擬的目錄,它是系統內存的映射,咱們能夠經過直接訪問這個目錄來獲取系統信息。
  • /root:該目錄爲系統管理員,也稱做超級權限者的用戶主目錄。
  • /sbin:s就是Super User的意思,這裏存放的是系統管理員使用的系統管理程序。
  • /selinux: 這個目錄是Redhat/CentOS所特有的目錄,Selinux是一個安全機制,相似於windows的防火牆,可是這套機制比較複雜,這個目錄就是存放selinux相關的文件的。
  • /srv: 該目錄存放一些服務啓動以後須要提取的數據。
  • /sys:該目錄下安裝了2.6內核中新出現的一個文件系統 sysfs 。sysfs文件系統集成了下面3種文件系統的信息:針對進程信息的proc文件系統、針對設備的devfs文件系統以及針對僞終端的devpts文件系統。
  • /tmp:這個目錄是用來存放一些臨時文件的。
  • /usr: 這是一個很是重要的目錄,用戶的不少應用程序和文件都放在這個目錄下,相似於windows下的program files目錄。
  • /usr/bin:系統用戶使用的應用程序。
  • /usr/sbin:超級用戶使用的比較高級的管理程序和系統守護程序。
  • /usr/src:內核源代碼默認的放置目錄。
  • /var:這個目錄中存放着在不斷擴充着的東西,咱們習慣將那些常常被修改的目錄放在這個目錄下。包括各類日誌文件。
  • /run:是一個臨時文件系統,存儲系統啓動以來的信息。當系統重啓時,這個目錄下的文件應該被刪掉或清除。若是你的系統上有 /var/run 目錄,應該讓它指向 run。

1.3 文件操做

文件基本操做docker

在Linux中第一個字符表明這個文件是目錄、文件或連接文件等等。

  • 當爲[ d ]則是目錄
  • 當爲[ - ]則是文件;
  • 如果[ l ]則表示爲連接文檔(link file);
  • 如果[ b ]則表示爲裝置文件裏面的可供儲存的接口設備(可隨機存取裝置);
  • 如果[ c ]則表示爲裝置文件裏面的串行端口設備,例如鍵盤、鼠標(一次性讀取裝置)。
[root@www /]# ls -l
total 64
dr-xr-xr-x   2 root root 4096 Dec 14  2012 bin
dr-xr-xr-x   4 root root 4096 Apr 19  2012 boot
……

1559529871695

文件屬主和屬組

[root@www /]# ls -l
total 64
drwxr-xr-x 2 root  root  4096 Feb 15 14:46 cron
drwxr-xr-x 3 mysql mysql 4096 Apr 21  2014 mysql
……
  • chgrp:更改文件屬組,語法:-R:遞歸更改文件屬組,該目錄下的全部文件的屬組都會更改。
chgrp [-R] 屬組名 文件名
  • chown:更改文件屬主,也能夠同時更改文件屬組,語法:
chown [–R] 屬主名 文件名
chown [-R] 屬主名:屬組名 文件名

進入 /root 目錄(~)將install.log的擁有者改成bin這個帳號:

[root@www ~] cd ~
[root@www ~]# chown bin install.log
[root@www ~]# ls -l
-rw-r--r--  1 bin  users 68495 Jun 25 08:53 install.log

將install.log的擁有者與羣組改回爲root:

[root@www ~]# chown root:root install.log
[root@www ~]# ls -l
-rw-r--r--  1 root root 68495 Jun 25 08:53 install.log
  • chmod:更改文件9個屬性

Linux文件屬性有兩種設置方法,一種是數字,一種是符號。Linux文件的基本權限就有九個,分別是owner/group/others三種身份各有本身的read/write/execute權限。各權限的分數對照表以下:r:4,w:2,x:1

每種身份(owner/group/others)各自的三個權限(r/w/x)分數是須要累加的,例如當權限爲: [-rwxrwx---] 分數則是:

  • owner = rwx = 4+2+1 = 7
  • group = rwx = 4+2+1 = 7
  • others= --- = 0+0+0 = 0

因此等一下咱們設定權限的變動時,該文件的權限數字就是770啦!變動權限的指令chmod的語法是這樣的:xyz : 就是剛剛提到的數字類型的權限屬性,爲 rwx 屬性數值的相加。

chmod [-R] xyz 文件或目錄

舉例來講,若是要將.bashrc這個文件全部的權限都設定啓用,那麼命令以下:

[root@www ~]# ls -al .bashrc
-rw-r--r--  1 root root 395 Jul  4 11:45 .bashrc
[root@www ~]# chmod 777 .bashrc
[root@www ~]# ls -al .bashrc
-rwxrwxrwx  1 root root 395 Jul  4 11:45 .bashrc

那若是要將權限變成 -rwxr-xr-- 呢?那麼權限的分數就成爲 [4+2+1][4+0+1][4+0+0]=754。

處理目錄的經常使用命令

  • ls: 列出目錄

    1559531095401

  • cd:切換目錄

  • pwd:顯示目前的目錄

  • mkdir:建立一個新的目錄

    1559531212661

  • rmdir:刪除一個空的目錄

    1559531236470

  • cp: 複製文件或目錄

    1559531290707

  • rm: 移除文件或目錄

  • mv: 移動文件與目錄,或修改文件與目錄的名稱

    1559531408038

文件內容查看

  • cat 由第一行開始顯示文件內容

    1559531491848

  • tac 從最後一行開始顯示,能夠看出 tac 是 cat 的倒著寫!

  • nl 顯示的時候,順道輸出行號!

    1559531529930

  • more 一頁一頁的顯示文件內容

    1559531593763

  • less 與 more 相似,可是比 more 更好的是,他能夠往前翻頁!

    1559531636754

  • head 只看頭幾行

    1559531657325

  • tail 只看尾巴幾行

1559531675195

1.4 用戶和用戶組

實現用戶帳號的管理,要完成的工做主要有以下幾個方面:

  • 用戶帳號的添加、刪除與修改。

    1559532594208

    # useradd –d /usr/sam -m sam

    1559532684797

    1559532723881

  • 用戶口令的管理。用戶管理的一項重要內容是用戶口令的管理。用戶帳號剛建立時沒有口令,可是被系統鎖定,沒法使用,必須爲其指定口令後纔可使用,即便是指定空口令。

    1559532783036

    1559532857097

  • 用戶組的管理。用戶組的管理涉及用戶組的添加、刪除和修改。組的增長、刪除和修改實際上就是對/etc/group文件的更新。

    1559532932405

    1559532947830

    1559532980763

1.5 磁盤管理

Linux磁盤管理好壞直接關係到整個系統的性能問題。Linux磁盤管理經常使用三個命令爲df、du和fdisk。

  • df:列出文件系統的總體磁盤使用量,能夠利用該命令來獲取硬盤被佔用了多少空間,目前還剩下多少空間等信息。

    1559533232733

    1559533317162

  • du:檢查磁盤空間使用量,Linux du命令是對文件和目錄磁盤使用的空間的查看。

    1559533450382

    1559533508973

  • fdisk:用於磁盤分區

1559533520423

列出全部分區信息:fdisk -l

1.6 vim 編輯器

Vim是從 vi 發展出來的一個文本編輯器。代碼補完、編譯及錯誤跳轉等方便編程的功能特別豐富,在程序員中被普遍使用。

img

基本上 vi/vim 共分爲三種模式,分別是命令模式(Command mode)輸入模式(Insert mode)底線命令模式(Last line mode)。 這三種模式的做用分別是:

(1)命令模式

戶剛剛啓動 vi/vim,便進入了命令模式。此狀態下敲擊鍵盤動做會被Vim識別爲命令,而非輸入字符。好比咱們此時按下i,並不會輸入一個字符,i被看成了一個命令。如下是經常使用的幾個命令:

  • i 切換到輸入模式,以輸入字符。
  • x 刪除當前光標所在處的字符。
  • : 切換到底線命令模式,以在最底一行輸入命令。

若想要編輯文本:啓動Vim,進入了命令模式,按下i,切換到輸入模式。命令模式只有一些最基本的命令,所以仍要依靠底線命令模式輸入更多命令。

(2)輸入模式

在命令模式下按下i就進入了輸入模式。在輸入模式中,可使用如下按鍵:

  • 字符按鍵以及Shift組合,輸入字符
  • ENTER,回車鍵,換行
  • BACK SPACE,退格鍵,刪除光標前一個字符
  • DEL,刪除鍵,刪除光標後一個字符
  • 方向鍵,在文本中移動光標
  • HOME/END,移動光標到行首/行尾
  • Page Up/Page Down,上/下翻頁
  • Insert,切換光標爲輸入/替換模式,光標將變成豎線/下劃線
  • ESC,退出輸入模式,切換到命令模式

(3)底線命令模式

在命令模式下按下:(英文冒號)就進入了底線命令模式。底線命令模式能夠輸入單個或多個字符的命令,可用的命令很是多。在底線命令模式中,基本的命令有(已經省略了冒號):

  • q 退出程序
  • w 保存文件

按ESC鍵可隨時退出底線命令模式。簡單的說,咱們能夠將這三個模式想成底下的圖標來表示:

img

使用案例

  • 建立文件,按下i進入編輯模式,Esc回到通常模式,:wq保存且退出,:q退出

    $ vim runoob.txt
  • 常見按鍵

    1559556138575

    1559556195297

    1559556389935

    1559556462960

    1559556516010

1.7 yum 命令

yum( Yellow dog Updater, Modified)是一個Shell前端軟件包管理器。能夠自動處理依賴性關係,而且一次安裝全部依賴的軟體包,無須繁瑣地一次次下載、安裝。yum提供了查找、安裝、刪除某一個、一組甚至所有軟件包的命令,並且命令簡潔而又好記。

1559556661249

  • 常見命令
    • 1.列出全部可更新的軟件清單命令:yum check-update
    • 2.更新全部軟件命令:yum update
    • 3.僅安裝指定的軟件命令:yum install
    • 4.僅更新指定的軟件命令:yum update
    • 5.列出全部可安裝的軟件清單命令:yum list
    • 6.刪除軟件包命令:yum remove
    • 7.查找軟件包 命令:yum search
    • 8.清除緩存命令:
      • yum clean packages: 清除緩存目錄下的軟件包
      • yum clean headers: 清除緩存目錄下的 headers
      • yum clean oldheaders: 清除緩存目錄下舊的 headers
      • yum clean, yum clean all (= yum clean packages; yum clean oldheaders) :清除緩存目錄下的軟件包及舊的headers

1559557095809

1559557114442

1559557173383


2 Shell編程

2.1 基礎知識

Shell 是一個用 C 語言編寫的程序,它是用戶使用 Linux 的橋樑。Shell 既是一種命令語言,又是一種程序設計語言。Shell 腳本(shell script),是一種爲 shell 編寫的腳本程序。shell 和 shell script 是兩個不一樣的概念。新建一個文件 test.sh,擴展名爲 sh(sh表明shell)保存爲 test.sh,並 cd 到相應目錄:

#!/bin/bash
echo "這是個人第一行shell命令"

(1)做爲可執行程序運行

chmod +x ./test.sh  #使腳本具備執行權限
./test.sh  #執行腳本

(2) 做爲解釋器參數運行

/bin/sh test.sh
/bin/php test.php
  • shell變量,變量名和等號之間不能有空格
your_name="runoob.com"
for file in `ls /etc`
或
for file in $(ls /etc)

1559612838299

以上語句將 /etc 下目錄的文件名循環出來。

1559612950950

  • 定義只讀變量
#!/bin/bash
myUrl="http://www.google.com"
readonly myUrl
  • 刪除變量
unset variable_name
  • 變量類型,運行shell時,會同時存在三種變量:
    • 1) 局部變量 局部變量在腳本或命令中定義,僅在當前shell實例中有效,其餘shell啓動的程序不能訪問局部變量。
    • 2) 環境變量 全部的程序,包括shell啓動的程序,都能訪問環境變量,有些程序須要環境變量來保證其正常運行。必要的時候shell腳本也能夠定義環境變量。
    • 3) shell變量 shell變量是由shell程序設置的特殊變量。shell變量中有一部分是環境變量,有一部分是局部變量,這些變量保證了shell的正常運行
  • 拼接字符串
your_name="runoob"
# 使用雙引號拼接
greeting="hello, "$your_name" !"
greeting_1="hello, ${your_name} !"
echo $greeting  $greeting_1
# 使用單引號拼接
greeting_2='hello, '$your_name' !'
greeting_3='hello, ${your_name} !'
echo $greeting_2  $greeting_3
  • 獲取字符串長度
string="abcd"
echo ${#string} #輸出 4
  • 提取子字符串,第 2 個字符開始截取 4 個字符
string="runoob is a great site"
echo ${string:1:4} # 輸出 unoo
  • 查找子字符串,查找字符 io 的位置(哪一個字母先出現就計算哪一個):
string="runoob is a great site"
echo `expr index "$string" io`  # 輸出 4
  • shell數組,bash支持一維數組(不支持多維數組),沒有限定數組大小。數組元素用"空格"符號分割開。定義數組的通常形式爲:
數組名=(值1 值2 ... 值n)
array_name=(value0 value1 value2 value3)

​ 能夠不使用連續的下標,並且下標的範圍沒有限制。

array_name[0]=value0
array_name[1]=value1
array_name[n]=valuen
  • 讀取數組,使用 @ 符號能夠獲取數組中的全部元素

    ${數組名[下標]}
    valuen=${array_name[n]}
    echo ${array_name[@]}
  • 獲取數組長度

    # 取得數組元素的個數
    length=${#array_name[@]}
    # 或者
    length=${#array_name[*]}
    # 取得數組單個元素的長度
    lengthn=${#array_name[n]}
  • shell註釋。每一行加一個 # 號設置多行註釋,

1559614280694

2.2 Shell傳參

向腳本傳遞參數,腳本內獲取參數的格式爲:$nn 表明一個數字,1 爲執行腳本的第一個參數,2 爲執行腳本的第二個參數,以此類推……

#!/bin/bash

echo "Shell 傳遞參數實例!";
echo "執行的文件名:$0";
echo "第一個參數爲:$1";
echo "第二個參數爲:$2";
echo "第三個參數爲:$3";

爲腳本設置可執行權限,並執行腳本,輸出結果以下所示:

$ chmod +x test.sh 
$ ./test.sh 1 2 3
Shell 傳遞參數實例!
執行的文件名:./test.sh
第一個參數爲:1
第二個參數爲:2
第三個參數爲:3

1559614484189

  • $* 與 $@ 區別:
    • 相同點:都是引用全部參數。
    • 不一樣點:只有在雙引號中體現出來。假設在腳本運行時寫了三個參數 一、二、3,,則 " * " 等價於 "1 2 3"(傳遞了一個參數),而 "@" 等價於 "1" "2" "3"(傳遞了三個參數)。

2.3 運算符

原生bash不支持簡單的數學運算,可是能夠經過其餘命令來實現,例如 awk 和 expr,expr 最經常使用。expr 是一款表達式計算工具,使用它能完成表達式的求值操做。

1559614946450

(1)算數運算符:乘號(*)前邊必須加反斜槓()才能實現乘法運算;if...then...fi 是條件語句.

1559614967566

(2)關係運算符

1559615100814

(3)布爾運算符

1559615157024

1559615213355

(4)字符串運算符

1559615236781

(5)文件測試運算符

1559615292229

2.4 echo

  • 換行

    1559615601528

  • 結果定向到文件

echo "It is a test" > myfile
  • 顯示當前時間

    echo `date`

2.5 printf命令

1559615764913

1559615892869

%s %c %d %f都是格式替代符;%-10s 指一個寬度爲10個字符(-表示左對齊,沒有則表示右對齊),任何字符都會被顯示在10個字符寬的字符內,若是不足則自動以空格填充,超過也會將內容所有顯示出來。%-4.2f 指格式化爲小數,其中.2指保留2位小數。

3 流程控制

3.1 if-else-fi

Python,Java、PHP等語言不同,sh的流程控制不可爲空.

1559616102009

1559616151228

1559616176332

1559616195479

3.2 for

1559616245494

3.3 while

1559616295148

使用中使用了 Bash let 命令,它用於執行一個或多個表達式,變量計算中不須要加上 $ 來表示變量

3.4 case

1559616387575

取值後面必須爲單詞in,每一模式必須以右括號結束。取值能夠爲變量或常數。匹配發現取值符合某一模式後,其間全部命令開始執行直至 ;;。取值將檢測匹配的每個模式。一旦模式匹配,則執行完匹配模式相應命令後再也不繼續其餘模式。若是無一匹配模式,使用星號 * 捕獲該值,再執行後面的命令。下面的腳本提示輸入1到4,與每一種模式進行匹配:

echo '輸入 1 到 4 之間的數字:'
echo '你輸入的數字爲:'
read aNum
case $aNum in
    1)  echo '你選擇了 1'
    ;;
    2)  echo '你選擇了 2'
    ;;
    3)  echo '你選擇了 3'
    ;;
    4)  echo '你選擇了 4'
    ;;
    *)  echo '你沒有輸入 1 到 4 之間的數字'
    ;;
esac

3.5 break

#!/bin/bash
while :
do
    echo -n "輸入 1 到 5 之間的數字:"
    read aNum
    case $aNum in
        1|2|3|4|5) echo "你輸入的數字爲 $aNum!"
        ;;
        *) echo "你輸入的數字不是 1 到 5 之間的! 遊戲結束"
            break
        ;;
    esac
done

3.6 continue

#!/bin/bash
while :
do
    echo -n "輸入 1 到 5 之間的數字: "
    read aNum
    case $aNum in
        1|2|3|4|5) echo "你輸入的數字爲 $aNum!"
        ;;
        *) echo "你輸入的數字不是 1 到 5 之間的!"
            continue
            echo "遊戲結束"
        ;;
    esac
done

4 函數

4.1 函數的使用

1559618615873

#!/bin/bash
funWithReturn(){
    echo "這個函數會對輸入的兩個數字進行相加運算..."
    echo "輸入第一個數字: "
    read aNum
    echo "輸入第二個數字: "
    read anotherNum
    echo "兩個數字分別爲 $aNum 和 $anotherNum !"
    return $(($aNum+$anotherNum))
}
funWithReturn
echo "輸入的兩個數字之和爲 $? !"

1559619851984

函數返回值在調用該函數後經過 $? 來得到。

4.2 函數參數

在Shell中,調用函數時能夠向其傳遞參數。在函數體內部,經過 n 的形式來獲取參數的值,例如,​$1表示第一個參數,$2表示第二個參數...

funWithParam(){
    echo "第一個參數爲 $1 !"
    echo "第二個參數爲 $2 !"
    echo "第十個參數爲 $10 !"
    echo "第十個參數爲 ${10} !"
    echo "第十一個參數爲 ${11} !"
    echo "參數總數有 $# 個!"
    echo "做爲一個字符串輸出全部參數 $* !"
}
funWithParam 1 2 3 4 5 6 7 8 9 34 73

1559619919668

4.3 重定向

  • 輸出重定向

1559619942639

1559620015166

$ echo "菜鳥教程:www.runoob.com" >> users
$ cat users
菜鳥教程:www.runoob.com
菜鳥教程:www.runoob.com
$
  • 輸入重定向

    通常狀況下,每一個 Unix/Linux 命令運行時都會打開三個文件:

    • 標準輸入文件(stdin):stdin的文件描述符爲0,Unix程序默認從stdin讀取數據。
    • 標準輸出文件(stdout):stdout 的文件描述符爲1,Unix程序默認向stdout輸出數據。
    • 標準錯誤文件(stderr):stderr的文件描述符爲2,Unix程序會向stderr流中寫入錯誤信息。

    默認狀況下,command > file 將 stdout 重定向到 file,command < file 將stdin 重定向到 file。注意:0 是標準輸入(STDIN),1 是標準輸出(STDOUT),2 是標準錯誤輸出(STDERR)。

$ command 2 > file

4.4 文件包含

1559620294296

test1.sh 代碼以下:

#!/bin/bash
url="http://www.runoob.com"

test2.sh 代碼以下:

#!/bin/bash
#使用 . 號來引用test1.sh 文件
. ./test1.sh
# 或者使用如下包含文件代碼
# source ./test1.sh
echo "菜鳥教程官網地址:$url"

接下來,咱們爲 test2.sh 添加可執行權限並執行:

$ chmod +x test2.sh 
$ ./test2.sh 
菜鳥教程官網地址:http://www.runoob.com

注:被包含的文件 test1.sh 不須要可執行權限

5 Nginx

Nginx("engine x")是一款是由俄羅斯的程序設計師Igor Sysoev所開發高性能的 Web和 反向代理 服務器,也是一個 IMAP/POP3/SMTP 代理服務器。在高鏈接併發的狀況下,Nginx是Apache服務器不錯的替代品。

相關文章
相關標籤/搜索