nginx 安裝步驟詳解

  • 安裝 nginx 之前需要先安裝好相關依賴
    nginx 的一些模塊需要引用一些 lib 庫,主要包括 g++,gcc,openssl-devel,pcre-devel 和 zlib-devel等,執行如下命令即可安裝:
    yum -y install g++ gcc openssl openssl-devel pcre-devel zlib zlib-devel
  • 下載並解壓安裝包
    // 安裝在 /usr/local 目錄下
    cd /usr/local
    
    //從官網下載最新版安裝包
    wget http://nginx.org/download/nginx-1.17.8.tar.gz
    
    //解壓壓縮包
    tar -zxvf nginx-1.17.8.tar.gz

    不知道大家有沒有疑惑就是 wget 後面這個地址從哪裏得到的?
    網上很多教程都是直接寫上來了,好像是從天上掉下來的一個東西一樣,我這裏提供一個方案,個人覺得不是很好,但是可以參考一下,如果大家有更好的方案,希望能在留言區告訴我,不甚感謝。

    1:首先我們進入 nginx 官網



    2:選擇最新版本的 nginx



    3:右鍵選擇複製鏈接,複製完之後就可以直接放到 wget 之後使用了

    • 現在我們已經拿到最新的軟件包並解壓了,下面就是安裝了

      1:執行完上面的步驟之後,我們此時應該在 /usr/local 目錄下,該目錄包含已經解壓好的 nginx 目錄



      2:進入 nginx-1.17.8 編譯安裝
       

      //進入 nginx-1.17.8 目錄
      cd nginx-1.17.8
      
      //構建,這個詞有點高大上,等會再解釋
      ./configure
      
      //編譯
      make
      
      //安裝
      make install

      好,我們現在可以研究下構建、編譯和安裝這三個命令都是幹嘛的!
      ./configure
      網上好多都是直接貼上來也沒有解釋這句話有啥用,可是既然要用,nginx 應該告訴我們是要幹嘛吧,出於直覺我去看了下 README有沒有告訴我




      好,很容易就看懂了,不過它又告訴我看它沒有用,官方文檔才靠譜,(kuzidoutuole,你給我看這個?),好吧,只能選擇原諒它,繼續去官方文檔找找看





      好,我終於找到個有用的了,簡單介紹下就是,./configure 它就是個命令,它可以帶很多參數來對 nginx 進行配置,並且最後它還會生成一個文件 Makefile。簡單找幾個參數介紹下:

      --prefix=path   該參數用來指定保留服務器文件的目錄,我就簡單把它理解爲 nginx 的安裝目錄了,然後它默認爲 /usr/local/nginx, 這也就是你什麼都不配置,它自動就會生成一個 nginx 目錄的原因呀!

      --sbin-path=path  該參數用於設置可執行文件的名稱,默認爲 prefix/sbin/nginx, 即安裝完成之後進入prefix/sbin目錄執行 ./nginx 就能啓動 nginx 

      --conf-path=path  該參數用於指定配置文件的名稱,默認爲 prefix/conf/nginx.conf, 可以在該文件中進行相關配置

      剩下還有大概幾百個參數,有興趣的可以自己看下,然後文末還有使用例子可以參考下:



      然後我執行 ./configure 可以看下結果:



      可以看到,因爲我自己沒有做配置,所以所有的配置都是默認的,然後還生成了 Makefile 文件,有興趣的可以去研究下 Makefile 文件

      make
             make用來編譯的,它從Makefile中讀取指令,然後編譯。

      make install
             make install是用來安裝的,它也從Makefile中讀取指令,安裝到指定的位置。

  • 此時已經安裝好了,需要配置下 nginx.conf 
     
    vi /usr/local/nginx/conf/nginx.conf

    找到 server 修改默認的端口號,因爲默認的 80 會跟 apache 佔用 80 端口衝突,當然也可以設置監聽多個端口,如下所示監聽了 8090 和 8091 兩個端口:


    配置完成之後可以在 /usr/local/nginx/sbin 目錄下執行命令  ./nginx -t 檢查配置文件是否正確,如下:

  • 啓動 nginx 
     
    //進入啓動腳本所在目錄
    cd /usr/local/nginx/sbin
    
    //啓動 nginx 
    ./nginx
  • 至此,nginx 安裝啓動完成!但是還沒完!

    1:服務器默認防火牆是開啓的,要想從外部訪問,必須關閉防火牆,下面三條命令可以用來操作防火牆
     
    //關閉防火牆
    sudo systemctl stop firewalld
    
    //查看防火牆狀態
    sudo systemctl status firewalld
    
    //開啓防火牆
    sudo systemctl start firewalld
    

    如下圖所示,狀態爲 inactive 的時候,表示防火牆已經關閉,狀態爲 active 的時候,狀態爲開啓




    2:此時可以試着在瀏覽器通過IP和端口號來訪問,剛剛我們設置監聽的是8090和8091端口,那麼就可以訪問這個端口,如下,出現以下頁面表示安裝成功:




    3:如果沒有出現上面的頁面,則可以 ping 一下 ip 地址,telnet 一下端口號,看看是不是都是好的,如果你用的是阿里雲的服務器,那麼你要在阿里雲上把對應端口給開放了,如下:




    我上面是開通了8090-8099這個範圍的接口,你也可以自己根據需要選擇適合自己的

    4:有時候使用 ./nginx -s reload 會報如下錯誤:
    nginx: [error] open() "/usr/local/nginx/logs/nginx.pid" failed (2: No such file or directory)
    這是因爲當我們停止 nginx 的時候會把 nginx.pid 這個文件刪掉,所以會找不到這個文件,此時就不要用重啓命令了,只用用 ./nginx 啓動命令來啓動 nginx 就可以了,它會生成該文件,即只有在 nginx 在啓動中這個狀態下纔可以直接使用 ./nginx -s reload 命令來重新加載配置文件。

    5:nginx 常用簡單命令:

    //啓動 nginx
    ./nginx
    
    //重新加載配置文件(不停止 nginx 服務的情況下加載新的配置)
    ./nginx -s reload
    
    //停止 nginx
    ./nginx -s stop
    
    //測試 nginx 配置是否有語法錯誤
    ./nginx -t
    
    //查看 nginx 版本
    ./nginx -v
    
    //獲取幫助信息
    ./nginx -h

     

  • END

     

發佈了3 篇原創文章 · 獲贊 0 · 訪問量 7978
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章