1. 程式人生 > >Linux 編譯安裝Nginx

Linux 編譯安裝Nginx

nginx 編譯安裝

Linux編譯安裝nginx

背景:

學習nginx之前需要先會安裝nginx,這裏記錄下如何編譯安裝nginx,為以後復習使用。

PS:沒有特殊的需求,最好使用yum安裝,yum安裝需要配epel的yum源。

官方yum源地址:
http://nginx.org/packages/centos/6/x86_64/RPMS
Fedora-EPEL:
https://mirrors.aliyun.com/epel/6/x86_64/

根據大版本選擇6或者7,或者其他。

安裝:

1、準備nginx源碼包

官方下載地址:http://nginx.org/en/download.html

2、編譯前準備工作

1) 安裝開發包組

yum -y groupinstall "development tools"

2) 安裝編譯需要用到的開發包(這些包在安裝開發包組時不會安裝):

yum install pcre-devel openssl-devel zlib-devel

3) 解壓源碼包

tar xvf nginx-1.10.3.tar.gz

4) cd 進解壓目錄下

cd nginx-1.10.3

5) 準備nginx用戶和用戶組

useradd -r nginx

3、開始編譯安裝

1) ./configure --prefix=/usr/local/nginx --sbin-path=/usr/sbin/nginx --conf-path=/etc/nginx/nginx.conf --error-log-path=/var/log/nginx/error.log --http-log-path=/var/log/nginx/access.log --pid-path=/var/run/nginx.pid --lock-path=/var/run/nginx.lock --user=nginx --group=nginx --with-http_ssl_module --with-http_v2_module --with-http_dav_module --with-http_stub_status_module --with-threads --with-file-aio

編譯安裝nginx選項:
--prefix=/etc/nginx 安裝路徑
--sbin-path=/usr/sbin/nginx 指明nginx程序文件安裝路徑
--conf-path=/etc/nginx/nginx.conf 主配置文件安裝位置
--error-log-path=/var/log/nginx/error.log 錯誤日誌文件安裝位置
--http-log-path=/var/log/nginx/access.log 訪問日誌文件安裝位置
--pid-path=/var/run/nginx.pid 指明pid文件安裝位置
--lock-path=/var/run/nginx.lock 鎖文件安裝位置
--http-client-body-temppath=/var/cache/nginx/client_temp 客戶端body部分的臨時文件存放路徑,如果服務器允許客戶端使用put方法提交大數據時,臨時存放的磁盤路徑
--http-proxy-temp-path=/var/cache/nginx/proxy_temp 作為代理服務器,服務器響應報文的臨時文件存放路徑
--http-fastcgi-temppath=/var/cache/nginx/fastcgi_temp 作為fastcgi代理服務器,服務器響應報文的臨時文件存放路徑
--http-uwsgi-temp-path=/var/cache/nginx/uwsgi_temp 作為uwsgi代理服務器,服務器響應報文的臨時文件存放路徑
--http-scgi-temp-path=/var/cache/nginx/scgi_temp 作為scgi反代服務器,服務器響應報文的臨時文件存放路徑
--user=nginx 指明以那個身份運行worker進程,主控master進程一般由root運行
--group=nginx
--with-http_ssl_module 表示把指定模塊編譯進來

2) make && make install

4、nginx使用

ls /usr/local/nginx/html是測試頁,sbin是主程序
ls /usr/local/nginx/sbin/nginx只有一個程序文件
ls /usr/local/nginx/html/50x.html index.html 測試網頁
nginx:默認為啟動nginx
-h 查看幫助選項
-t 測試nginx語法錯誤
-c filename 指定配置文件(default: /etc/nginx/nginx.conf)
-s signal 發送信號給master進程,signal可為:stop, quit,reopen, reload
示例:

nginx

技術分享

nginx -s stop 停止

nginx -s reload 重新加載配置文件
nginx -g directives 在命令行中指明全局指令

技術分享

Linux 編譯安裝Nginx