Linux 編譯安裝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