>백엔드 개발 >PHP 튜토리얼 >Nginx를 빠르게 설정하고 기본 매개변수를 구성하세요.

Nginx를 빠르게 설정하고 기본 매개변수를 구성하세요.

不言
不言원래의
2018-07-11 14:34:271859검색

이 글에서는 Nginx를 빠르게 구축하기 위한 구성과 기본 매개변수를 주로 소개합니다. 이제 필요한 친구들은

Nginx의 빠른 구축을 참고할 수 있습니다. 및 기본 매개변수

1. Nginx 소개

1. Nginx에 대한 간략한 소개

Nginx는 신뢰할 수 있는 고성능 HTTP입니다. 미들웨어, 대행 서비스.

2. 일반 HTTP 서비스

  • httpd - Apache

  • IIS - Microsoft

  • GWE - Google

  • tomcat - Sun

  • #🎜 🎜 #
2. Nginx를 선택하는 이유

1. IO 멀티플렉싱 epoll

IO 멀티플렉싱이란 #🎜🎜 #여러 디스크립터의 I/O 작업은 하나의 스레드에서 동시에 또는 교대로 완료될 수 있습니다. 이를 I/O 멀티플렉싱이라고 합니다. 여기서 "멀티플렉싱"은 동일한 스레드를 사용하는 것을 의미합니다.

epoll이란 무엇입니까

IO 멀티플렉싱 구현: 선택, 폴, epoll

#🎜 🎜# select
기본 원칙:

select 이 함수에서 모니터링하는 파일 설명자는 writefds, readfds 및 Exceptfds의 세 가지 범주로 나뉩니다. 호출 후 select 함수는 설명자가 준비될 때까지(데이터 읽기, 쓰기 가능 또는 제외) 시간 초과될 때까지 차단됩니다(timeout은 대기 시간을 지정하며 즉시 반환되는 경우 null로 설정할 수 있음). 함수가 반환됩니다. select 함수가 반환되면 fdset를 탐색하여 준비된 설명자를 찾을 수 있습니다.
select단점:

1 모니터링할 수 있는 파일 설명자 수에는 최대 제한이 있습니다. 2. 선형 스캔은 비효율적입니다.

epoll

기본 원리:

epoll은 수평 트리거링과 에지 트리거링을 지원합니다. 특징은 에지 트리거링으로, 어떤 fd가 방금 준비되었는지 프로세스에 알리고 한 번만 알림을 받습니다. 또 다른 기능은 epoll이 "이벤트" 준비 알림 방법을 사용하여 epoll_ctl을 통해 fd를 등록한다는 것입니다. fd가 준비되면 커널은 콜백과 유사한 콜백 메커니즘을 사용하여 fd를 활성화하고 epoll_wait는 알림을 받을 수 있습니다.
epoll의 장점:

1 최대 동시 연결 수에는 제한이 없으며 열 수 있는 FD의 상한도 훨씬 더 큽니다. 1024 이상(1G 메모리로 약 100,000개의 포트를 모니터링할 수 있음) 2. 효율성이 향상되었습니다. 폴링 방식이 아니며, FD 수가 증가해도 효율성이 떨어지지 않습니다. 3. 메모리 복사, mmap() 파일 매핑 메모리를 사용하여 커널 공간을 통한 메시지 전달 속도를 높입니다. 즉, epoll은 복사 오버헤드를 줄이기 위해 mmap을 사용합니다.

2. 경량 #

3. CPU 친화력(affinity)이 좋다

CPU 친화력(affinity)은 CPU 코어를 묶는 방식입니다. Nginx 작업자 프로세스에 각 작업자 프로세스는 하나의 CPU에서 실행되도록 고정되어 CPU 캐시 누락을 줄이고 더 나은 성능을 얻습니다.

4. sendfile

3. Nginx(CentOS7)의 빠른 설정 및 기본 매개변수

1. yum 설치 [참고]

/etc/yum.repos.d/nginx.repo 생성 파일을 작성하고 다음 내용을 입력하세요.

[nginx]
name=nginx repo
baseurl=http://nginx.org/packages/mainline/OS/OSRELEASE/$basearch/
gpgcheck=0
enabled=1
OS 선택 값은 centosrhel입니다.
OSRELEASE는 시스템 버전입니다. 예를 들어 67은 각각 버전 6.x와 7.x를 나타냅니다.
/etc/yum.repos.d/nginx.repo文件,并输入如下内容
[root~]# nginx -v
nginx version: nginx/1.14.0
OS 可选值有 centosrhel
OSRELEASE 为系统版本,例如 67 分别代表 6.x 和 7.x 的版本。

运行 yum install -y nginx 安装nginx

运行 nginx -v 查看nginx版本

nginx -V

2. 编译参数详解

查看nginx安装时的编译参数

[root~]# nginx -V
nginx version: nginx/1.14.0
built by gcc 4.8.5 20150623 (Red Hat 4.8.5-16) (GCC)
built with OpenSSL 1.0.2k-fips  26 Jan 2017
TLS SNI support enabled

configure arguments: 
--prefix=/etc/nginx 
--sbin-path=/usr/sbin/nginx 
--modules-path=/usr/lib64/nginx/modules 
--conf-path=/etc/nginx/nginx.conf 
--error-log-path=/var/log/nginx/error.log 
--http-log-path=/var/log/nginx/access.log 
--pid-path=/var/run/nginx.pid 
--lock-path=/var/run/nginx.lock 
--http-client-body-temp-path=/var/cache/nginx/client_temp 
--http-proxy-temp-path=/var/cache/nginx/proxy_temp 
--http-fastcgi-temp-path=/var/cache/nginx/fastcgi_temp 
--http-uwsgi-temp-path=/var/cache/nginx/uwsgi_temp 
--http-scgi-temp-path=/var/cache/nginx/scgi_temp 
--user=nginx 
--group=nginx 
--with-compat 
--with-file-aio 
--with-threads 
--with-http_addition_module 
--with-http_auth_request_module 
--with-http_dav_module 
--with-http_flv_module 
--with-http_gunzip_module 
--with-http_gzip_static_module 
--with-http_mp4_module 
--with-http_random_index_module 
--with-http_realip_module 
--with-http_secure_link_module 
--with-http_slice_module 
--with-http_ssl_module 
--with-http_stub_status_module 
--with-http_sub_module 
--with-http_v2_module 
--with-mail 
--with-mail_ssl_module 
--with-stream 
--with-stream_realip_module 
--with-stream_ssl_module 
--with-stream_ssl_preread_module 
--with-cc-opt='-O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector-strong --param=ssp-buffer-size=4 -grecord-gcc-switches -m64 -mtune=generic -fPIC' 
--with-ld-opt='-Wl,-z,relro -Wl,-z,now -pie'
rpm -ql nginx

安装编译参数详解【参考】

编译选项 作用
--prefix=/etc/nginx 配置文件目录
--sbin-path=/usr/sbin/nginx 可执行文件名称和所在目录
--modules-path=/usr/lib64/nginx/modules nginx动态模块的安装目录
--conf-path=/etc/nginx/nginx.conf 主配置文件名称和所在目录
--error-log-path=/var/log/nginx/error.log 全局错误日志文件名称和所在目录
--http-log-path=/var/log/nginx/access.log HTTP服务器的主请求日志文件的名称和所在目录
--pid-path=/var/run/nginx.pid nginx.pid所在目录,这是储存主进程的进程ID文件
--lock-path=/var/run/nginx.lock nginx.lock所在目录
--http-client-body-temp-path=/var/cache/nginx/client_temp
--http-proxy-temp-path=/var/cache/nginx/proxy_temp
--http-fastcgi-temp-path=/var/cache/nginx/fastcgi_temp
--http-uwsgi-temp-path=/var/cache/nginx/uwsgi_temp
--http-scgi-temp-path=/var/cache/nginx/scgi_temp
执行对应模块时nginx所保留的临时文件
--user=nginx
--group=nginx
设定Nginx进程启动的用户和用户组
--with-http_random_index_module 目录中随机选择一个随机主页
--with-http_stub_status_module Nginx客户端状态
--with-http_sub_module HTTP内容替换
--with-cc-opt=<parameters> 设置额外的参数将被添加到CFLAGS变量
--with-ld-opt=<parameters> 设置附加参数,链接系统库

3. 安装目录详解

查看nginx所有文件的安装位置

[root~]# rpm -ql nginx
/etc/logrotate.d/nginx
/etc/nginx
/etc/nginx/nginx.conf
/etc/nginx/conf.d
/etc/nginx/conf.d/default.conf
/etc/nginx/fastcgi_params
/etc/nginx/scgi_params
/etc/nginx/uwsgi_params
/etc/nginx/koi-utf
/etc/nginx/koi-win
/etc/nginx/win-utf
/etc/nginx/mime.types
/etc/sysconfig/nginx
/etc/sysconfig/nginx-debug
/usr/lib/systemd/system/nginx-debug.service
/usr/lib/systemd/system/nginx.service
/usr/lib64/nginx
/usr/lib64/nginx/modules
/etc/nginx/modules
/usr/sbin/nginx
/usr/sbin/nginx-debug
/usr/share/doc/nginx-1.14.0
/usr/share/doc/nginx-1.14.0/COPYRIGHT
/usr/share/man/man8/nginx.8.gz
/usr/share/nginx
/usr/share/nginx/html
/usr/share/nginx/html/50x.html
/usr/share/nginx/html/index.html
/var/cache/nginx
/var/log/nginx
/usr/libexec/initscripts/legacy-actions/nginx
/usr/libexec/initscripts/legacy-actions/nginx/check-reload
/usr/libexec/initscripts/legacy-actions/nginx/upgrade
rrreeenginx를 설치하려면 yum install -y nginx를 실행하세요.nginx 버전을 보려면 nginx -v를 실행하세요rrreeenginx 설치 시 컴파일 매개변수 보기rrreeerrreee
默认路径 类型 作用
/etc/logrotate.d/nginx 配置文件 Nginx日志轮转,用于logrotate服务的日志切割
/etc/nginx
/etc/nginx/nginx.conf
/etc/nginx/conf.d
/etc/nginx/conf.d/default.conf
目录、配置文件 nginx主配置文件
/etc/nginx/fastcgi_params
/etc/nginx/uwsig_params
/etc/nginx/scgi_params
配置文件 cgi配置相关,fastcgi配置
/etc/nginx/koi-utf
/etc/nginx/koi-win
/etc/nginx/win-utf
配置文件 编码转换映射转化文件
/etc/nginx/mime.types 配置文件 设置http协议的Content-Type与扩展名对应关系
/usr/lib/systemd/system/nginx-debug.service
/usr/lib/systemd/system/nginx.service
/etc/sysconfig/nginx
/etc/sysconfig/nginx-debug
配置文件 用于配置出系统守护进程管理器管理方式
/usr/lib64/nginx/modules
/etc/nginx/mudules
目录 Nginx模块目录
/usr/sbin/nginx
/usr/sbin/nginx-debug
命令 Nginx服务的启动管理的终端命令
/usr/share/doc/nginx-1.14.0
/usr/share/doc/nginx-1.14.0/COPYRIGHT
/usr/share/man/man8/nginx.8.gz
文件、目录 Nginx手册和帮助文件
/var/cache/nginx 目录 Nginx缓存目录
/var/log/nginx2. 컴파일 매개변수 상세 설명
🎜설치 및 컴파일 매개변수 상세 설명 [참고]🎜🎜- -prefix=/etc/nginx 🎜🎜구성 파일 디렉터리🎜🎜🎜--sbin-path=/usr/sbin/nginx🎜🎜실행 파일 이름 및 디렉터리🎜🎜 🎜--modules-path=/usr/lib64/nginx/modules🎜🎜nginx 동적 모듈 설치 디렉터리🎜🎜🎜--conf-path=/etc/ nginx/nginx.conf🎜🎜주요 구성 파일 이름 및 디렉터리🎜🎜🎜--error-log-path=/var/log/nginx/error.log🎜🎜 전역 오류 로그 파일 이름 및 디렉터리 🎜🎜🎜--http-log-path=/var/log/nginx/access.log🎜🎜기본 요청 로그 파일의 이름 및 디렉터리 HTTP 서버의 🎜🎜🎜--pid-path=/var/run/nginx.pid🎜🎜nginx.pid는 해당 디렉터리에 저장되어 있는 프로세스 ID 파일입니다. 주요 프로세스🎜🎜🎜 --lock-path=/var/run/nginx.lock🎜🎜nginx.lock 디렉토리🎜🎜🎜--http-client -body-temp-path=/ var/cache/nginx/client_temp
--http-proxy-temp-path=/var/cache/nginx/proxy_temp
--http -fastcgi-temp-path=/var/cache/nginx/fastcgi_temp
--http-uwsgi-temp-path=/var/cache/nginx /uwsgi_temp
--http-scgi-temp-path=/var/cache/nginx/scgi_temp
🎜🎜실행 시 nginx가 보관하는 임시 파일 해당 모듈🎜🎜🎜--user=nginx
--group=nginx🎜🎜Nginx 프로세스 시작을 위한 사용자 및 사용자 그룹 설정🎜🎜 🎜-- with-http_random_index_module🎜🎜 디렉토리에서 임의의 홈페이지를 무작위로 선택🎜🎜🎜--with-http_stub_status_module🎜🎜Nginx 클라이언트 상태🎜 🎜🎜- -with-http_sub_module🎜🎜HTTP 콘텐츠 교체🎜🎜🎜--with-cc-opt=<매개변수>🎜🎜Set CFLAGS 변수에 추가될 추가 매개변수 🎜🎜🎜--with-ld-opt=<parameters>🎜🎜추가 매개변수 설정 및 시스템 라이브러리 연결🎜🎜🎜🎜🎜3 . 자세한 설치 디렉터리🎜🎜🎜nginx 전체 보기 파일의 설치 위치rrreeerrree
컴파일 옵션 함수
th>🎜🎜/etc/logrotate.d/nginx🎜🎜구성 파일🎜🎜Nginx 로그 회전, logrotate 서비스의 로그 절단에 사용됨🎜🎜🎜/etc/nginx
/etc/nginx/nginx.conf
/etc/nginx/conf.d
/etc/nginx/conf.d/default.conf🎜🎜디렉토리, 구성 파일🎜🎜nginx 기본 구성 파일 🎜🎜🎜/etc/nginx/fastcgi_params
/etc/nginx/uwsig_params
/etc/nginx/scgi_params🎜🎜구성 파일🎜🎜cgi 구성 관련, fastcgi 구성 🎜🎜<tr>🎜<code>/etc/nginx/koi-utf
/etc/nginx/koi- win
/etc /nginx/win-utf🎜🎜구성 파일🎜🎜인코딩 변환 매핑 변환 파일🎜🎜🎜/etc/nginx/mime .types🎜🎜구성 파일🎜🎜프로토콜의 Content-Type과 확장자 🎜🎜🎜/usr/lib/systemd/system/nginx-debug.service<br><code>/usr/lib/systemd /system/nginx.service
/etc/sysconfig/nginx
/etc/sysconfig/nginx-debug🎜🎜구성 파일 🎜🎜시스템 데몬 관리자 관리 방법을 구성하는 데 사용됩니다🎜🎜🎜/usr/lib64/nginx/modules
/etc/nginx/mudules🎜🎜Directory🎜🎜Nginx 모듈 디렉터리🎜🎜🎜/usr/sbin/nginx
/ usr/sbin/nginx-debug🎜🎜명령 🎜🎜Nginx 서비스 시작 관리를 위한 터미널 명령🎜🎜🎜/usr/share/doc/nginx-1.14.0/usr/share/doc/nginx -1.14.0/COPYRIGHT
/usr/share/man/man8/nginx.8.gz🎜 🎜파일, 디렉토리🎜🎜Nginx 매뉴얼 및 도움말 파일🎜🎜🎜/var/cache/nginx🎜🎜Directory🎜🎜Nginx 캐시 디렉토리🎜🎜🎜/var/ 로그/nginx🎜🎜Directory🎜🎜Nginx 로그 목차🎜🎜🎜🎜

IV.Nginx 공통 명령

기본 경로 유형 함수
#🎜🎜 #nginx [-c <구성 파일>] # 🎜🎜#nginx [-c <配置文件>]
Command 설명
지정된 구성 파일로 nginx 시작以指定的配置文件启动nginx
nginx -s quit 正常停止nginx,Nginx在退出前完成已经接受的连接请求。
nginx -s stop 快速停止nginx,不管有没有正在处理的请求。
nginx -s reload [-c <配置文件>] 重载配置文件
nginx -s reopen 重新打开日志文件
nginx -v 查看版本
nginx -V 查看安装时的编译参数
nginx -t [-c <配置文件>] 检查配置文件语法是否正确

nginx -s  reloadnginx -s quit

nginx를 정상적으로 중지하면 Nginx는 종료하기 전에 허용된 연결 요청을 완료합니다.
  1. nginx -s stop

    처리 중인 요청이 있는지 여부에 관계없이 nginx를 빠르게 중지합니다.

  2. nginx -s reload [-c <구성 파일>]

    구성 파일 다시 로드

  3. nginx -s 다시 열기

    로그 파일 다시 열기

  4. #🎜 🎜#nginx -v
  5. 버전 보기

  6. nginx -V td>
  7. 설치 중 컴파일 매개변수 보기

  8. nginx -t [-c <구성 파일>]
구성 파일 구문이 올바른지 확인

nginx -s reload 수정 사항을 로드하는 명령 구성 파일 이후 명령이 실행된 후 다음 이벤트가 발생합니다.

Nginx의 마스터 프로세스는 구성 파일의 정확성을 확인합니다. 오류 메시지가 나타나면 nginx는 원래 구성 파일을 계속 사용하여 작동합니다(작업자는 영향을 받지 않기 때문에)

Nginx는 새 작업자 프로세스에 새 요청을 할당합니다. #🎜🎜##🎜🎜##🎜🎜##🎜🎜#Nginx는 모두 기다립니다. 이전 작업자 프로세스의 반환 요청, 관련 작업자 프로세스 닫기#🎜🎜##🎜🎜##🎜🎜##🎜🎜#이전 작업자 프로세스가 모두 닫힐 때까지 위 프로세스를 반복#🎜🎜##🎜🎜## 🎜🎜##🎜🎜 ##🎜🎜#위 내용은 모두의 학습에 도움이 되기를 바랍니다. 더 많은 관련 내용은 PHP 중국어 홈페이지를 주목해주세요! #🎜🎜##🎜🎜#관련 권장 사항: #🎜🎜##🎜🎜##🎜🎜#Nginx 로드 스케줄러 + 듀얼 Tomcat 로드 및 세션 공유 + MySQL 백엔드 데이터베이스 #🎜🎜##🎜🎜##🎜🎜 ## 🎜🎜##🎜🎜#nginx를 사용하여 하나의 서버에 여러 웹 서버 배포#🎜🎜##🎜🎜##🎜🎜#

위 내용은 Nginx를 빠르게 설정하고 기본 매개변수를 구성하세요.의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.