nginxのサービスの最適化------(隠されたキャッシュバージョン+ + +変更ユーザーおよびグループの分割ログ+プロセスのタイムアウト)

[TOC]

記事のディレクトリ

バージョン番号を非表示にするには、まず、設定しnginxの

1.1、コンフィギュレーション・ファイル方式を変更します

1.2、ソース変更方法

第二に、変更ユーザーおよびグループnginxの

2.1、ユーザーとグループを指定するには、設定ファイルを変更します

第三には、configure nginxのウェブキャッシング時間

第四に、構成ログの分割

第五に、接続タイムアウトを達成するために

nginxのインストールには、事前に設定されている、と私のブログを参照する必要があるかもしれない、とのリンク:nginxの設定

バージョン番号を非表示にするには、まず、設定しnginxの

本番環境では、我々は避けセキュリティ侵害リークするために、nginxのバージョン番号を非表示にする必要があります

チェック方法

Windowsのクライアントビューアnginxのバージョン番号にシオマネキツールを使用します

システムビューのCentOSで使用する「カール-I URL」コマンド

隠された方法のnginxのバージョン番号

コンフィギュレーション・ファイル方式を変更します。

ソースコードの法律を変更します

1.1、コンフィギュレーション・ファイル方式を変更します

1、最初の基本的な情報のバージョンを確認

curl -I http://自己的IP地址

nginxのサービスの最適化------(隠されたキャッシュバージョン+ + +変更ユーザーおよびグループの分割ログ+プロセスのタイムアウト)

2は、nginxの設定ファイルには、追加する:設定オプションの値がオフserver_tokensです

vim /usr/local/nginx/conf/nginx.conf

http {
     include        mime.types;
     default_type   application/octet-stream;
#下面添加一段,关闭版本显示      
      server_tokens off;

nginxのサービスの最適化------(隠されたキャッシュバージョン+ + +変更ユーザーおよびグループの分割ログ+プロセスのタイムアウト)

3、サービスを再起動します

//先关闭服务,再开启服务
service nginx stop
service nginx start

バージョンを表示する4、次いでカールコマンド

nginxのサービスの最適化------(隠されたキャッシュバージョン+ + +変更ユーザーおよびグループの分割ログ+プロセスのタイムアウト)

1.2、ソース変更方法

nginxのソースコードファイル/pot/nginx-1.12.0/src/core/nginx.h

あなたが自由に設定することができ、バージョン情報が含まれています

再コンパイル、インストール、隠されたバージョン情報

図1に示すように、修正されたバージョン番号

#先把刚才添加的那段话的 off(关闭),改成 on(开启)
vim /usr/local/nginx/conf/nginx.conf

cd /opt/nginx-1.12.2/src/core/

vim /opt/ningx-1.12.2/src/core/nginx.h

define nginx_version    1012002
define NGINX_VERSION    "1.1.1"     //自定义一个版本号
define NGINX_VER    "nginx/" NGINX_VERSION

nginxのサービスの最適化------(隠されたキャッシュバージョン+ + +変更ユーザーおよびグループの分割ログ+プロセスのタイムアウト)

nginxのサービスの最適化------(隠されたキャッシュバージョン+ + +変更ユーザーおよびグループの分割ログ+プロセスのタイムアウト)

2. [設定の編集

cd nginx-1.12.2/

./configure \
--prefix=/usr/local/nginx \
--user=nginx \
--group=nginx \
--with-http_stub_status_module

make && make install

3、サービス、ビューのバージョンを開始

#在启动服务
service nginx stop
service nginx start

#在查看,就会发现有一个我们自己伪造的一个版本号
curl -I http://IP地址/

Sercer: nginx/1.1.1  #伪造的版本号

nginxのサービスの最適化------(隠されたキャッシュバージョン+ + +変更ユーザーおよびグループの分割ログ+プロセスのタイムアウト)

注:バージョン番号は成功した偽造されていない場合は、表示されたコンフィギュレーション・ファイルのバージョンダウンが終了してもよいし、表示されません。解決策:削除server_tokensオフ。

第二に、変更ユーザーおよびグループnginxの

nginxの実行中のプロセスがファイルを読むためにWebサイトへのアクセス制御を実現するために、ユーザーとグループの支援を必要とします

Nginxは誰のデフォルトのユーザーアカウントとグループアカウントは、一般的に修正する必要があります

修正方法:

インストール時に指定したユーザーとグループをコンパイルします

ユーザーとグループを指定するには、設定ファイルを変更します。

2.1、ユーザーとグループを指定するには、設定ファイルを変更します

vim /usr/local/nginx/conf/nginx.conf

#user  nobody;
//去掉前面注释符“ # ”,修改 nobody 指定用户与组 nginx nginx;

nginxのサービスの最適化------(隠されたキャッシュバージョン+ + +変更ユーザーおよびグループの分割ログ+プロセスのタイムアウト)

nginxのによって作成されたルートの子プロセスによって作成されたメインプロセス

第三には、configure nginxのウェブキャッシング時間

Webページのデータをクライアントにnginxの場合は、キャッシュが直接再三の要求より速いアクセス速度を避けるために、同じ内容を返す将来の要求を容易にするための時間を提供することができます

静的なページのための一般的な設定は、動的なページは、キャッシュ時間を設定していません

Windowsクライアントにページバッファ時間を表示することができますフィドラー使用します

設定方法:

特定のコンテンツにパラメータを追加し、設定ファイルを変更することができます。httpセグメント、またはサーバセグメント、セグメントまたは場所で期限切れ

1. nginxのの次のサイトディレクトリに画像をコピーします。

#在自己的共享文件中 找到" game.jpg "
mkdir /abc
mount.cifs //192.168.56.1/lamp7 /abc
cd /abc/wl
//我的图片在wl的包里
//复制图片 game.jpg  到站点目录下
cp /abc/wl/game.jpg /usr/local/nginx/html/
cd /usr/local/nginx/html

nginxのサービスの最適化------(隠されたキャッシュバージョン+ + +変更ユーザーおよびグループの分割ログ+プロセスのタイムアウト)

2、画像がページのコンテンツに追加されます

#修改
vim index.html

#在 Welcome to nginx 的下面添加一段
<img src="game.jpg"/>

nginxのサービスの最適化------(隠されたキャッシュバージョン+ + +変更ユーザーおよびグループの分割ログ+プロセスのタイムアウト)

3、nginxの設定ファイルを変更します

vim /usr/local/nginx/conf/nginx.conf
#在 http {}段,添加一个
location ~\.(gif|jepg|jpg|ico|bmp|png)$ {
    root    html;
    expires 1d;
}

nginxのサービスの最適化------(隠されたキャッシュバージョン+ + +変更ユーザーおよびグループの分割ログ+プロセスのタイムアウト)

4、サービスを開始

#重启服务
service nginx restart

5、検証win10

nginxのサービスの最適化------(隠されたキャッシュバージョン+ + +変更ユーザーおよびグループの分割ログ+プロセスのタイムアウト)

第四に、構成ログの分割

nginxのの増加が時間を実行すると、ログが増加します。常にログファイルnginxのに注意を払うために実行している把握nginxのを容易にするために、必要

ログファイルには、大きな災害監視することには大きすぎます

ログファイルの定期的な切断

nginxのは、スケジュールされたタスク定期的にLinuxが自分のログ分割処理機能を持っていますが、自動的にスクリプトnginxの信号制御機能を切断ログインすることができ、およびログのカットではありません

ログ切削アイデアを書き込みスクリプト:

時間変数を設定します

保存ログ・パスが提供されています。

現在のログファイルの名前が変更されました

ログファイルを削除するのに長い時間

自動的に分割をログに記録し、通常のスクリプトを実行するためのcronタスクを設定します

1、セグメンテーションを実現するスクリプト

vim /opt/fenge.sh

#!/bin/bash
#Filename:fenge.sh
d=$(date -d "-1 day" "+%Y%m%d")
logs_path="/var/log/nginx"
pid_path="/usr/local/nginx/logs/nginx.pid"
[ -d $logs_path ] || mkdir -p $logs_path
mv /usr/local/nginx/logs/access.log ${logs_path}/test.com-access.log-$d
kill -USR1 $(cat $pid_path)
find $logs_path -mtime +30 | xargs rm -rf

nginxのサービスの最適化------(隠されたキャッシュバージョン+ + +変更ユーザーおよびグループの分割ログ+プロセスのタイムアウト)

2、スクリプトを実行します

chmod +x fenge.sh
./fengs.sh
//可以把当前时间修改为2019.12.29,(可以自定义)
date -s 2019-12-29

nginxのサービスの最適化------(隠されたキャッシュバージョン+ + +変更ユーザーおよびグループの分割ログ+プロセスのタイムアウト)

3は、定期的にスクリプトを実行するためのcronタスクを設定し、自動的に分割を記録します

执行周期性计划任务
crontab -e
0 1 * * * /opt/fengs.sh

第五に、接続タイムアウトを達成するために

同じことを避けるために、企業のウェブサイトで - - 顧客の接続の長期占領、

リソースの浪費は、コントロールを達成するために、対応する接続​​タイムアウトパラメータを提供することができます

接続のアクセス時間

接続パラメータを表示するために使用するフィドラーツール

説明するTimeoutパラメータ:

Keepalive_timeout

75秒のデフォルト、接続タイムアウトは、一般的にのみ、このパラメータを設定し、設けられた保持、サイトの状況に応じて設定することができ、またはhttpセグメント、サーバセグメントまたはセグメントに配置された位置で、閉鎖

Client_header_timeout

指定したクライアントは、タイムアウトヘッダーを待つ要求を送信します

Client_body_timeout

読み出し要求本体のタイムアウトを設定します

1、設定ファイルを変更します

cd /usr/local/nginx/conf  
vim nginx.conf
#在 http {}段 :下面添加

keepalive_timeout    65  180;
client_header_timeout 80;
client_body_timeout 80;

//重启服务
service nginx restart

nginxのサービスの最適化------(隠されたキャッシュバージョン+ + +変更ユーザーおよびグループの分割ログ+プロセスのタイムアウト)

win10検証fidderで。

nginxのサービスの最適化------(隠されたキャッシュバージョン+ + +変更ユーザーおよびグループの分割ログ+プロセスのタイムアウト)

おすすめ

転載: blog.51cto.com/14557584/2462666