1. 程式人生 > >nginx源碼編譯安裝及配置文件說明

nginx源碼編譯安裝及配置文件說明

nginx源碼安裝

nginx源碼編譯安裝

安裝nginx的依賴包(pcre-devel openssl-devel)

[root@anuo ~]# yum install pcre-devel openssl-devel -y

創建管理用戶 nginx

[root@anuo ~]# useradd -s /sbin/nologin -M nginx

下載nginx源碼包

[root@anuo opt]# wget http://nginx.org/download/nginx-1.10.2.tar.gz

解壓軟件

tar xf nginx-1.10.2.tar.gz
[root@anuo opt]# tar xf nginx-1.10.2.tar.gz -C /usr/src/
[root@anuo opt]# cd /usr/src/nginx-1.10.2/

nginx軟件編譯安裝過程

配置軟件,在軟件的解壓目錄中

[root@anuo nginx-1.10.2]# ./configure --prefix=/usr/local/nginx-1.10.2 --user=nginx --group=nginx --with-http_stub_status_module --with-http_ssl_module

編譯參數說明:

 –prefix           --表示指定軟件安裝到哪個目錄中,指定目錄不存在會自動創建
 –user/–group       --nginx工作進程由哪個用戶運行管理
 –with-http_stub_status_module   --啟動nginx狀態模塊功能(用戶訪問nginx的網絡信息)
 –with-http_ssl_module           --啟動https功能模塊

確認配置是否正確

[root@anuo nginx-1.10.2]# echo $? 
0

編譯軟件

[root@anuo nginx-1.10.2]# make

編譯安裝

[root@anuo nginx-1.10.2]# make install

創建軟連接

[root@anuo nginx-1.10.2]# cd /usr/local/
[root@anuo local]# ln -s /usr/local/nginx-1.10.2/ /usr/local/nginx

啟動程序

[root@anuo local]# /usr/local/nginx/sbin/nginx 

檢查是否啟動

[root@anuo local]# ps -ef | grep nginx
root       8741      1  0 08:31 ?        00:00:00 nginx: master process /usr/local/nginx/sbin/nginx
nginx      8742   8741  0 08:31 ?        00:00:00 nginx: worker process      
root       8744   1802  0 08:31 pts/0    00:00:00 grep nginx

檢查端口信息

[root@anuo local]# lsof -i:80
COMMAND  PID  USER   FD   TYPE DEVICE SIZE/OFF NODE NAME
nginx   8741  root    6u  IPv4  19348      0t0  TCP *:http (LISTEN)
nginx   8742 nginx    6u  IPv4  19348      0t0  TCP *:http (LISTEN)

服務安裝完成了

nginx命令簡化方法

[root@anuo local]# echo ‘export PATH=/usr/local/nginx/sbin:$PATH‘>>/etc/profile
[root@anuo local]# source /etc/profile
[root@anuo local]# echo $PATH
/usr/local/nginx/sbin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin

nginx 目錄結構

[root@anuo nginx]# ll
總用量 36
drwx------ 2 nginx root 4096 5月  14 08:31 client_body_temp
drwxr-xr-x 2 root  root 4096 5月  14 08:26 conf  #配置文件保存目錄 
drwx------ 2 nginx root 4096 5月  14 08:31 fastcgi_temp
drwxr-xr-x 2 root  root 4096 5月  14 08:26 html  #站點目錄 
drwxr-xr-x 2 root  root 4096 5月  14 08:31 logs  #nginx 服務相關日誌文件保存目錄(錯誤日誌訪問日誌)
drwx------ 2 nginx root 4096 5月  14 08:31 proxy_temp
drwxr-xr-x 2 root  root 4096 5月  14 08:26 sbin  # 服務命令目錄(只有一個nginx文件)
drwx------ 2 nginx root 4096 5月  14 08:31 scgi_temp
drwx------ 2 nginx root 4096 5月  14 08:31 uwsgi_temp

nginx.conf 配置文件說明

將配置文件的註釋和空行去掉方便查看
[root@anuo conf]# egrep -v "#|^$" nginx.conf.default > nginx.conf

[root@anuo conf]# cat nginx.conf

worker_processes  1;                        ← worker 進程數量 
events {                                    ←事件區塊     
    worker_connections  1024;      ←每個worker進程可以處理的連接數 
}           
http {                                      ← HTTP 區塊    
    include       mime.types;          ←支持的媒體文件     
    default_type  application/octet-stream; ←默認的媒體類型     
    sendfile        on;                     ←高效傳輸模式     
    keepalive_timeout  65;                  ←超時時間     
    server {                                 ← server 區塊        
        listen       80;                    ←監聽的端口         
        server_name  localhost;             ←域名         
        location / {                        ←location區塊             
            root   html;                     ←站點目錄             
            index  index.html index.htm;     ←首頁文件        
            }                                                           
        error_page   500 502 503 504  /50x.html;  ← 錯誤信息配置         
        location = /50x.html {                             
            root   html;                           
        }                                          
    }                                    
}                              

nginx使用命令參數

[root@anuo conf]# nginx     --啟動服務

[root@anuo conf]# nginx -s stop     --關閉服務

[root@anuo conf]# nginx -t          --修改了配置文件檢查下語法

[root@anuo conf]# nginx -s reload   --重新加載

[root@anuo conf]# nginx -V          --查看編譯參數信息
nginx version: nginx/1.10.2
built by gcc 4.4.7 20120313 (Red Hat 4.4.7-18) (GCC) 
built with OpenSSL 1.0.1e-fips 11 Feb 2013
TLS SNI support enabled
configure arguments: --prefix=/usr/local/nginx-1.10.2 --user=nginx --group=nginx --with-http_stub_status_module --with-http_ssl_module

nginx源碼編譯安裝及配置文件說明