1. 程式人生 > >Nginx 之一 伺服器的安裝部署(一): LInux 環境下 Nginx 伺服器的安裝和基本配置

Nginx 之一 伺服器的安裝部署(一): LInux 環境下 Nginx 伺服器的安裝和基本配置

一、編譯和安裝前的準備工作

本部落格依賴環境: Linux Ubuntu 16.04

1.1 足夠的磁碟空間

能夠裝得下 Nginx 的軟體包和安裝檔案, 這個基本都能滿足。

1.2 需要的工具

為了編譯 Nginx 原始碼, 需要安裝標準的 GCC 編譯器。

除此之外, 我們還需要 Automake 工具, 以完成自動建立 Makefile 的工作。 Nginx 的一些模組需要依賴其他第三方庫, 通常有 pcre 庫(支援 rewrite 庫)、 zlib 庫(支援 gzip 模組)和 openssl 庫(支援 ssl 模組)等。

我們使用如下命令來安裝上述工具及依賴庫(注意:一定要切換到 root 許可權下安裝):

[email protected]:~# apt-get install gcc						# 安裝 gcc
...
[email protected]:~# apt-get install openssl libssl-dev		# 安裝 openssl
...
[email protected]:~# apt-get install libpcre3 libpcre3-dev	# 安裝 pcre
...
[email protected]:~# apt-get install zlib1g-dev				# 安裝 zlib
...

至此, 我們便完成了編譯和安裝 Nginx 伺服器軟體的環境準備工作。

二、Nginx 軟體的自動指令碼

我們需要建立幾個目錄:

  1. 根目錄下建立 Nginx_1140: 將編譯好的 Nginx 安裝到此目錄中(下載的 Nginx 版本為 1.14.0);
[email protected]:/# cd /					# 進入根目錄下
[email protected]:/# mkdir Nginx_1140		# 建立 Nginx_1140 目錄 
  1. 在上面目錄中建立 Nginx_1140_Compile: 用來編譯 Nginx 軟體;
[email protected]:/# cd Nginx_1140						# 進入 Nginx_1140
[email protected]
:/Nginx_1140# mkdir Nginx_1140_Compile # 建立 Nginx_1140_Compile 目錄
  1. 在根目錄下建立 Nginx 目錄, 用來安裝 Nginx:
[email protected]:~# mkdir /Nginx

將 Nginx 原始碼壓縮包 nginx-1.14.0.tar.gz 複製到 /Nginx_1140 中:

[email protected]:~/桌面# cp nginx-1.14.0.tar.gz /Nginx_1140/
[email protected]:~/桌面# cd /Nginx_1140
[email protected]:/Nginx_1140# tar xf nginx-1.14.0.tar.gz 
[email protected]:/Nginx_1140# ls
nginx-1.14.0  Nginx_1140_Compile  nginx-1.14.0.tar.gz
[email protected]:/Nginx_1140# cd nginx-1.14.0/
[email protected]:/Nginx_1140/nginx-1.14.0# ls -l
總用量 748
drwxr-xr-x 6 1001 laowang   4096 11月  5 19:38 auto
-rw-r--r-- 1 1001 laowang 286953 4月  17  2018 CHANGES
-rw-r--r-- 1 1001 laowang 437286 4月  17  2018 CHANGES.ru
drwxr-xr-x 2 1001 laowang   4096 11月  5 19:38 conf
-rwxr-xr-x 1 1001 laowang   2502 4月  17  2018 configure
drwxr-xr-x 4 1001 laowang   4096 11月  5 19:38 contrib
drwxr-xr-x 2 1001 laowang   4096 11月  5 19:38 html
-rw-r--r-- 1 1001 laowang   1397 4月  17  2018 LICENSE
drwxr-xr-x 2 1001 laowang   4096 11月  5 19:38 man
-rw-r--r-- 1 1001 laowang     49 4月  17  2018 README
drwxr-xr-x 9 1001 laowang   4096 11月  5 19:38 src

configure 指令碼支援的常用選項很多, 這裡就不再贅述。 我們可以根據自己的實際情況使用 configure 指令碼自動生成 Makefile 檔案。 進入到 /Nginx_1140/nginx-1.14.0, 然後使用下述命令配置並生成 Makefile 檔案:

[email protected]:/Nginx_1140/nginx-1.14.0# ./configure --prefix=/Nginx

–prefix 指定了 Nginx 軟體的安裝路徑為之前新建的 /Nginx 目錄。 此時可以看到, 當前路徑下新增了一個 Makefile 的檔案。

三、Nginx 原始碼的編譯和安裝

當我們得到了 Makefile 檔案後, 我們便可以編譯原始碼了。 進入 /Nginx_1140/nginx-1.14.0 中, 使用 make 命令進行編譯, 成功後, 使用 make install 來安裝 Nginx 軟體:

[email protected]:/Nginx_1140/nginx-1.14.0# make
...(很長)
[email protected]:/Nginx_1140/nginx-1.14.0# make install
...(很長)
[email protected]:/Nginx_1140/nginx-1.14.0# tree /Nginx
/Nginx
├── conf
│   ├── fastcgi.conf
│   ├── fastcgi.conf.default
│   ├── fastcgi_params
│   ├── fastcgi_params.default
│   ├── koi-utf
│   ├── koi-win
│   ├── mime.types
│   ├── mime.types.default
│   ├── nginx.conf
│   ├── nginx.conf.default
│   ├── scgi_params
│   ├── scgi_params.default
│   ├── uwsgi_params
│   ├── uwsgi_params.default
│   └── win-utf
├── html
│   ├── 50x.html
│   └── index.html
├── logs
└── sbin
    └── nginx

4 directories, 18 files

我們可以看到, Nginx 伺服器的安裝目錄中主要包括了 conf、 html、 logs 和 sbin 等 4 個目錄。

  1. conf: 存放了 Nginx 的所有配置檔案。 其中 nginx.conf 檔案是 Nginx 伺服器的主配置檔案, 其他配置檔案是用來配置 Nginx 的相關功能的。 在此目錄下, 所有的配置檔案都提供了以 .default 結尾的預設配置檔案, 方便我們將配置過的 .conf 檔案恢復到初始狀態。
  2. html: 存放了 Nginx 伺服器在執行過程中呼叫的一些 html 網頁檔案。
  3. logs: 用來存放 Nginx 伺服器的日誌。 由於目前 Nginx 伺服器沒有啟動, 所以 logs 目錄下是空的。
  4. sbin: 裡面只有一個 Nginx 檔案, 這就是 Nginx 伺服器的主程式了。

至此, 我們 LInux 環境下 Nginx 伺服器的安裝和基本配置便完成了。