nginx 버전 번호 숨기기
버전 번호 보기
방법 1: 컬 명령
CentOS에서 컬 -I http://192.168.80.130 명령을 사용하여 응답을 표시할 수 있습니다. 메시지 헤더 정보.
curl -I http://192.168.80.130
방법 2: 웹페이지에서 보기
1 #html 디렉토리로 전환하고 이미지를 그 디렉토리로 드래그하세요
cd /usr/local/ nginx/ html
2. #웹페이지에서 보기
http://192.168.59.118/game.png
버전 정보 숨기기
방법 1: 구성 파일 수정
1.#修改配置文件 vim /usr/local/nginx/conf/nginx.conf ```handlebars http { include mime.types; default_type application/octet-stream; server_tokens off; #添加,关闭版本号 ...... } 2.#重启nginx systemctl restart nginx 3.#查看版本是否被隐藏 curl -I http://192.168.80.130
방법 2 : 소스 코드 파일 수정, 재컴파일 및 설치
버전 번호를 사용자 지정할 수 있으므로 혼동될 수 있습니다.
1. #切换至nginx安装包所在目录 cd /opt/ 2. #停止nginx服务 systemctl stop nginx.service 3. #切换至安装目录 cd nginx-1.12.0/ 4. #切换至内核目录 cd src/core/ 5. #进入配置文件 vim nginx.h #define NGINX_VERSION "老铁" #define NGINX_VER "666/" NGINX_VERSION 6. #切换至文件目录 cd ../../ 7. #编译 ./configure \ --prefix=/usr/local/nginx \ --user=nginx \ --group=nginx \ --with-http_stub_status_module 8. #安装 make && make install -j4 9. #将配置文件下的之前关闭版本信息开启 vim /usr/local/nginx/conf/nginx.conf server_tokens on; 10. #重启nginx systemctl restart nginx 11. #查看版本信息 curl -I http://192.168.59.118
사용자 및 그룹 수정
1. #修改配置文件 vim /usr/local/nginx/conf/nginx.conf user dayu dayu; #取消注释,修改用户为 dayu ,组为 dayu 2. #创建非登录用户 useradd -s /sbin/nologin dayu 3. #重启服务 systemctl restart nginx 4. #查看是否修改成功 ps aux | grep nginx
캐시 시간
언제 nginx는 웹 페이지 데이터를 클라이언트에 설치한 후 향후 동일한 콘텐츠를 요청할 때 직접 반환을 용이하게 하도록 캐시 시간을 설정하여 반복 요청을 피하고 액세스 속도를 높일 수 있습니다. 일반적으로 캐시 시간은 정적 웹에 대해 설정됩니다. 페이지이며 동적 웹 페이지에는 캐시 시간이 설정되지 않습니다.
1. #修改配置文件 vim /usr/local/nginx/conf/nginx.conf #添加以下内容 location ~ \.(jpg|png|bmp|gif)$ { root html; expires 1d; } 2. #查看是否有语法错误 nginx -t 3. #重启服务 systemctl restart nginx.service 4.#在网页中查看服务 http://192.168.80.130/good.jpg Cahce-Control:max-age=86400 表示缓存时间是 86400 秒。 也就是缓存一天的时间,一天之内浏览器访问这个页面,都是用缓存中的数据, 而不需要向 Nginx 服务器重新发出请求,减少了服务器的使用带宽。
로그 세분화
Nginx의 실행 시간이 길어질수록 생성되는 로그도 점차 늘어나게 됩니다. Nginx의 실행 상태를 쉽게 파악하기 위해서는 항상 Nginx 로그 파일에 주의를 기울여야 합니다. . 로그 파일이 너무 크면 모니터링하기 어렵고 분석 및 문제 해결에 불편합니다. 로그 파일은 정기적으로 잘라야 합니다.
1. #写脚本 vim /usr/local/nginx/nginx_log.sh #!/bin/bash #this is for divide nginx log d=$(date +%F -d -1day) #显示前一天的时间 path="/var/log/nginx" pid="/usr/local/nginx/logs/nginx.pid" [ -d $path ] ||mkdir -p $path #创建日志文件目录 mv /usr/local/nginx/logs/access.log ${path}/www.yxp.com-$d #移动并重命名日志文件 kill -USR1 $(cat $pid) #重建新日志文件 find $path -mtime +30 -delete #删除30天之前的日志文件 2. #赋予权限 chmod +x /usr/local/nginx/nginx_log.sh 3. #计划任务 [root@localhost nginx]#crontab -e 30 1 * * * /usr/local/nginx/nginx_log.sh
연결 시간 제한을 구현하도록 Nginx 구성
HTTP에는 KeepAlive 모드가 있습니다. 이 모드는 요청을 처리한 후 웹 서버에 TCP 연결을 열어두도록 지시합니다. 동일한 클라이언트로부터 다른 요청이 수신되면 서버는 다른 연결을 설정하지 않고 이 닫히지 않은 연결을 사용합니다.
KeepAlive는 일정 기간 동안 열려 있으며, 그 시간 동안 리소스를 차지합니다. 너무 많이 섭취하면 성능에 영향을 미칩니다.
vim /usr/ local/nginx/conf/nginx. conf http { ...... keepalive_ timeout 65 180; client header timeout 80; client_ body_ timeout 80; ...... } systemctl restart nginx
keepalive_ timeout
KeepAlive의 시간 초과를 지정합니다. 각 TCP 연결이 유지될 수 있는 최대 시간을 지정합니다. 그 후에는 서버가 연결을 닫습니다.
Nginx의 기본값은 65초입니다. 일부 브라우저에서는 최대 60초만 유지하므로 60초로 설정할 수 있습니다. 0으로 설정하면 Keepalive 연결이 비활성화됩니다.
두 번째 매개변수(선택 사항)는 응답 헤더 Keep-Alive의 시간 값을 지정합니다: timeout=time. 이 헤더를 사용하면 일부 브라우저에서 연결을 능동적으로 닫을 수 있으므로 서버가 연결을 닫을 필요가 없습니다. 이 매개변수가 없으면 Nginx는 Keep-Alive 응답 헤더를 보내지 않습니다.
client_ header_ timeout
클라이언트가 완전한 요청 헤더를 서버에 보내는 데 걸리는 시간 초과 기간입니다. 클라이언트가 지정된 시간 내에 완전한 요청 헤더를 보내지 않으면 Nginx는 HTTP 408(요청 시간 초과)을 반환합니다.
client_ body_ timeout
클라이언트가 서버와 연결을 설정한 후 requestbody를 보내는 시간 제한을 지정합니다. 클라이언트가 지정된 시간 내에 아무 것도 보내지 않으면 Nginx는 HTTP 408(요청 시간 초과)을 반환합니다.
更改Nginx运行进程数
在高并发场景,需要启动更多的Nginx进程以保证快速响应,以处理用户的请求,避免造成阻塞
更改进程数的配置方法
修改配置文件,修改进程配置参数
修改配置文件的worker_processes参数
一般设为CPU的个数或者核数
在高并发的情况下可设置为CPU个数或者核数的2倍
增加进程数,可减少系统的开销,提升服务速度
使用ps aux查看运行进程数的变化情况
[root@www conf]# cat /proc/cpuinfo | grep -c "physical" 4 [root@www conf]# vi nginx.conf worker_ processes 4; [root@www conf]# systemctl restart nginx [root@www conf]# ps aux | grep nginx
默认情况,Nginx的多个进程可能跑在一 个CPU上,可以分配不同的进程给不同的CPU处理,充分利用硬件多核多CPU。
在一台4核物理服务器,进行配置,将进程进行分配。
[root@www conf]# vi nginx.conf worker_ processes 4; worker_ cpu_ affinity 0001 0010 0100 1000; 1代表CPU的位置
配置Nginx实现网页优化压缩功能
Nginx的ngx_http_ gzip_module压缩模块提供对文件内容压缩的功能
允许Nginx服务器将输出内容在发送客户端之前进行压缩,以节约网站带宽,提升用户的访问体验,默认已经安装
可在配置文件中加入相应的压缩功能参数对压缩性能进行优化
压缩功能参数
1. #修改配置文件 gzip on; #取消注释,开启gzip压缩功能 gzip_min_length 1k; #最小压缩文件大小 gzip_buffers 4 16k; #压缩缓冲区,大小为4个16k缓冲区 gzip_http_version 1.1; #压缩版本(默认1.1,前端如果是squid2.5请使用1.0) gzip_comp_level 6; #压缩比率 gzip_vary on; #支持前端缓存服务器存储压缩页面 gzip_types text/plain text/javascript application/x-javascript text/css text/xml application/xml application/xml+rss image/jpg image/jpeg image/png image/gif application/x-httpd-php application/javascript application/json; #压缩类型,表示哪些网页文档启用压缩功能 2. #重启服务 systemctl restart nginx.service 3. #网页查看 http://192.168.59.118/game.png
配置防盗链
在企业网站服务中,一般都要配置防盗链功能,以避免网站内容被非法盗用,造成经济损失,也避免了不必要的带宽浪费。
Nginx 的防盗链功能也非常强大,在默认情况下,只需要进行很简单的配置,即可实现防盗链处理。
vim /usr/ local/nginx/conf/nginx. conf http { ...... server { ...... location ~* \. (jpglgiflswf)$ { valid_ referers none blocked * . kgc. com kgc . com; if ( $invalid referer ) { rewrite ^/ http: I /www. kgc. com/error。pngi #return 403; } } ...... } }
~* \. (jpgIgifIswf)$ :这段正则表达式表示匹配不区分大小写,以.jpg或.gif 或.swf结尾的文件:
valid_ referers :设置信任的网站,可以正常使用图片:
none:允许没有http_refer的请求访问资源(根据Referer的定义,它的作用是指示一个请求是从哪里链接过来的,如果直接在浏览器的地址栏中输入一个资源的URL地址,那么这种请求是不会包含Referer 字段的),如http:/ /www.dayu.com/ game.jpg
我们使用http://www. dayu.com访问显示的图片,可以理解成http://www. dayu.com/game.jpg这个请求是从http://www. dayu.com这个链接过来的。
blocked: 允许不是http://开头的, 不带协议的请求访问资源;
*. dayu. com: 只允许来自指定域名的请求访问资源,如http://www. dayu.com
if语句:如果链接的来源域名不在valid_ referers所列出的列表中,$invalid_ referer为true, 则执行后面的操作,即进行重写或返回403 页面。
第二台机器配置内容:
现在还是可以正常显示的
이제 도난 방지 그림이 나타납니다
보충: 인터뷰 질문: 어떤 nginx 모듈이 사용되었고 어떤 최적화가 수행되었는지
gzip ### 웹사이트 데이터 압축
rewrite ### 주소 다시 쓰기
stub_ status ### 통계 nginx 서비스 상태
ssl은 https를 지원합니다. ### 관련 인증서 및 개인 키 파일을 생성하려면 먼저 openss1 또는 TLS 도구를 사용해야 합니다. 그런 다음 SSL 모듈 구성에서 인증서와 개인 키를 호출합니다.
upstream ### nginx를 역방향 프록시 웹 클러스터로 사용하고 클러스터 서버 풀을 정의합니다.
stream ### 4계층 역방향 프록시를 정의하는 데 사용됩니다.
auth_ basic ### 사용자 인증
fastcgi ### 요청을 php
로 전달-모듈 이름 포함 ### 모듈 활성화
--모듈 이름 없음 ### 모듈 비활성화
버전 번호 숨기기, 압축, 캐시, 안티- 핫링크, 지속적인 유지 관리, 작업자 프로세스 및 프로세스 연결 수 최적화, 로그 분할 및 역방향 프록시
위 내용은 Nginx 안티 핫링크 및 서비스 최적화 구성 분석 예시의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

NGINX는 동시성이 높은 자원 소비 시나리오에 적합하지만 APACHE는 복잡한 구성 및 기능 확장이 필요한 시나리오에 적합합니다. 1.NGINX는 고성능과의 많은 동시 연결을 처리하는 것으로 알려져 있습니다. 2. Apache는 안정성과 풍부한 모듈 지원으로 유명합니다. 선택할 때는 특정 요구에 따라 결정해야합니다.

nginxissentialderformodernwebapplicationsduetoitsrolessareareverseproxy, loadbalancer 및 Webserver, HighperformanceAndscalability를 제공합니다

Nginx를 통해 웹 사이트 보안을 보장하려면 다음 단계가 필요합니다. 1. 기본 구성을 만들고 SSL 인증서 및 개인 키를 지정하십시오. 2. 구성 최적화, HTTP/2 및 OCSPStapling 활성화; 3. 인증서 경로 및 암호화 제품군 문제와 같은 공통 오류 디버그; 4. Let 'sencrypt 및 세션 멀티플렉싱 사용과 같은 응용 프로그램 성능 최적화 제안.

NGINX는 고성능 HTTP 및 리버스 프록시 서버로 높은 동시 연결을 처리하는 데 능숙합니다. 1) 기본 구성 : 포트를 듣고 정적 파일 서비스를 제공합니다. 2) 고급 구성 : 리버스 프록시 및로드 밸런싱을 구현하십시오. 3) 디버깅 기술 : 오류 로그를 확인하고 구성 파일을 테스트하십시오. 4) 성능 최적화 : GZIP 압축을 활성화하고 캐시 정책을 조정합니다.

Nginx 캐시는 다음 단계를 통해 웹 사이트 성능을 크게 향상시킬 수 있습니다. 1) 캐시 영역을 정의하고 캐시 경로를 설정하십시오. 2) 캐시 유효성 기간 구성; 3) 다른 컨텐츠에 따라 다른 캐시 정책을 설정합니다. 4) 캐시 저장 및로드 밸런싱을 최적화합니다. 5) 캐시 효과를 모니터링하고 디버그합니다. 이러한 방법을 통해 NGINX 캐시는 백엔드 서버 압력을 줄이고 응답 속도 및 사용자 경험을 향상시킬 수 있습니다.

dockercompose를 사용하면 Nginx의 배포 및 관리를 단순화 할 수 있으며 Dockerswarm 또는 Kubernetes를 통한 스케일링은 일반적인 관행입니다. 1) DockerCompose를 사용하여 Nginx 컨테이너를 정의하고 실행하십시오. 2) Dockerswarm 또는 Kubernetes를 통한 클러스터 관리 및 자동 스케일링 구현.

NGINX의 고급 구성은 서버 블록 및 리버스 프록시를 통해 구현 될 수 있습니다. 1. 서버 블록을 사용하면 여러 웹 사이트를 한쪽으로 실행할 수있게되면 각 블록은 독립적으로 구성됩니다. 2. 리버스 프록시는 요청을 백엔드 서버로 전달하여로드 밸런싱 및 캐시 가속도를 실현합니다.

작업자 프로세스 수, 연결 풀 크기, GZIP 압축 및 HTTP/2 프로토콜을 활성화하고 캐시 및로드 밸런싱을 사용하여 NGINX 성능 튜닝을 달성 할 수 있습니다. 1. 작업자 프로세스 수 및 연결 풀 크기 조정 : Worker_ProcessesAuto; 이벤트 {worker_connections1024;}. 2. GZIP 압축 및 HTTP/2 프로토콜 활성화 : http {gzipon; server {listen443sslhttp2;}}. 3. 캐시 최적화 사용 : http {proxy_cache_path/path/to/cachelevels = 1 : 2k


핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

AI Hentai Generator
AI Hentai를 무료로 생성하십시오.

인기 기사

뜨거운 도구

MinGW - Windows용 미니멀리스트 GNU
이 프로젝트는 osdn.net/projects/mingw로 마이그레이션되는 중입니다. 계속해서 그곳에서 우리를 팔로우할 수 있습니다. MinGW: GCC(GNU Compiler Collection)의 기본 Windows 포트로, 기본 Windows 애플리케이션을 구축하기 위한 무료 배포 가능 가져오기 라이브러리 및 헤더 파일로 C99 기능을 지원하는 MSVC 런타임에 대한 확장이 포함되어 있습니다. 모든 MinGW 소프트웨어는 64비트 Windows 플랫폼에서 실행될 수 있습니다.

Eclipse용 SAP NetWeaver 서버 어댑터
Eclipse를 SAP NetWeaver 애플리케이션 서버와 통합합니다.

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기

Dreamweaver Mac版
시각적 웹 개발 도구

SublimeText3 Linux 새 버전
SublimeText3 Linux 최신 버전
