lamp-linux3

LAMP編程之Linux(3)

1、權限管理

一、權限介紹(重點)

在Linux中分別有讀、寫、執行權限:php

讀權限:html

       對於文件夾來講,讀權限影響用戶是否可以列出目錄結構node

       對於文件來講,讀權限影響用戶是否能夠查看文件內容mysql

 

寫權限:linux

       對文件夾來講,寫權限影響用戶是否能夠在文件夾下「建立/刪除/複製到/移動到」文檔nginx

       對於文件來講,寫權限影響用戶是否能夠編輯文件內容web

 

執行權限:面試

       通常都是對於文件來講,特別腳本文件。sql

       對於文件來講,執行權限影響文件是否能夠運行。shell

       對於文件夾來講,執行權限影響對應的用戶是否能夠在文件夾內執行指令。

 

二、身份介紹(重點)

Owner身份(文檔全部者,默認爲文檔的建立者)

因爲Linux是多用戶、多任務的操做系統,所以可能經常有多人同時在某臺主機上工做,但每一個人都可在主機上設置文件的權限,讓其成爲我的的「私密文件」,即我的全部者。由於設置了適當的文件權限,除本人(文件全部者)以外的用戶沒法查看文件內容。

 

例如某個MM給你發了一封Email情書,你將情書轉爲文件以後存檔在本身的主文件夾中。爲了避免讓別人看到情書的內容,你就能利用全部者的身份去設置文件的適當權限,這樣,即便你的情敵想偷看你的情書內容也是作不到的。

Group身份(與文件全部者同組的用戶)

與文件全部者同組最有用的功能就體如今多個團隊在同一臺主機上開發資源的時候。例如主機上有A、B兩個團體(用戶組),A中有a1,a2,a3三個成員,B中有b1,b2兩個成員,這兩個團體要共同完成一份報告F。因爲設置了適當的權限,A、B團體中的成員都能互相修改對方的數據,可是團體C的成員則不能修改F的內容,甚至連查看的權限都沒有。同時,團體的成員也能設置本身的私密文件,讓團隊的其它成員也讀取不了文件數據。Linux中,每一個帳戶支持多個用戶組。如用戶a1、b1便可屬於A用戶組,也能屬於B用戶組【主組和附加組】

Others身份(其餘人,相對於全部者與同組用戶)

這個是個相對概念。打個比方,大明、二明、小明一家三兄弟住在一間房,房產證上的登記者是大明(owner全部者),那麼,大明一家就是一個用戶組,這個組有大明、二明、小明三個成員;另外有我的叫張三,和他們三沒有關係,那麼這個張三就是其餘人(others)了。

同時,大明、二明、小明有各自的房間,三者雖然能自由進出各自的房間,可是小明不能讓大明看到本身的情書、日記等,這就是文件全部者(用戶)的意義。

Root用戶(超級用戶)

在Linux中,還有一個神同樣存在的用戶,這就是root用戶,由於在全部用戶中它擁有最大的權限 ,因此管理着普通用戶。所以之後在設置文檔的權限的時候沒必要考慮root用戶。

 

三、Linux的權限查看

要設置權限,就須要知道文件的一些基本屬性和權限的分配規則。在Linux中,ls命令經常使用來查看文檔的屬性,用於顯示文件的文件名和相關屬性。

#ls -l 路徑          【ls -l  等價於 ll】

 

標紅的部分就是Linux的文檔權限屬性信息。

Linux中存在用戶(owner)、用戶組(group)和其餘人(others)概念,各自有不一樣的權限,對於一個文檔來講,其權限具體分配以下:

 

十位字符表示含義:

第1位:表示文檔類型,取值常見的有「d表示文件夾」、「-表示文件」、「l表示軟鏈接」、「s表示套接字」、「c表示字符設備」、「b表示塊狀設備」等等;

第2-4位:表示文檔全部者的權限狀況,第2位表示讀權限的狀況,取值有r、-;第3位表示寫權限的狀況,w表示可寫,-表示不可寫,第4位表示執行權限的狀況,取值有x、-。

第5-7位:表示與全部者同在一個組的用戶的權限狀況,第5位表示讀權限的狀況,取值有r、-;第6位表示寫權限的狀況,w表示可寫,-表示不可寫,第7位表示執行權限的狀況,取值有x、-。

第8-10位:表示除了上面的前2部分的用戶以外的其餘用戶的權限狀況,第8位表示讀權限的狀況,取值有r、-;第9位表示寫權限的狀況,w表示可寫,-表示不可寫,第10位表示執行權限的狀況,取值有x、-。

 

注意:除了權限位上的rwx以及-以外,還有一些特殊的權限代碼「s」、「t」,這些不在本次考慮範圍內。(黏貼位,特殊權限位)

 

權限分配中,均是rwx的三個參數組合,且位置順序不會變化。沒有對應權限就用 – 代替。

 

四、權限設置(重點)

語法:#chmod [選項] 權限模式 文檔路徑

注意事項:

         經常使用選項:

                          -R:遞歸設置權限        (當文檔類型爲文件夾的時候

         權限模式:就是該文檔須要設置的權限信息

         文檔:能夠是文件,也能夠是文件夾,能夠是相對路徑也能夠是絕對路徑。

注意點:若是想要給文檔設置權限,操做者要麼是root用戶,要麼就是文檔的全部者。

4.一、字母形式

 

 

給誰設置:

         u:表示全部者身份owner(user)

         g:表示給全部者同組用戶設置(group)

         o:表示others,給其餘用戶設置權限

         a:表示all,給全部人(包含ugo部分)設置權限

                  若是在設置權限的時候不指定給誰設置,則默認給全部用戶設置

 

什麼權限-權限字符:

         r:讀

         w:寫

         x:表示執行

         -:表示沒有權限

 

如何設置-權限分配方式:

         +:表示給具體的用戶新增權限(相對當前)

         -:表示刪除用戶的權限(相對當前)

         =:表示將權限設置成具體的值(注重結果)【賦值】

 

設置多個身份的權限時候,每一個身份之間須要經過英文逗號分開。

 

例如:須要給/root/anaconda-ks.cfg文件(-rw-------.)設置權限,要求全部者擁有所有的權限,同組用戶擁有讀和寫權限,其餘用戶只讀權限。

答案:

         #chmod u+x,g+rw,o+r /root/anaconda-ks.cfg

         或者:

         #chmod u=rwx,g=rw,o=r /root/anaconda-ks.cfg

 

提示:當文檔擁有執行權限(任意部分),則其顏色在終端中是綠色。

 

#chmod ug=rwx  形式,若是有兩部分權限同樣則能夠合在一塊兒寫的

等價於:

       #chmod u=rwx,g=rwx

 

例如:若是anaconda-ks.cfg文件什麼權限都沒有,可使用root用戶設置全部的人都有執行權限,則能夠寫成

什麼權限都沒有應該是:----------

目標的效果:---x--x--x

#chmod a=x anaconda-ks.cfg

#chmod a+x anaconda-ks.cfg

#chmod u+x,g+x,o+x anaconda-ks.cfg

#chmod ugo=x anaconda-ks.cfg

#chmod ugo+x anaconda-ks.cfg

#chmod +x anaconda-ks.cfg

 

 

案例:設置文件「~/php/php.txt」權限,要求全部者所有權限,同組用戶擁有讀權限、寫權限,其餘人擁有讀權限

#chmod u=rwx,g=rw,o=r ~/php/php.txt

 

更改要求:全部者所有權限,同組用戶擁有讀權限、寫權限,其餘人擁有讀權限、寫權限

#chmod o+w ~/php/php.txt

 

練習:

         ①設置文件夾/tmp/php的權限(若是文件夾不存在,自行建立),要求權限爲遞歸權限,而且全部者有所有權限,同組用戶有讀執行權限,其餘用戶只讀權限;

#mkdir /tmp/php

#chmod -R u=rwx,g=rx,o=r /tmp/php

         ②設置文件/tmp/php/class.sh權限,文件若是不存在則自行建立,要求權限爲全部者所有權限,同組用戶讀和執行權限,其餘用戶沒有權限;

         #touch /tmp/php/class.sh

         #chmod u=rwx,g=rx,o=--- /tmp/php/class.sh

         ③使用普通用戶在/tmp/php目錄下建立test目錄,設置目錄權限爲全部者擁有所有權限,同組用戶只讀,其餘用戶只讀;(建立不了test用戶)

 

4.二、數字形式

常常會在一些技術性的網頁上看到相似於#chmod  777  a.txt  這樣的一個權限,這種形式稱之爲數字形式權限(777)。

 

讀:r        4

寫:w              2

執行:x          1

沒有任何權限(-):0

 

 

組合權限數字的時候遵循,最短路徑要求,而且最多隻能出現一次。

 

例如:須要給anaconda-ks.cfg設置權限,權限要求全部者擁有所有權限,同組用戶擁有讀執行權限,其餘用戶只讀。

分析:

         全部者(第1位):所有權限 = 讀 + 寫 + 執行 = 4 + 2 + 1 = 7

         同組用戶(第2位):讀執行 = 讀 + 執行 = 4 + 1 = 5

         其餘用戶(第3位):讀 = 4

 

組合: 754

 

最終得出的結果是754

#chmod 754 anaconda-ks.cfg

 

 

面試題:用超級管理員設置文檔的權限命令是#chmod -R 731 aaa,請問這個命令有沒有什麼不合理的地方?

全部者 = 7 = 4 + 2 + 1 = 讀 + 寫 + 執行

同組用戶 = 3 = 2 + 1 = 寫 + 執行

其餘用戶 = 1 = 執行

問題在權限731中3表示寫+執行權限,可是寫又沒必要鬚鬚要能打開以後才能夠寫,所以必須須要具有讀權限,所以權限不合理。之後建議各位在設置權限的時候不要設置這種「奇葩權限」。單獨出現二、3的權限數字通常都是有問題的權限

注意:在寫權限的時候千萬不要設置相似於上面的這種「奇葩權限」。若是一個權限數字中但凡出現2與3的數字,則該權限有不合理的狀況。

 

練習:

         ①使用root用戶設置文件夾/root/20180811的權限爲:全部者所有權限,同組用戶擁有讀和執行權限,其餘用戶沒有權限,請使用數字權限的形式設置,寫出指令;750

         ②請使用root用戶寫出設置文件/root/20180811.txt文件的權限,權限要求爲:全部者擁有所有權限,同組用戶要求能夠讀寫,其餘用戶只讀,要求使用數字形式;764

         ③張三瘋(root)收到某個MM的情書,請使用數字形式設置張三瘋的Email情書權限(文件爲/root/email.doc),權限要求只有全部者能夠讀寫,除此以外任何人沒有權限;600

4.三、注意事項

使用root用戶建立一個文件夾(/oo),權限默認,權限以下:

 

須要在oo目錄下建立文件(oo/xx.txt),須要給777權限:

 

 

擴展:

       在Linux系統中,建立文檔的權限有一個默認值,以當前的系統爲例,其建立文件夾以後的默認權限是755,建立文件以後的權限是644。

       之因此會這樣是受到了系統中umask(掩碼)的值的影響,其是用於指定文檔建立好以後的權限,umask默認爲022。

       計算方式:

              對於文件:文件的權限 = 666 – umask掩碼

              對於文件夾:文件夾的權限 = 777 - umask掩碼

切換到admin用戶(不是文檔全部者,也不是同組用戶,屬於other部分):

 

問題1:admin用戶是否能夠打開oo/xx.txt文件?

問題2:admin用戶是否能夠編輯oo/xx.txt文件?

問題3:admin用戶是否能夠刪除oo/xx.txt文件?

 

在Linux中,若是要刪除一個文件,不是看文件有沒有對應的權限,而是看文件所在的目錄是否有寫權限,若是有才能夠刪除

五、屬主與屬組

屬主:所屬的用戶(文件的主人),文檔全部者   

屬組:所屬的用戶組(同組用戶的組名稱)  

 

前面的那個root就是屬主

後面的那個root就是屬組

 

這兩項信息在文檔建立的時候會使用建立者的信息(用戶名、用戶所屬的主組名稱)。

 

之因此須要設置這個:若是有時候去刪除某個用戶,則該用戶對應的文檔的屬主和屬組信息就須要去修改(相似離職以前的工做交接)。

5.一、chown(重點)

做用:更改文檔的所屬用戶(change owner

語法:#chown  [-R]  新的username 文檔路徑

 

 

注意:修改全部者的人必須是root或者全部者本身,其餘人無權修改全部者。

 

案例:將先前設置的/oo目錄的全部者設置成成admin

#chown -R admin /oo

 

 

 

5.二、chgrp(瞭解)

做用:更改文檔的所屬用戶組(change group

語法:#chgrp  [-R]  groupname  文檔的路徑

案例:將剛纔oo目錄的全部用戶組名改成admin

#chgrp -R admin /oo

 

 

 

 

 

思考,如何經過一個命令實現既能夠更改所屬的用戶,也能夠修改所屬的用戶組呢?

答:能夠實現的,經過chown命令

       語法:#chown  [-R]  username:groupname   文檔路徑

 

案例:將剛纔oo的文檔的所屬組所屬用戶修改成root

#chown -R root:root /oo

 

 

問題:zhangsan用戶使用本身的賬號建立文件index.html,而且當時默認的權限是644,後續管理員root將該文件的屬主改爲了lisi,屬組改爲lisi,則zhangsan對文件的操做權限有變化嗎?若是有權限是多少?

 

六、sudo(重點)

問題:reboot、shutdown、init、halt,在普通用戶身份上都是操做不了,可是有些特殊的狀況下又須要有執行權限。又不可能讓root用戶把本身的密碼告訴普通用戶,這個問題該怎麼解決?

 

該問題是能夠被解決的,可使用sudo(switch user do)命令來進行權限設置。Sudo可讓管理員(root)事先定義某些特殊命令誰能夠執行

 

默認sudo中是沒有除root以外用戶的規則,要想使用則先配置sudo。

 

Sudo配置文件:/etc/sudoers

該文件默認只讀,不容許修改,所以不能直接修改。

 

a. 配置sudo文件請使用「#visudo」,打開以後其使用方法和vim一致

  

b. 配置普通用戶的權限

 

Root表示用戶名,若是是用戶組,則能夠寫成「%組名」

ALL:表示容許登陸的主機(地址白名單)

(ALL):表示以誰的身份執行,ALL表示root身份

ALL:表示當前用戶能夠執行的命令,多個命令可使用「,」分割

 

案例:使用admin這個用戶,賦予其添加用戶權限。

注意:在寫sudo規則的時候不建議寫直接形式的命令,而是寫命令的完整路徑。

路徑可使用which(whereis亦可)命令來查看

語法:#which 指令名稱

 

Whereis會找出一些非可執行文件,建議使用which

 

 

在添加好對應的規則以後就能夠切換用戶,切換到普通用戶admin,再去執行:

 

 

此時要想使用剛纔的規則,則以如下命令進行:

#sudo 須要執行的指令(就是放權的指令名稱)

 

此時輸入的密碼是當前執行sudo指令的用戶的密碼,而非root密碼。

 

在輸入sudo指令以後須要輸入當前的用戶密碼進行確認的操做(不是root用戶密碼),輸入以後在接下來5分鐘內再次執行sudo指令不須要密碼

 

補充:在普通用戶下怎麼查看本身具備哪些特殊權限呢?

#sudo  -l                         表示list

 

 

最後:sudo不是任何Linux分支都有的命令,常見centos與ubuntu都存在sudo命令。

 

做業:使用sudu實現讓普通用戶具有添加、刪除用戶的權限。

 

2、運行級別

運行模式也能夠稱之爲運行級別(Running Level

 

在linux中存在一個進程:init (initialize,初始化),進程id是1。

查看進程:#ps -ef|grep init

 

 

該進程存在一個對應的配置文件:inittab(系統運行級別配置文件,位置/etc/inittab)

 

文件的主要內容:

 

根據上述的描述,能夠得知,Centos6.5中存在7種運行級別/模式。

0 — 表示關機級別(不要將默認的運行級別設置成這個值)

1 — 單用戶模式(找回root密碼的)

2 — 多用戶模式,不帶NFS(Network File Syetem)

3 — 多用戶模式,徹底的多用戶模式(不帶桌面的,純命令行模式)

4 — 沒有被使用的模式(被保留模式)

5 — X11,完整的圖形化界面模式

6 — 表示重啓級別(不要將默認的運行級別設置成這個值)

 

與該級別相關的幾個命令(臨時切換,當即生效):

#init 0               表示關機

#init 3               表示切換到不帶桌面的模式(CLI 命令行模式)

#init 5               切換到圖形界面(前提必須先確保已經安裝了圖形化界面)

#init 6              重啓電腦

注意:init指令須要超級管理員的權限,普通用戶沒法執行。

 

這些命令其實都是調用的init進程,將數字(運行級別)傳遞給進程,進程去讀配置文件執行對應的操做。

 

①切換到純命令行模式下(臨時切換,重啓以後又恢復

#init 3

 

切換以後須要輸入用戶名和密碼,在輸入密碼的時候沒有「*」提示輸入,只要本身確認輸入的密碼沒有錯誤,按下回車便可

 

②回到桌面模式

#init 5

 

③設置模式永久爲命令行模式

 

將/etc/inittab文件中的initdefault值設置成3,而後重啓操做系統。

 

切換重啓以後默認即命令行模式:

 

3、網絡設置

一、ip地址查看

須要的場景:遠程鏈接、配置相關軟件時

指令:#ifconfig

 

得知的信息有:

         ①有2塊網卡,一個叫eth0,另外一個lo(本地迴環網卡,本機ip)

         ②ip地址是 inet addr那一項

二、網卡配置文件

位置:/etc/sysconfig/network-scripts/ifcfg-*文件

 

 

ONBOOT:表示是否自動鏈接

BOOTPROTO(COL):網卡啓動以後使用的協議,通常狀況下是DHCP

HWADDR:硬件地址(mac地址,物理地址),計算機之間的通訊都是依賴於mac地址

 

擴展:針對像網卡配置目錄層次比較深的文件,若是須要頻繁更改,能夠將須要的文件設置一個快捷方式,將其放在常常操做的目錄,以簡化後續的打開文件操做。

 

語法:#ln -s 原始路徑 快捷方式路徑

 

案例:將ifcfg-eth0文件在root家目錄下建立快捷方式。

#ln -s /etc/sysconfig/network-scripts/ifcfg-eth0 /root/wangka.conf

 

三、網絡服務操做

能夠經過service指令來對網絡的服務進行重啓/中止/啓動等操做。

 

語法:#service network start/stop/restart                  (操做全部的網卡設備)

 

上述的指令還等價於:#/etc/init.d/network start/stop/restart

 

 

補充對於單個網卡的操做:

#ifdown 網卡名                               中止某個網卡

#ifup 網卡名                                    啓動某個網卡

 

 

注意:上述這些操做不要隨意在服務器上運行。

4、ssh

一、簡介

ssh(secure shell,安全外殼協議),該協議有2個經常使用的做用:遠程鏈接、遠程文件傳輸。

 

協議使用端口號:默認是22

能夠是被修改的,若是須要修改,則須要修改ssh服務的配置文件:

#/etc/ssh/ssh_config

 

端口號能夠修改,可是得注意2個事項:

         a. 注意範圍,端口範圍是從0-65535;

         b. 不能使用別的服務已經佔用的端口(常見的不能使用:20,21,23,25,80,443,3389,3306,11211等等);

 

服務啓動/中止/重啓           {服務名中的d全稱daemon,守護進程}

#service sshd start/stop/restart

#/etc/init.d/sshd start/stop/restart

 

Sshd服務通常默認就已經啓動,不須要再去啓動,能夠在修改完其配置的狀況下重啓

 

 

二、ssh的應用

2.一、遠程登陸(重點)

終端工具主要幫助運維人員鏈接遠程的服務器,常見終端工具備:Xshell、secureCRT、Putty等。以putty爲例:

 

①獲取服務器ip地址,能夠經過ifconfig命令進行查看,而後順手測試ip的鏈接相通性

#ifconfig

 

此處獲取的ip地址地址仍是192.168.254.130

 

測試連通性:ping 192.168.254.130

 

 

②打開putty,輸入相關的信息

 

 

 

③在彈出key確認的時候點擊「是」,之後不會再提示

 

 

④輸入登陸信息

 

以前在虛擬機的centos中所有的指令在遠程終端中都是能夠獲得執行的。

 

擴展:不借助第三方工具實現遠程鏈接。

         ①打開Windows的cmd黑窗口(前提是Windows必須安裝ssh服務,若是沒有而須要這個功能,則自行安裝openSSH)

         ②輸入「ssh 須要登陸的用戶名@遠程服務器的鏈接地址」回車

         ③輸入密碼

例如:

 

 

2.二、sftp文件傳輸

可視化的界面傳輸工具:Filezilla

安裝好以後能夠查看到桌面圖標:

 

 

 

①選擇「文件」- 「站點管理器(Ctrl + S)」

 

 

 

②點擊「文件」菜單下方的「▽」選擇須要鏈接的服務器,鏈接好以後的效果

 

 

③從本地windows上傳文件到linux中方式

支持直接拖拽文件,也能夠右鍵本地須要上傳的文件,而後點選「上傳」便可

 

 

④下載linux文件到本地

支持服務器文件直接拖拽到本地,也能夠在右側窗口選擇須要下載的文件,右鍵,點選「下載」。

 

 

5、軟件的安裝方式

在Linux系統中,軟件的管理方式有三種:rpm、yum、編譯方式。

一、rpm

優勢:對於軟件包的操做比較簡單,經過簡單指令便可操做

缺點:

         ①安裝時須要自行下載軟件包

         ②安裝、卸載軟件時須要考慮到依賴關係

         ③軟件的自定義性比較差,不適合有特殊需求的場景

 

語法:

①查詢

       #rpm -qa 關鍵詞                                 (查詢機器上是否有安裝指定的軟件包)

       選項說明:

              -q:query,查詢

              -a:all,全部

②卸載

       #rpm -e 軟件包全稱 [--nodeps]       (卸載軟件,包的全稱須要經過①去查詢)

       選項說明:

              -e:卸載

              --nodeps:忽略依賴關係

③安裝

       #rpm -ivh 軟件包路徑                  (軟件包的下載須要自行解決)

       選項說明:

              -i:install,安裝

              -v:顯示安裝過程

              -h:以「#」形式顯示安裝過程

④更新(瞭解)

       #rpm -Uvh 軟件包路徑                (軟件包的下載須要自行解決)

       選項說明:

              -U:upgrade,升級

              -v:顯示安裝過程

              -h:以「#」形式顯示安裝過程                   

 

案例:查詢、卸載、安裝firefox瀏覽器。

 

查詢:

 

卸載:

 

 

安裝:

①查找FF31.1.0軟件包

/media/CentOS_6.6_Final/Packages

 

 

②開始安裝

 

 

二、yum安裝(推薦)

優勢:

①快速、傻瓜式的軟件管理方式

②在聯網狀況下,自動從服務器上下載軟件包(內、外網服務器都可)

③自動解決軟件依賴關係

缺點:

         因其底層實爲rpm操做,因此也喪失了對軟件的自定義功能

 

Yum經常使用語法:

①搜索/查詢相關

       #yum search [all] 關鍵詞                   (根據關鍵詞搜索服務器上的包資源)

       #yum list [關鍵詞]                         (列出全部的包,包含已經安裝的和可供安裝的)

       #yum list installed [關鍵詞]         (列出當前已經安裝的包)

②安裝

       注意:操做指令(install)與-y選項能夠顛倒,下同。

       #yum [-y] install 關鍵詞                     (安裝指定的軟件)

③卸載

       #yum [-y] remove 關鍵詞                  (卸載指定的軟件)

④更新

       #yum [-y] update                        (更新整個系統,包含內核)

       #yum [-y] update 關鍵詞

 

案例:使用yum方式快速安裝LAMP環境。

建議採用PAM的安裝順序,緣由是在安裝php的時候,yum會順帶安裝apache。

 

#yum install php

#yum install mysql-server

 

MySQL的初始化(設置root密碼的):

#service mysqld start

#mysql_secure_installation

 

啓動apache

#service httpd start

 

安裝好的apache默認站點在:/var/www/html/位置

 

 

 

Apache配置文件位於:/etc/httpd/conf/httpd.conf

三、編譯安裝(難點)

優勢:

         ①用戶可選擇須要的軟件功能

         ②源碼方式,有開發能力的用戶,可對源碼進行自定義

缺點:

         ①須要自行解決依賴關係

         ②編譯時間較長

         ③容易出錯,一旦出錯,須要從新編譯安裝

 

編譯安裝步驟:

①下載源碼包

②解壓源碼包

③進入解壓目錄

④配置安裝

⑤編譯

⑥安裝

 

案例:編譯安裝Nginx。

相似於apache,是一款開源的web服務器軟件,其默認用的端口號也是80。

 

①下載nginx包

下載地址:https://nginx.org/en/download.html

 

複製下載地址。

 

須要將下載地址在終端中輸入,進行下載:

#cd /usr/local/src

#wget https://nginx.org/download/nginx-1.15.5.tar.gz

 

 

②解壓壓縮包

#tar -jxvf 路徑(針對.tar.bz2格式)

#tar -zxvf 路徑(針對.tar.gz格式)                          【當前選這個】

 

#tar -zxvf nginx-1.15.5.tar.gz

 

 

③進入解壓後的目錄

#cd nginx-1.15.5

 

④配置安裝

 

配置包含:指定安裝的位置、須要的模塊功能

指定位置使用:--prefix選項

         例如:--prefix=/usr/local/nginx

 

# ./configure --prefix=/usr/local/nginx

 

須要安裝2個依賴:

#yum install pcre-devel

#yum install zlib-devel

 

而後繼續從新配置,確認沒有問題會看到以下效果:

 

 

⑤編譯&&完成安裝

#make && make install

 

 

測試NGINX的使用:

#service httpd stop

 

注意:nginx編譯安裝以後不支持service指令進行操做,須要找到nginx的執行文件才能啓動。

啓動:/usr/local/nginx/sbin/nginx

重啓:/usr/local/nginx/sbin/nginx -s reload

相關文章
相關標籤/搜索
本站公眾號
   歡迎關注本站公眾號,獲取更多信息