centos下Nginx安裝配置步驟詳解

來源:互聯網
上載者:User


nginx可以使用各平台的預設包來安裝,本文是介紹使用源碼編譯安裝,包括具體的編譯參數資訊。

正式開始前,編譯環境gcc g++ 開發庫之類的需要提前裝好,這裡預設你已經裝好。

ububtu平台編譯環境可以使用以下指令

apt-get install build-essential
apt-get install libtool
centos平台編譯環境使用如下指令

安裝make:

yum -y install gcc automake autoconf libtool make
安裝g++:

yum install gcc gcc-c++

下面正式開始
---------------------------------------------------------------------------
一般我們都需要先裝pcre, zlib,前者為了重寫rewrite,後者為了gzip壓縮。
1.選定源碼目錄
可以是任何目錄,本文選定的是/usr/local/src

cd /usr/local/src

2.安裝PCRE庫

ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/ 下載最新的 PCRE 源碼包,使用下面命令下載編譯和安裝 PCRE 包:

cd /usr/local/src
wget ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/pcre-8.34.tar.gz
tar -zxvf pcre-8.34.tar.gz
cd pcre-8.34
./configure
make
make install

3.安裝zlib庫

http://zlib.net/zlib-1.2.8.tar.gz 下載最新的 zlib 源碼包,使用下面命令下載編譯和安裝 zlib包:

cd /usr/local/src

wget http://zlib.net/zlib-1.2.8.tar.gz
tar -zxvf zlib-1.2.8.tar.gz
cd zlib-1.2.8
./configure
make
make install

4.安裝ssl(某些vps預設沒裝ssl)

cd /usr/local/src
wget http://www.openssl.org/source/openssl-1.0.1c.tar.gz
tar -zxvf openssl-1.0.1c.tar.gz

5.安裝nginx

Nginx 一般有兩個版本,分別是穩定版和開發版,您可以根據您的目的來選擇這兩個版本的其中一個,下面是把 Nginx 安裝到 /usr/local/nginx 目錄下的詳細步驟:

cd /usr/local/src
wget http://nginx.org/download/nginx-1.4.2.tar.gz
tar -zxvf nginx-1.4.2.tar.gz
cd nginx-1.4.2

./configure --sbin-path=/usr/local/nginx/nginx
--conf-path=/usr/local/nginx/nginx.conf
--pid-path=/usr/local/nginx/nginx.pid
--with-http_ssl_module
--with-pcre=/usr/local/src/pcre-8.34
--with-zlib=/usr/local/src/zlib-1.2.8
--with-openssl=/usr/local/src/openssl-1.0.1c

make
make install
--with-pcre=/usr/src/pcre-8.34 指的是pcre-8.34 的源碼路徑。
--with-zlib=/usr/src/zlib-1.2.7 指的是zlib-1.2.7 的源碼路徑。

安裝成功後 /usr/local/nginx 目錄下如下

fastcgi.conf            koi-win             nginx.conf.default
fastcgi.conf.default    logs                scgi_params
fastcgi_params          mime.types          scgi_params.default
fastcgi_params.default  mime.types.default  uwsgi_params
html                    nginx               uwsgi_params.default
koi-utf                 nginx.conf          win-utf
6.啟動
確保系統的 80 連接埠沒被其他程式佔用,運行/usr/local/nginx/nginx 命令來啟動 Nginx,

netstat -ano|grep 80
如果查不到結果後執行,有結果則忽略此步驟(ubuntu下必須用sudo啟動,不然只能在前台運行)

sudo /usr/local/nginx/nginx
開啟瀏覽器訪問此機器的 IP,如果瀏覽器出現 Welcome to nginx! 則表示 Nginx 已經安裝並運行成功。

 

-----------------------------------------------------
到這裡nginx就安裝完成了,如果只是處理靜態html就不用繼續安裝了

如果你需要處理php指令碼的話,還需要安裝php-fpm。

下面安裝排錯

附:可能遇到的錯誤和一些協助資訊

1.1編譯pcre錯誤

libtool: compile: unrecognized option `-DHAVE_CONFIG_H'
libtool: compile: Try `libtool --help' for more information.
make[1]: *** [pcrecpp.lo] Error 1
make[1]: Leaving directory `/usr/local/src/pcre-8.34'
make: *** [all] Error 2


解決辦法:安裝g++,別忘了重新configure

apt-get install g++
apt-get install build-essential
make clean
./configure
make

1.2 make出錯

make: *** No rule to make target `build', needed by `default'.  Stop.
./configure: error: SSL modules require the OpenSSL library.
You can either do not enable the modules, or install the OpenSSL library
into the system, or build the OpenSSL library statically from the source
with nginx by using --with-openssl= option.
按照第4步的安裝方法或
ubuntu下

apt-get install openssl
apt-get install libssl-dev
centos下

yum -y install openssl openssl-devel
2.nginx編譯選項

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

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

configure命令是用來檢測你的安裝平台的目標特徵的。它定義了系統的各個方面,包括nginx的被允許使用的串連處理的方法,比如它會檢測你是不是有CC或GCC,並不是需要CC或GCC,它是個shell指令碼,執行結束時,它會建立一個Makefile檔案。nginx的configure命令支援以下參數:

--prefix=path    定義一個目錄,存放伺服器上的檔案 ,也就是nginx的安裝目錄。預設使用 /usr/local/nginx。
--sbin-path=path 設定nginx的可執行檔的路徑,預設為  prefix/sbin/nginx.
--conf-path=path  設定在nginx.conf設定檔的路徑。nginx允許使用不同的設定檔啟動,通過命令列中的-c選項。預設為prefix/conf/nginx.conf.
--pid-path=path  設定nginx.pid檔案,將儲存的主進程的進程號。安裝完成後,可以隨時改變的檔案名稱 , 在nginx.conf設定檔中使用 PID指令。預設情況下,檔案名稱 為prefix/logs/nginx.pid.
--error-log-path=path 設定主錯誤,警告,和診斷檔案的名稱。安裝完成後,可以隨時改變的檔案名稱 ,在nginx.conf設定檔中 使用 的error_log指令。預設情況下,檔案名稱 為prefix/logs/error.log.
--http-log-path=path  設定主請求的HTTP伺服器的記錄檔的名稱。安裝完成後,可以隨時改變的檔案名稱 ,在nginx.conf設定檔中 使用 的access_log指令。預設情況下,檔案名稱 為prefix/logs/access.log.
--user=name  設定nginx背景工作處理序的使用者。安裝完成後,可以隨時更改的名稱在nginx.conf設定檔中 使用的 user指令。預設的使用者名稱是nobody。
--group=name  設定nginx背景工作處理序的使用者組。安裝完成後,可以隨時更改的名稱在nginx.conf設定檔中 使用的 user指令。預設的為非特權使用者。
--with-select_module --without-select_module 啟用或禁用構建一個模組來允許伺服器使用select()方法。該模組將自動建立,如果平台不支援的kqueue,epoll,rtsig或/dev/poll。
--with-poll_module --without-poll_module 啟用或禁用構建一個模組來允許伺服器使用poll()方法。該模組將自動建立,如果平台不支援的kqueue,epoll,rtsig或/dev/poll。
--without-http_gzip_module — 不編譯壓縮的HTTP伺服器的響應模組。編譯並運行此模組需要zlib庫。
--without-http_rewrite_module  不編譯重寫模組。編譯並運行此模組需要PCRE庫支援。
--without-http_proxy_module — 不編譯http_proxy模組。
--with-http_ssl_module — 使用https協議模組。預設情況下,該模組沒有被構建。建立並運行此模組的OpenSSL庫是必需的。
--with-pcre=path — 設定PCRE庫的源碼路徑。PCRE庫的源碼(版本4.4 - 8.30)需要從PCRE網站下載並解壓。其餘的工作是Nginx的./ configure和make來完成。Regex使用在location指令和 ngx_http_rewrite_module 模組中。
--with-pcre-jit —編譯PCRE包含“just-in-time compilation”(1.1.12中, pcre_jit指令)。
--with-zlib=path —設定的zlib庫的源碼路徑。要下載從 zlib(版本1.1.3 - 1.2.5)的並解壓。其餘的工作是Nginx的./ configure和make完成。ngx_http_gzip_module模組需要使用zlib 。
--with-cc-opt=parameters — 設定額外的參數將被添加到CFLAGS變數。例如,當你在FreeBSD上使用PCRE庫時需要使用:--with-cc-opt="-I /usr/local/include。.如需要需要增加 select()支援的檔案數量:--with-cc-opt="-D FD_SETSIZE=2048".
--with-ld-opt=parameters —設定附加的參數,將用於在連結期間。例如,當在FreeBSD下使用該系統的PCRE庫,應指定:--with-ld-opt="-L /usr/local/lib".

典型執行個體(下面為了展示需要寫在多行,執行時內容需要在同一行)

./configure
    --sbin-path=/usr/local/nginx/nginx
    --conf-path=/usr/local/nginx/nginx.conf
    --pid-path=/usr/local/nginx/nginx.pid
    --with-http_ssl_module
    --with-pcre=../pcre-4.4
    --with-zlib=../zlib-1.1.3

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.