Debian8(jessie)編譯安裝NGINX1.15

實驗環境javascript

OS: debian_version_8.11 64位
CPU: Intel(R) Xeon(R) CPU E5-2630 v4 @ 2.20GHz
Mem: 8GB
Kernel: 3.16.0-10-amd64
Nginx: nginx-1.15.12

簡要說明php

一、安裝包內網中已下載好,此文檔中不演示
二、全部的源碼包都在/apps/apps_src/
三、全部的服務安裝路徑都在/apps/xxxxx

編譯安裝過程
一、安裝相關依賴包css

apt update && apt -y install gcc make zlib1g* libssl-dev libpcre+*

二、解壓縮下載包html

tar zxvf nginx-1.15.12 && cd nginx-1.15.12

三、建立運行nginx的用戶java

groupadd -r -g 200 nginx
useradd -r -g 200 -u 200 -s /bin/false -d /dev/null -M nginx

四、查看可編譯的選項node

./configure --help

五、配置選項linux

./configure \
--prefix=/apps/nginx \
--conf-path=/etc/nginx/nginx.conf \
--error-log-path=/apps/nginx/logs/error.log \
--http-log-path=/apps/nginx/logs/access.log \
--pid-path=/apps/nginx/run/nginx.pid \
--lock-path=/apps/nginx/lock/nginx.lock \
--http-client-body-temp-path=/apps/nginx/tmp/client \
--http-proxy-temp-path=/apps/nginx/tmp/proxy \
--http-fastcgi-temp-path=/apps/nginx/tmp/fastcgi \
--user=nginx --group=nginx \
--with-poll_module --with-threads \
--with-file-aio --with-pcre \
--with-http_realip_module \
--with-http_ssl_module \
--with-http_sub_module \
--with-http_dav_module \
--with-http_gunzip_module \
--with-http_stub_status_module \
--with-http_gzip_static_module \
--with-http_dav_module \
--with-http_flv_module \
--with-http_mp4_module 2> ../nginx-1.15.12-configure.err

configure命令的做用是檢測系統環境,配置nginx設置,最後成功後會生成Makefile文件。nginx

六、編譯web

make -j 4 2> ../nginx-1.15.12-make.err

make是把剛生成的Makefile文件中的指令編譯成計算機識別的二進制文件瀏覽器

七、安裝

make -j 4 install 2> ../nginx-1.15.12-install.err

八、配置全局變量

echo "export PATH=$PATH:/apps/nginx/sbin" >> /etc/profile.d/nginx.sh 
source /etc/profile.d/nginx.sh

九、進入安裝目錄檢查目錄建立缺乏目錄

mkdir -v /apps/nginx/{lock,tmp}

十、修改nginx配置文件 /etc/nginx/nginx.conf

worker_processes  4;                #nginx進程數, 一般設置爲和CPU核數同樣

pid /apps/nginx/run/nginx.pid;

use epoll;                   #多路複用IO中的一種方式,可提升nginx性能。僅適用於linux2.6以上內核
worker_connections  1024;    #單個後臺worker_processes進程的最大併發鏈接數,系統優化後可調整

server_tokens off;            #隱藏響應header和錯誤(404等)通知中的版本號
sendfile       on;            #開啓高效傳輸模式
tcp_nopush     on;            #減小網絡報文段的數量
tcp_nodelay    on;            #內核會等待將更多的字節組成一個數據包,從而提升I/O性能

gzip  on;                        #開啓壓縮功能
gzip_min_length  1k;            #容許壓縮的頁面最小字節,建議大於1k,若是小於1k可能會越壓越大
gzip_types  text/plain application/x-javascript text/css application/xml;        #指定「text/html」類型老是會被壓縮

#如下參數是爲了改善網站性能,減小資源佔用,提升訪問速度
fastcgi_connect_timeout 300;
fastcgi_send_timeout 300;
fastcgi_read_timeout 300;
fastcgi_buffer_size 64k;
fastcgi_buffers 4 64k;
fastcgi_busy_buffers_size 128k;
fastcgi_temp_file_write_size 128k;

listen       192.168.1.146:80;      #修改監聽本機內網地址(此處舉例)
server_name  host12.i.super.org;        #修改name,若是有域名解析能夠設置主機名(此處舉例)

location / {
    root   html;
    index  index.php index.html index.htm;      #新增index.php
}


location ~ \.php$ {
root           html;                    #網站的根目錄
fastcgi_pass   127.0.0.1:9000;            #經過fastcgi接口將請求發送給這個IP
fastcgi_index  index.php;                #設置首頁
fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;        #在瀏覽器中訪問.php的文件時,實際讀取的是$document_root(網站根目錄)下的.php文件
include        fastcgi_params;
}

#如下參數爲設定查看nginx狀態的地址
location /nginx_status {
    stub_status on;
    access_log off;
}

十一、檢測nginx配置文件是否有錯誤

nginx -t    #執行結果以下
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful

十二、啓動/關閉/重載nginx服務

/apps/nginx/sbin/nginx
/apps/nginx/sbin/nginx -s stop      #關閉
/apps/nginx/sbin/nginx -s reload    #從新加載
/apps/nginx/sbin/nginx -h           #查看幫助

1三、編寫nginx服務腳本加入systemd服務 /etc/systemd/system/nginx.service

[Unit]
Description=A high performance web server and a reverse proxy server
After=network.target remote-fs.target nss-lookup.target

[Service]
Type=forking
PIDFile=/apps/nginx/run/nginx.pid
ExecStart=/apps/nginx/sbin/nginx -c /etc/nginx/nginx.conf
ExecReload=/apps/nginx/sbin/nginx -s reload
ExecStop=/apps/nginx/sbin/nginx -s stop
TimeoutStopSec=5

[Install]
WantedBy=multi-user.target

#按 Esc 鍵退出編輯模式,輸入 :wq 保存並關閉nginx.service文件。

chmod 754 /etc/systemd/system/nginx.service
systemctl start nginx && systemctl enable nginx
相關文章
相關標籤/搜索