摘要:Nginx 是一款高性能 Web 服務(wù)器軟件飘哨,其有非常有益的IO表現(xiàn)百匆,而且相較于 Apache Httpd 配置更加簡單上手更加容易鼻弧,本文將向大家介紹編譯安裝 Nginx 以及其第三方擴(kuò)展娩井。 Nginx 的額外擴(kuò)展: OpenSSL 1.1.0暇屋,提供 ALPN 支持,支持 HTTP/2 Nginx-CT洞辣,透明證書提高 HTTPS 網(wǎng)站的安全性和瀏覽器支持 ngx_PageSpeed咐刨,Google 家的網(wǎng)站性能優(yōu)化工具 Brotli,實(shí)現(xiàn)比 Gzip 更高的壓縮率 Jemalloc扬霜,優(yōu)化內(nèi)存管理 教程 本教程以所宰,Ubuntu 16.04 LTS 64位版 為例。
Nginx 是一款高性能 Web 服務(wù)器軟件畜挥,其有非常有益的IO表現(xiàn),而且相較于 Apache Httpd 配置更加簡單上手更加容易婴谱,本文將向大家介紹編譯安裝 Nginx 以及其第三方擴(kuò)展蟹但。
Nginx 的額外擴(kuò)展:
OpenSSL 1.1.0躯泰,提供 ALPN 支持,支持 HTTP/2
Nginx-CT华糖,透明證書提高 HTTPS 網(wǎng)站的安全性和瀏覽器支持
ngx_PageSpeed麦向,Google 家的網(wǎng)站性能優(yōu)化工具
Brotli,實(shí)現(xiàn)比 Gzip 更高的壓縮率
Jemalloc客叉,優(yōu)化內(nèi)存管理
教程
本教程以诵竭,Ubuntu 16.04 LTS 64位版 為例。
設(shè)定版本變量
如果軟件版本更新后兼搏,為了方便起見卵慰,后續(xù)修改版本號只需修改下面的變量即可。
在 SSH終端 中輸入:
Version
OpenSSLVersion='openssl-1.1.0f';
NginxCTVersion='1.3.2';
PageSpeedVersion='1.12.34.2';
SystemBit='X64';
NginxVersion='nginx-1.12.1';
上述軟件版本更新查看: OpenSSL佛呻、Nginx-CT裳朋、PageSpeed、Nginx
安裝依賴
更新系統(tǒng)軟件源緩存順便升級組件:
apt update
apt upgrade -y
安裝依賴組件:
apt install build-essential libreadline-dev libncurses5-dev libpcre3 libpcre3-dev libssl-dev zlib1g-dev unzip git perl make libjemalloc1 libjemalloc-dev
下載源碼
這里將 Nginx 所需的源代碼均放置在 /root/src 目錄下吓著,方便管理鲤嫡。
cd /root
mkdir src
cd src
下載 Nginx 和其拓展的源代碼:
wgethttps://www.openssl.org/source/$OpenSSLVersion.tar.gz
tar xzf $OpenSSLVersion.tar.gz
wgethttps://github.com/grahamedgecombe/nginx-ct/archive/v$NginxCTVersion.tar.gz
tar xzf v$NginxCTVersion.tar.gz
git clonehttps://github.com/google/ngx_brotli.git
cd ngx_brotli
git submodule update --init
cd ../
wgethttps://github.com/pagespeed/ngx_pagespeed/archive/v$PageSpeedVersion-beta.zip
unzip v$PageSpeedVersion-beta.zip
cd ngx_pagespeed-$PageSpeedVersion-beta/
wgethttps://dl.google.com/dl/page-speed/psol/$PageSpeedVersion-$SystemBit.tar.gz
tar -xzvf $PageSpeedVersion-$SystemBit.tar.gz
cd ../
wget -chttp://nginx.org/download/$NginxVersion.tar.gz
tar zxf $NginxVersion.tar.gz
編譯 Nginx
cd $NginxVersion
./configure --prefix=/usr/local/nginx \
--user=www-data --group=www-data \
--add-module=../ngx_brotli \
--add-module=../nginx-ct-$NginxCTVersion \
--add-module=../ngx_pagespeed-$PageSpeedVersion-beta \
--with-http_v2_module \
--with-http_ssl_module \
--with-http_gzip_static_module \
--with-openssl=../$OpenSSLVersion \
--with-ld-opt='-ljemalloc'
make && make install
設(shè)置變量
[ -z "grep ^'export PATH=' /etc/profile" ] && echo "export PATH=/usr/local/nginx/sbin:\$PATH" >> /etc/profile
[ -n "grep ^'export PATH=' /etc/profile" -a -z "grep /usr/local/nginx/ /etc/profile" ] && sed -i "s@^export PATH=(.*)@export PATH=/usr/local/nginx/sbin:\1@" /etc/profile
. /etc/profile
后面就可以用,nginx -t 檢測配置是否正確绑莺,nginx -s reload 重載 Nginx 了暖眼。
創(chuàng)建相關(guān)目錄
mkdir /data/wwwlogs/ -p
mkdir /data/wwwroot/default/ -p
cp /usr/local/nginx/html/index.html /data/wwwroot/default/
設(shè)置服務(wù)和開機(jī)啟動(dòng)
創(chuàng)建 /etc/init.d/nginx 文件,內(nèi)容:
cd /etc/init.d/
chmod a+x /etc/init.d/nginx
編輯 /usr/local/nginx/conf/nginx.conf 文件為:
cd /usr/local/nginx/conf/
rm nginx.conf -rf
設(shè)置開機(jī)啟動(dòng):
update-rc.d -f nginx defaults
通過 systemd 重啟 Nginx:
systemctl restart nginx
打開你的服務(wù)器 IP纺裁,就能看到安裝好的 Nginx 提示頁了
需要購買主機(jī)的朋友
阿里云幸運(yùn)券領(lǐng)冉氤Α:立即領(lǐng)取使用
阿里云ecs云服務(wù)器購買頁面:https://ecs-buy.aliyun.com
買阿里云服務(wù)器,先領(lǐng)阿里云幸運(yùn)券对扶,享優(yōu)惠折扣和抽獎(jiǎng)機(jī)會(huì)区赵!