Nginx筆記-0-Centos環境下安裝

概述

記錄一下 Nginx 經過安裝包以及經過源代碼安裝兩種方式。目標是第一次接觸 Nginx 的人也能看懂直接用。html

一. 使用安裝包配置

Tip: 這種安裝方式比較簡單,官方文檔也說得比較清楚詳細。這裏搭建的環境是 Centos7, 能夠systemctl 命令操做 Nginx,使用 Centos6的童鞋請參考本文的 2、從源代碼安裝-Step3. 配置控制腳本 部分描述。

Step1: 下載安裝

  • 運行 sudo yum install yum-utils 安裝依賴;
  • 進入目錄 /etc/yum.repos.d,運行 vim nginx.repo 建立文件並黏貼如下代碼:前端

    [nginx-stable]
    name=nginx stable repo
    baseurl=http://nginx.org/packages/centos/$releasever/$basearch/
    gpgcheck=1
    enabled=1
    gpgkey=https://nginx.org/keys/nginx_signing.key
    
    [nginx-mainline]
    name=nginx mainline repo
    baseurl=http://nginx.org/packages/mainline/centos/$releasever/$basearch/
    gpgcheck=1
    enabled=0
    gpgkey=https://nginx.org/keys/nginx_signing.key
  • 使用命令行安裝 Nginx: sudo yum install nginx
  • 設置 Nginx 開機啓動:systemctl enable nginx.service
  • 至此安裝已經所有完成

Step2: 使用

  • 配置 nginx.conf 文件位置一般在以下三個地方:nginx

    • /usr/local/nginx/conf
    • /etc/nginx
    • /usr/local/etc/nginx
  • 操做:c++

    • 查看Nginx進程:ps -ef | grep nginx
    • 基本操做:vim

      • 啓動 Nginx: systemctl start nginx.service
      • 查詢 Nginx 狀態:systemctl status nginx.service
      • 中止 Nginx: systemctl stop nginx.service
      • 修改配置後測試: nginx -t
      • 配置生效(重載):systemctl reload nginx.service
  • 經常使用操做目錄centos

    • 網站文件默認存放目錄(已有 index 和 50x 頁面文件):/usr/share/nginx/html
    • 網站默認站點配置:/etc/nginx/conf.d/default.conf
    • 自定義Nginx站點配置文件目錄:/etc/nginx/conf.d
    • Nginx全局設置:/etc/nginx/nginx.conf

2、從源代碼安裝

Tip:這種安裝方式相對蛋疼,官網文檔可能認爲用這個的都是大神,全寫配置項介紹了,新手看着難受故不推薦(除非遇到沒法下載安裝包的狀況)。本節安裝環境爲 Centos6.7.

Step1. 下載安裝

  • 下載:瀏覽器

    • 本地電腦進入官網下載區下載 nginx 源碼包(Centos可用源碼文件名稱格式爲nginx-1.x.x.tar.gz)
    • 將源碼包上傳到服務器,scp 【本機路徑/nginx-1.x.x.tar.gz】 【服務器用戶名@服務器 IP】:【目標路徑(例如:用戶文件夾/nodreame)】
    • 解壓文件(目錄隨便):tar -zxvf nginx-1.x.x.tar.gz
  • 編譯安裝:服務器

    • 進入解壓後 nginx 文件目錄下(例如:cd /nodreame/nginx-1.x.x.tar.gz)
    • 運行命令配置編譯結果路徑:./configure --prefix=/usr/share/nginx網絡

      • 這個階段記得看看打印出來的 Configuration summary,注意須要安裝哪些庫
      • 安裝 C語言編譯環境:yum -y install make gcc gcc-c++ ncurses-devel
      • 通用安裝命令:yum -y install zlib zlib-devel openssl openssl--devel pcre pcre-devel
      • 完成以後再次運行配置命令以檢測
      • Tip:熟練者請根據須要參考官網文檔進行配置,這裏的配置僅供初學者快速上手
    • 編譯(路徑不變):make
    • 安裝(路徑不變):make install

Step2. 啓動測試

  • 因爲沒有配置全局索引,因此每次操做進入/usr/share/nginx/sbin目錄(該路徑根據編譯安裝時配置目錄不一樣而變化),執行 ./nginx 命令以啓動 Nginx,使用 ps -ef | grep nginx查看啓動狀況,有兩行或兩行以上回顯即成功;

Step3. Nginx操做

A. Centos6.x版本

每次都進入目錄操做 Nginx 太過於複雜,可使用腳原本優化對 Nginx的控制
  1. 進入/etc/init.d目錄,並獲取官方提供的nginx腳本文件到該目錄curl

    • 方式一:到 https://www.nginx.com/resourc... 複製代碼,而後黏貼到當前目錄下的 nginx 文件(須要本身建立)中;
    • 方式二:在當前目錄直接 wget http://www.centos.bz/wp-content/uploads/2011/07/nginx 獲取文件;
  2. 修改nginx腳本文件

    • 格式處理:因爲可能nginx腳本文件的文件格式可能爲[dos]或者[mac],致使發生"env: /etc/init.c/nginx: No such file or directory"錯誤,因此對nginx腳本文件進行格式設置處理,操做以下所示:

      vi nginx
      :set fileformat=unix
      :wq
    • 文件提權:nginx腳本文件當前權限沒法運行,故對其進行提權chmod 0777 nginx
    • 配置修改:因爲如今是"從源代碼安裝 Nginx"的環節,每一個人對本身電腦的 Nginx 配置位置存在差別,因此這裏須要修改 nginx腳本文件 兩個地方:

      • nginx="" 這個位置:須要替換成本身的 Nginx 可執行文件路徑,也就是【"編譯安裝"階段的配置路徑】+ /sbin/nginx,個人路徑是 /usr/share/nginx/sbin/nginx
      • NGINX_CONF_FILE=""這個位置:須要替換成本身的 Nginx 配置文件路徑,也就是【"編譯安裝"階段的配置路徑】+ /conf/nginx.conf,個人路徑是 /usr/share/nginx/conf/nginx.conf
    • 加入系統管理:

      chkconfig --add /etc/init.d/nginx
      chkconfig nginx on
    • 基礎控制命令:

      • service nginx start
      • service nginx stop
      • service nginx restart
      • service nginx reload
      • service nginx configtest # 修改配置以後進行檢測是否存在語法錯誤

B. Centos7.x 版本

  • 啓動:/usr/share/nginx/sbin/nginx
  • 中止:/usr/share/nginx/sbin/nginx -s stop
  • 重載:/usr/share/nginx/sbin/nginx -s reload
  • 測試:/usr/share/nginx/sbin/nginx -t
  • 強制關閉:pkill nginx

3、Nginx 可訪問測試

1. 運行測試:

使用 ps -ef|grep nginx 命令檢查 nginx 運行狀況,有兩行或兩行以上回顯即成功。 若是發現運行只有一行回顯,多是當前端口被佔用,使用ps -ef | grep【Nginx端口號,默認80】,若是打印結果爲兩行或以上,即端口被佔用,須要修改nginx配置文件的端口號再從新運行。

  • 1) 端口號佔用測試 ps -ef | grep 【端口號】
  • 2) 當你參照一. 使用安裝包配置安裝時,運行vim /etc/nginx/conf.d/default.conf, 將listen後面的數字替換爲你測試過未被佔用的端口號;
  • 3) 當你參照2、從源代碼安裝安裝時,運行vim /usr/share/nginx/conf/nginx.conf, 將listen後面的數字替換爲你測試過未被佔用的端口號;
  • 4) 保存並測試腳本是否有誤,確認無誤以後重載Nginx;
  • 5) 再次使用 ps -ef|grep nginx 命令檢查 nginx 運行狀況;

2. Centos本機訪問測試

在命令行運行 curl http://localhost:Nginx端口號(默認80),若是可以看到簡單的 html 信息則爲 Nginx 配置成功;

3. 遠程訪問測試

在瀏覽器地址欄輸入 http://【Centos服務器 IP 地址】:Nginx端口號(默認80),看到 Welcome to nginx!即網站訪問通道已打通;若是訪問失敗請先肯定 運行測試Centos本機訪問測試 已經過,完成以後諮詢網絡管理員端口限制狀況方便定位問題;

That's all & Thx~
相關文章
相關標籤/搜索