nginx是一個強大的高性能反向代理服務器,其特色是佔內存少,併發能力強,在高併發的狀況下是apache 的一個不錯的代替品,可以支持高達50000個併發鏈接數的響應,那麼這麼強大的武器,究竟如何在linux系統下發揮他的優點linux
準備工做,nginx的gzip模塊須要zlib庫,rewrite模塊須要pcre庫,ssl模塊須要openssl庫,那麼咱們來依次安裝它們nginx
zlib庫安裝:正則表達式
1)下載:wget http://zlib.net/zlib-1.2.8.tar.gzshell
2) 解壓:tar -zxvf zlib-1.2.8.tar.gz (最好將解壓的文件放到/usr/lib/zlib下,root權限)apache
3) 安裝:./configure服務器
make併發
make install高併發
pcre庫安裝:性能
1)下載:wget ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/pcre-8.33.tar.gz網站
2) 解壓:tar -zxvf pcre-8.33.tar.gz (最好將解壓的文件放到/usr/lib/pcre下,root權限)
3) 安裝:
./configure
make
make install
openssl 庫安裝:
1)下載:wget http://www.openssl.org/source/openssl-1.0.1e.tar.gz
2) 解壓:tar -zxvf openssl-1.0.1e.tar.gz (最好將解壓的文件放到/usr/lib/openssl下,root權限)
3)安裝:
./config
make
make install
經過openssl version命令查看是否安裝成功。
準備工做作好了,咱們立刻開始安裝nginx
首先去ngxin 官網下載:wget http://nginx.org/download/nginx-1.4.2.tar.gz
解壓後經過編譯安裝的方式安裝
2) 解壓:tar -zxvf nginx-1.4.2.tar.gz (最好將解壓的文件放到/usr/lib/openssl下,root權限)
3)安裝:
./configure \
--prefix=/usr/local/nginx \
--with-pcre=/usr/lib/pcre/pcre-8.33 \
--with-zlib=/usr/lib/zlib/zlib-1.2.8 \
--with-http_ssl_module \
--with-openssl=/usr/lib/openssl/openssl-1.0.1e \
--sbin-path=/usr/local/nginx \
make
make install
至此,咱們的nginx安裝成功,經過命令sudo /usr/local/nginx/nginx 啓動吧。
關閉nginx:使用ps -ef | grep nginx 查看nginx主進程PID,而後sudo kill -9 pid便可終止nginx運行。
快來看看咱們的成果,打開你的browser,訪問http://localhost,快來開始你的nginx安裝之旅!
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來完成。正則表達式使用在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".