Nginx의 서비스 최적화 ------ (숨겨진 캐시 버전 + + + 수정 사용자 및 그룹 분할 로그 + 공정 시간 초과)

[TOC]

기사 디렉토리

첫째, 구성 Nginx에 버전 번호를 숨기려면

1.1, 구성 파일 방법을 수정

1.2 소스 수정 방법

둘째, 수정 사용자 및 그룹의 Nginx

2.1, 사용자 및 그룹을 지정하는 구성 파일을 수정

셋째, 구성 Nginx의 웹 캐싱 시간

넷째, 구성 로그 분할

다섯째는 접속 타임 아웃을 달성

nginx를 설치 미리 구성되어 있으며, 내 블로그를 참조해야 할 수도 있습니다 링크 : Nginx의 구성

첫째, 구성 Nginx에 버전 번호를 숨기려면

프로덕션 환경에서, 우리는 피하기 보안 위반 누수 위해 숨기기 Nginx의 버전 번호 필요

확인 방법

윈도우 클라이언트 뷰어 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

네, 다음 curl 명령은 버전을 볼 수

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에 실행중인 프로세스가 파일을 읽을 수있는 웹 사이트에 대한 액세스 제어를 달성하기 위해, 사용자 및 그룹의 지원을 필요로

Nginx에 아무도 기본 사용자 계정 및 그룹 계정은 일반적으로 수정해야

수정 방법 :

설치 중에 지정된 사용자와 그룹을 컴파일

사용자와 그룹을 지정하는 구성 파일을 수정

2.1, 사용자 및 그룹을 지정하는 구성 파일을 수정

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

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

Nginx의 서비스 최적화 ------ (숨겨진 캐시 버전 + + + 수정 사용자 및 그룹 분할 로그 + 공정 시간 초과)

루트 자식 프로세스에 의해 생성 된 주요 과정은 nginx를 만든

셋째, 구성 Nginx의 웹 캐싱 시간

웹 페이지 데이터가 클라이언트로 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의 서비스 최적화 ------ (숨겨진 캐시 버전 + + + 수정 사용자 및 그룹 분할 로그 + 공정 시간 초과)

네, 서비스를 시작

#重启服务
service nginx restart

5, 검증 win10

Nginx의 서비스 최적화 ------ (숨겨진 캐시 버전 + + + 수정 사용자 및 그룹 분할 로그 + 공정 시간 초과)

넷째, 구성 로그 분할

Nginx에의 증가는 실행 시간으로, 로그가 증가 할 것이다. 로그 파일 Nginx에 항상주의를 기울를 파악 Nginx의 실행, 필요성을 용이하게하기 위해

로그 파일은 큰 재해 모니터링 할 너무 큰

로그 파일을 정기적으로 절단

Nginx에 예약 된 작업을 정기적으로 리눅스하여 자신의 로그 분할 처리 기능을 가지고 있지만, 자동으로 스크립트 Nginx의 신호 제어 기능을 통해 절단 로그인 할 수 있으며, 로그 인하하지

로그 절단 아이디어를 쓰기 스크립트 :

시간 변수를 설정

저장 로그 경로가 제공됩니다;

현재 로그 파일의 이름이 바뀝니다

로그 파일을 삭제하는 긴 시간

자동 분할을 기록해서를 수행 할 크론 작업을 설정합니다

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, 자동 분할을 기록해서를 수행 할 크론 작업을 설정할

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

다섯째는 접속 타임 아웃을 달성

같은를 피하기 위해 기업의 웹 사이트에서 - - 고객의 연결의 연장 직업,

자원의 낭비가 제어를 달성하기 위해 연결 시간 제한 파라미터를 대응하여 제공 될 수있다

연결 액세스 시간

피들러 도구는 연결 매개 변수를 볼 수 사용

시간 초과 매개 변수를 설명합니다 :

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