nginx高性能web服務(wù)器安裝配置優(yōu)化

1、nginx服務(wù)安裝,卸載,和配置

1. 安裝兩種方式
方法一:yum安裝,需要提前配置nginx安裝源
參考官方內(nèi)容:[配置nginx的yum源](http://nginx.org/en/linux_packages.html#stable)
然后執(zhí)行安裝命令:
yum install nginx
卸載命令:
yum remove nginx
使用命令:
service nginx start/restart/stop/status  #啟動,重啟,關(guān)閉,查看狀態(tài)
或者
/usr/sbin/nginx -h  #查看幫助命令
/usr/sbin/nginx -c /etc/nginx/nginx.conf  # 一般啟動
/usr/sbin/nginx -s stop/reopen/reload/quit  # 停止,重開日志文件,重載配置文件,停止服務(wù)

源代碼編譯可以參考官網(wǎng)文檔:官方資料

方式二:源代碼編譯,安裝,好處是可以自行添加插件與模塊,或是二次開發(fā)
wget   http://nginx.org/download/nginx-1.12.2.tar.gz # 從官網(wǎng)獲取穩(wěn)定版地址下載文件
tar zxvf nginx-1.12.2.tar.gz
cd nginx-1.12.2
# 先安裝gcc-c++
yum install gcc gcc-c++
# 安裝pcre
wget ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/pcre-8.41.tar.gz 
tar -zxvf pcre-8.41.tar.gz
cd pcre-8.41
./configure  --prefix=/opt/libs/pcre
make
make install
# 安裝zlib
wget http://zlib.net/zlib-1.2.11.tar.gz
tar -zxvf zlib-1.2.11.tar.gz
cd zlib-1.2.11
./configure
make  --prefix=/opt/libs/zlib
make install
# 安裝openssl
wget https://www.openssl.org/source/openssl-1.1.0g.tar.gz.configure  
tar -zxvf openssl-1.1.0g.tar.gz
cd  openssl-1.1.0g
./config   # 不知道為什么,不能指定prefix地點(diǎn)
make
make install
# 安裝nginx
wget http://nginx.org/download/nginx-1.12.2.tar.gz
tar -zxvf nginx-1.12.2.tar.gz
cd nginx-1.12.2
./configure  --prefix=/usr/local/nginx \
--with-http_ssl_module   # 增加ssl協(xié)議,https功能的支持
--with-pcre=../pcre-8.41   # 結(jié)果最后只能通過下載的源代碼 make編譯后結(jié)果安裝
--with-zlib=../zlib-1.2.11  # 結(jié)果最后只能通過下載的源代碼 make編譯后結(jié)果安裝
--with-openssl=../openssl # 結(jié)果最后只能通過下載的源代碼 make編譯后結(jié)果安裝

make
make install
2. 重要文件
配置文件:一般/etc/nginx/nginx.conf
日志文件:一般位于/var/log/nginx目錄下

2、nginx的平滑升級

1). nginx -V   # 查看nginx安裝的時候的編譯選項(xiàng)
2). 重新按照生產(chǎn)要求,./configure 和 make (注意不要make install)
3). 備份舊文檔
cd /usr/local/nginx/sbin/
cp nginx nginx.old 
4). 替換Nginx可執(zhí)行文件
cp /編譯目錄下的/nginx  /usr/local/nginx/sbin/
5). 檢查是否成功
./nginx -t
6). 平滑關(guān)閉舊版本,啟用新版本
kill -USR2 `cat /application/nginx/logs/nginx.pid`
kill -QUIT `cat /application/nginx/logs/nginx.pid.oldbin`

3. nginx配置優(yōu)化常見優(yōu)化項(xiàng)

基本上做好以下10項(xiàng)內(nèi)容的設(shè)置,就能提供一個高性能的nginx服務(wù)器。
1)workprocess,cpu

worker_processes 8;
worker_cpu_affinity 00000001 00000010 00000100 00001000 00010000  00100000 01000000 10000000;

2)event事件模型選擇epoll模型
3)work_connections連接數(shù)設(shè)置

events{
use epoll;
worker_connections  102400; # 單個進(jìn)程的最大連接數(shù)
multi_accept on;
}

4)每個進(jìn)程的最大文件打開數(shù)

worker_rlimit_nofile 65535;  # 一般等于ulimit -n系統(tǒng)值

5)keepalive timeout會話保持時間

keepalive_timeout  60;

6)GZIP壓縮級別

gzip on;
gzip_min_length 1k;
gzip_buffers 4 16k;
gzip_http_version 1.1;
gzip_comp_level 4-6; # 一般選擇4-6,為了性能
gzip_types  text/plain  application/x-javascript text/css applications/xml
gzip_vary on;

7)proxy超時設(shè)置

proxy_connect_timeout 90;
proxy_send_timeout  90;
proxy_read_timeout  4k;
proxy_buffers 4 32k;
proxy_busy_buffers_size 64k

8)expires 3d:# 如果靜態(tài)頁面不經(jīng)常更新,可以將緩存時間設(shè)長,減少服務(wù)器壓力

expires 3d;

9)動靜頁面分離


image.png

10)nginx cache優(yōu)化設(shè)置

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

友情鏈接更多精彩內(nèi)容