自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

開(kāi)發(fā)人員和管理員應(yīng)該掌握的25個(gè)Nginx命令(下)

系統(tǒng) Linux
Nginx提供了許多令人驚訝的功能,我們不僅介紹了基本的命令,而且還介紹了一些高級(jí)的、更強(qiáng)大的命令行技巧。

Nginx是Linux和BSD用戶中最受歡迎的web服務(wù)器之一,因?yàn)樗哂胸S富的功能指令集和優(yōu)越的靈活性。如果您是一名Web開(kāi)發(fā)人員,那么您可能正在使用Nginx或Apache服務(wù)器。因此,深入了解Nginx如何從命令行工作是很重要的。

幸運(yùn)的是,您可以通過(guò)掌握一些Nginx命令來(lái)提高DevOps技能。我們的編輯為您選擇了這些經(jīng)常使用的命令,并為啟動(dòng)Linux管理員提供了全面的討論。那就請(qǐng)你閱讀本文以了解關(guān)于這些命令的更多信息。

適用于Linux管理員的Nginx命令

與許多Web服務(wù)器不同,Nginx僅使用配置文件處理服務(wù)器配置。因此,您可以利用的命令行參數(shù)很少。這很有用,因?yàn)楣芾韱T可以快速找到他們要找的命令。下面是一些廣泛使用的Nginx命令,您現(xiàn)在就可以使用它們。

17. 找到Nginx

PIDPID或進(jìn)程ID是唯一的數(shù)字,用于區(qū)分Linux和類Unix系統(tǒng)上的進(jìn)程。我們可以使用適當(dāng)?shù)腜ID將各種信號(hào)發(fā)送到Nginx服務(wù)器??梢允褂靡韵旅钪徽业酱薖ID。

  1. [linuxidc@localhost ~/www.linuxidc.com]$ps aux | grep [n]ginx 
  2. root      3834  0.0  0.0 117740  2188 ?        Ss  05:01  0:00 nginx: master process /usr/sbin/nginx 
  3. nginx      3835  0.0  0.2 148772  7704 ?        S    05:01  0:00 nginx: worker process 
  4. [linuxidc@localhost ~/www.linuxidc.com]$pgrep nginx 
  5. 3834 
  6. 3835 
  7. [linuxidc@localhost ~/www.linuxidc.com]$cat /run/nginx.pid 
  8. 3834 

因此,我們可以將pgrep或vanilla grep命令與ps結(jié)合使用。

18. 查找日志文件

日志文件包含許多對(duì)系統(tǒng)管理員和開(kāi)發(fā)人員而言有價(jià)值的信息。Nginx有兩個(gè)默認(rèn)的日志文件,由access.log和error.log文檔組成。這些位于/var/log,可以使用以下命令查看。

  1. [root@localhost /home/linuxidc/www.linuxidc.com]$ls /var/log/nginx/*.log 
  2. /var/log/nginx/access.log  /var/log/nginx/error.log 

現(xiàn)在您應(yīng)該看到上面提到的那些日志文件。顧名思義,access.log包含有關(guān)您的網(wǎng)站訪問(wèn)者的信息,而error.log包含有關(guān)錯(cuò)誤配置的警告/詳細(xì)信息。但是,您需要先從Nginx配置文件中啟用這兩個(gè)日志,然后才能使用它們。

19. 設(shè)置虛擬主機(jī)

虛擬主機(jī)允許服務(wù)器管理員在一臺(tái)服務(wù)器計(jì)算機(jī)上運(yùn)行多個(gè)網(wǎng)站。這通常很有用,因?yàn)槟梢怨蚕砟挠?jì)算過(guò)程以同時(shí)運(yùn)行多個(gè)站點(diǎn)。但是,術(shù)語(yǔ)虛擬主機(jī)通常與Apache服務(wù)器關(guān)聯(lián)。在Nginx世界中,它們被稱為“ 服務(wù)器塊 ”。

  1. [linuxidc@localhost ~/www.linuxidc.com]$ sudo ln -s /etc/nginx/sites-available/linuxidc.com /etc/nginx/sites-enabled/linuxidc.com 

您可以使用此簡(jiǎn)單的符號(hào)鏈接輕松地在Nginx服務(wù)器上啟用虛擬主機(jī)。如果要禁用虛擬主機(jī),只需刪除符號(hào)鏈接。

20. 查看編譯的Nginx模塊

正如您在以前的Nginx命令中看到的那樣,在安裝守護(hù)程序時(shí),還會(huì)安裝一些基本模塊。我們可以使用以下命令輕松查看這些Nginx模塊。

  1. [linuxidc@localhost ~/www.linuxidc.com]$sudo 2>&1 nginx -V | tr -- - '\n' | grep _module 

該命令利用了幾個(gè)Linux命令行工具,并過(guò)濾掉了不相關(guān)的信息以僅顯示模塊。由于Nginx有很多模塊,因此該命令對(duì)于檢查為服務(wù)器編譯了哪些模塊很有用。

21. 啟用/禁用Nginx服務(wù)

啟用Nginx服務(wù)可以使服務(wù)器在啟動(dòng)期間自動(dòng)啟動(dòng)。這對(duì)于專用服務(wù)器至關(guān)重要,因?yàn)榉駝t,用戶請(qǐng)求可能會(huì)中斷。我們可以使用以下命令輕松地使Nginx自動(dòng)啟動(dòng)。

  1. [linuxidc@localhost ~/www.linuxidc.com]$sudo service nginx enable    # System V Init 
  2. [linuxidc@localhost ~/www.linuxidc.com]$sudo systemctl enable nginx  # 基于systemd系統(tǒng) 

 基于systemd系統(tǒng)這些簡(jiǎn)單但有效的命令將確保盡可能減少服務(wù)器停機(jī)時(shí)間。您也可以根據(jù)需要禁用自動(dòng)啟動(dòng)。只需使用以下命令之一。

  1. [linuxidc@localhost ~/www.linuxidc.com]$sudo update-rc.d -f nginx disable 
  2. [linuxidc@localhost ~/www.linuxidc.com]$sudo systemctl disable nginx 

22、即時(shí)升級(jí)Nginx

Nginx允許管理員即時(shí)升級(jí)二進(jìn)制文件和/或配置文件。這意味著您的客戶端請(qǐng)求不會(huì)由于服務(wù)器升級(jí)而中斷。為此,首先,我們需要找到主Nginx進(jìn)程的PID。我們可以使用已經(jīng)演示過(guò)的簡(jiǎn)單命令來(lái)實(shí)現(xiàn)。

  1. [linuxidc@localhost ~/www.linuxidc.com]$cat /run/nginx.pid 

新的Nginx二進(jìn)制文件應(yīng)該已經(jīng)準(zhǔn)備就緒。通過(guò)以下命令生成一組新的Nginx主/工作進(jìn)程,這些進(jìn)程使用新的二進(jìn)制文件。

  1. [linuxidc@localhost ~/www.linuxidc.com]$sudo kill -s USR2 `cat /run/nginx.pid` 

現(xiàn)在,使用以下命令殺死第一個(gè)主進(jìn)程使用的輔助進(jìn)程。

  1. [linuxidc@localhost ~/www.linuxidc.com]$sudo kill -s WINCH `cat /run/nginx.pid.oldbin` 

通過(guò)殺死舊的主進(jìn)程來(lái)跟蹤它。

  1. [linuxidc@localhost ~/www.linuxidc.com]$sudo kill -s QUIT `cat /run/nginx.pid.oldbin` 

23. 在Chroot Jail中設(shè)置Nginx

Nginx服務(wù)器的Chroot Jail將在可能發(fā)生入侵的情況下提供額外的安全保護(hù)。管理員經(jīng)常使用這種技術(shù)來(lái)確保其服務(wù)器在Linux文件系統(tǒng)的一小部分中是隔離的和安全的。使用以下命令在Chroot Jail中設(shè)置Nginx服務(wù)器。

  1. D=/nginx 
  2. # mkdir -p $D 
  3. # mkdir -p $D/etc 
  4. # mkdir -p $D/dev 
  5. # mkdir -p $D/var 
  6. # mkdir -p $D/usr 
  7. # mkdir -p $D/usr/local/nginx 
  8. # mkdir -p $D/tmp 
  9. # chmod 1777 $D/tmp 
  10. # mkdir -p $D/var/tmp 
  11. # chmod 1777 $D/var/tmp 
  12. # mkdir -p $D/lib64 
  13. # ls -l /dev/{null,random,urandom} 
  14. # /bin/cp -farv /usr/local/nginx/* $D/usr/local/nginx 

您需要以超級(jí)用戶身份運(yùn)行它們?,F(xiàn)在,使用以下命令找出共享庫(kù)。

  1. # ldd /usr/local/nginx/sbin/nginx 

如下所示,一一復(fù)制所有庫(kù)。

  1. # cp /lib64/libpcre.so.0 $D/lib64 

您還需要復(fù)制/ etc和其他一些目錄。

  1. # cp -fv /etc/{group,prelink.cache,services,adjtime,shells,gshadow,shadow,hosts.deny,localtime,nsswitch.conf,nscd.conf,prelink.conf,protocols,hosts,passwd,ld.so.cache,ld.so.conf,resolv.conf,host.conf} $D/etc 
  2. # cp -avr /etc/{ld.so.conf.d,prelink.conf.d} $D/etc 

您的Chroot Jail現(xiàn)在已準(zhǔn)備好接受Nginx。只需殺死舊服務(wù),然后使用下一條命令啟動(dòng)新服務(wù)即可。

  1. # /usr/sbin/chroot /nginx /usr/local/nginx/sbin/nginx -t 

24. 在Docker中運(yùn)行Nginx

Docker容器由于其靈活性和強(qiáng)大的性能而變得非常流行。您可以從Docker容器中輕松創(chuàng)建和運(yùn)行Nginx Web服務(wù)器。下一條命令將提取官方Nginx映像,并使用默認(rèn)配置創(chuàng)建服務(wù)器實(shí)例。

  1. [root@localhost /home/linuxidc/www.linuxidc.com]$docker run --name nginx-server -P -d nginx 
  2. Unable to find image 'nginx:latest' locally 
  3. latest: Pulling from library/nginx 
  4. 123275d6e508: Pull complete 
  5. 6cd6a943ce27: Pull complete 
  6. a50b5ac4a7fb: Pull complete 
  7. Digest: sha256:d81f010955749350ef31a119fb94b180fde8b2f157da351ff5667ae037968b28 
  8. Status: Downloaded newer image for nginx:latest 
  9. b235541342e380c9e57aad547d52292da89e2c26d9cf6a1548d568a4073136ed 

您可以使用以下簡(jiǎn)單命令維護(hù)持久性存儲(chǔ)。

  1. sudo docker run --name nginx-server -v /var/www:/usr/share/nginx/html:ro \ 
  2. -v /var/nginx/conf:/etc/nginx:ro -P -d nginx 

25. 在LXD內(nèi)運(yùn)行Nginx

LXD被譽(yù)為下一代Linux容器,并提供了一系列驚人的功能。您還可以通過(guò)LXD容器使用Nginx??匆幌乱韵掠糜贚XD的Nginx命令。

  1. $ sudo lxc launch ubuntu:18.04 nginx-server 
  2. $ sudo lxc exec nginx-server -- sudo --user ubuntu --login 
  3. $ sudo apt update 
  4. $ sudo apt install -y nginx 
  5. $ sudo systemctl reload nginx 

首先,我們創(chuàng)建了一個(gè)名為nginx-server的容器,然后在該容器中啟動(dòng)了一個(gè)shell。然后,我們更新了軟件包列表,并在該容器中安裝了Nginx Web服務(wù)器。最后一條命令只是重新加載服務(wù)器。

總結(jié)

Nginx提供了許多令人驚訝的功能,我們不僅介紹了基本的命令,而且還介紹了一些高級(jí)的、更強(qiáng)大的命令行技巧。您一旦你習(xí)慣了這些命令,那么你對(duì)Nginx技能的掌握就更上一層樓。

 

責(zé)任編輯:趙寧寧 來(lái)源: Linux公社
相關(guān)推薦

2020-04-20 08:08:33

Nginx命令開(kāi)發(fā)Linux

2020-04-17 13:08:11

Nginx命令開(kāi)發(fā)Linux

2020-05-07 07:47:12

git命令Linux開(kāi)發(fā)

2017-10-11 13:20:56

Linux命令工程師

2023-04-07 16:11:56

前端開(kāi)發(fā)

2024-06-04 14:31:16

2020-10-13 18:20:55

TCPHTTP網(wǎng)絡(luò)協(xié)議

2011-07-10 15:18:11

開(kāi)發(fā)

2009-09-10 14:18:03

PHP庫(kù)

2020-01-27 16:28:57

開(kāi)發(fā)命令遠(yuǎn)程服務(wù)器

2019-11-01 10:30:37

Reac測(cè)試工具開(kāi)源

2023-10-08 13:59:56

Git開(kāi)發(fā)

2023-02-26 18:43:05

SQL工具數(shù)據(jù)庫(kù)

2020-10-13 08:41:58

Java開(kāi)發(fā)框架

2022-07-04 08:00:00

Web開(kāi)發(fā)人員編程習(xí)慣程序員

2011-03-21 16:38:29

數(shù)據(jù)庫(kù)管理員開(kāi)發(fā)人員

2010-06-30 08:52:25

2019-11-07 09:42:39

JavaScript框架語(yǔ)言

2023-10-26 16:56:24

2019-11-25 14:09:34

控制臺(tái)命令開(kāi)發(fā)
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)