LNMP - Nginx 와 PHP 설정 (2)
1. Nginx 전역 설정
[root@LNMP ~]# vim /usr/local/nginx/conf/nginx.conf
user nobody nobody;
worker_processes 2;
error_log /usr/local/nginx/logs/nginx_error.log crit;
pid /usr/local/nginx/logs/nginx.pid;
worker_rlimit_nofile 51200;
events
{
use epoll;
worker_connections 6000;
}
http
{
include mime.types;
default_type application/octet-stream;
server_names_hash_bucket_size 3526;
server_names_hash_max_size 4096;
log_format combined_realip '$remote_addr $http_x_forwarded_for [$time_local]'
'$host "$request_uri" $status'
'"$http_referer" "$http_user_agent"';
sendfile on;
tcp_nopush on;
tcp_nodelay on;
keepalive_timeout 65;
client_header_timeout 10;
client_body_timeout 10;
send_timeout 10;
connection_pool_size 256;
request_pool_size 4k;
client_header_buffer_size 1k;
large_client_header_buffers 8 4k;
output_buffers 4 32k;
postpone_output 1460;
client_max_body_size 10m;
client_body_buffer_size 256k;
client_body_temp_path /usr/local/nginx/client_body_temp;
proxy_temp_path /usr/local/nginx/proxy_temp;
fastcgi_temp_path /usr/local/nginx/fastcgi_temp;
fastcgi_intercept_errors on;
gzip on;
gzip_min_length 1k;
gzip_buffers 4 16k;
gzip_comp_level 5;
gzip_http_version 1.1;
gzip_types text/plain application/x-javascript text/css text/htm application/xml;
include vhosts/*.conf;
}
설정 설명
\ # Nginx 의 worker 프로 세 스 실행 사용자 및 사용자 그룹 user nobody nobody 를 지정 합 니 다. \ #Nginx 가 열 프로 세 스 수 를 지정 합 니 다. CPU 의 총 핵 수 worker 로 설정 합 니 다.processes 2;# Nginx 전역 오류 로그 경로 와 단 계 를 지정 합 니 다. 로그 단 계 는 debug, info, notice, warn, error, crit \ # 그 중에서 debug 출력 로그 가 가장 상세 하고 crit 입력 로그 가 가장 적 습 니 다 errorlog /usr/local/nginx/logs/nginx_error.log crit;# 프로 세 스 id 의 저장 파일 위 치 를 지정 합 니 다 pid / usr / local / nginx / logs / nginx. pid; \ #워 커 프로 세 스 의 최대 열 림 파일 수 제한 을 변경 합 니 다.설정 하지 않 았 다 면 이 값 은 운영 체제 의 제한 입 니 다. \ #ulimit - n 보기 시스템 제한 workerrlimit_nofile 51200;# Nginx 작업 모드 및 접속 수 상한 이벤트 설정
\ # 작업 모드 를 epoll 로 지정 합 니 다. 작업 모드 는 select, poll, kqueue, epoll, rtsig 와 / dev / poll 이 있 습 니 다. \ # 그 중에서 select 와 poll 은 표준 작업 모드 이 고 kqueue 와 qpoll 은 효율 적 인 작업 모드 입 니 다. use epoll; # Nginx 모든 프로 세 스 의 최대 연결 수 를 정의 합 니 다 workerconnections 6000;# mime 형식 을 설정 합 니 다. 형식 은 mime. type 파일 로 include mime. types 를 정의 합 니 다. # 기본 형식 을 바 이 너 리 흐름 default 로 설정 합 니 다.type application/octet-stream; # 서버 이름 의 hash 표 크기 servernames_hash_bucket_size 3526; # 서버 이름 의 hash 표 의 최 대량 servernames_hash_max_size 4096; # Nginx 로그 의 출력 형식 을 지정 합 니 다. combinedrealip 사용자 정의 로그 이름 logformat combined_realip '$remote_addr $http_x_forwarded_for [$time_local]' '$host "$request_uri" $status' '"$http_referer" "$http_user_agent"'; # 효율 적 인 파일 전송 모드 를 열 때 tcpnopush 와 tcpnodelay 두 명령 은 "on" \ # 네트워크 가 sendfile on 을 막 는 것 을 방지 하 는 데 사 용 됩 니 다.tcp_nopush on;tcp_nodelay on; # 클 라 이언 트 연결 을 설정 하여 이벤트 시간 초과 keepalivetimeout 65; # 클 라 이언 트 요청 헤더 읽 기 시간 초과 client 설정header_timeout 10; # 클 라 이언 트 요청 테마 설정 2 시간 초과 clientbody_timeout 10; # 응답 클 라 이언 트 의 시간 초과 send 지정timeout 10; # 모든 요청 한 메모리 풀, 메모리 풀 은 작은 할당량 메모리 블록 에 사 용 됩 니 다. 만약 하나의 블록 이 메모리 풀 보다 크다 면 \ # 또는 페이지 크기 보다 크 면 메모리 풀 밖으로 배 치 됩 니 다. 메모리 풀 에 있 는 작은 \ # 분 배 량 이 충분 한 메모리 가 없 으 면 같은 메모리 탱크 크기 의 새 블록 을 할당 합 니 다. 이 명령 은 \ # 상당히 제 한 된 효과 connectionpool_size 256;request_pool_size 4k; # 클 라 이언 트 요청 헤더 의 크기 를 지정 합 니 다 clientheader_buffer_size 1k; # 클 라 이언 트 요청 의 최대 캐 시 최대 수량 과 크기 를 지정 합 니 다 largeclient_header_buffers 8 4k; # 출력 캐 시 크기 output_buffers 4 32k;
postpone_output 1460; # 명령 은 클 라 이언 트 연결 을 허용 하 는 최대 요청 주체 크기 client 를 지정 합 니 다.max_body_size 10m; # 이 명령 은 연결 요청 주체 의 버퍼 크기 를 지정 할 수 있 습 니 다.client_body_buffer_size 256k; # 연결 요청 주체 가 기록 하려 는 임시 파일 경 로 를 지정 합 니 다 clientbody_temp_path /usr/local/nginx/client_body_temp;
\ # 역방향 프 록 시 임시 저장 디 렉 터 리 proxytemp_path /usr/local/nginx/proxy_temp;
\ # Nginx 에 FastCGI 캐 시 설정 경 로 를 지정 합 니 다.
fastcgi_temp_path /usr/local/nginx/fastcgi_temp;
\ # 이 옵션 이 설정 되 어 있 지 않 으 면 404. html 를 만 들 고 error 를 설정 하 더 라 도page 도 효과 없 음 fastcgiintercept_errors on;
\ # 압축 사용 gzip on;
\ # 압축 페이지 최소 바이트 gzipmin_length 1k;
\ # 압축 캐 시 gzipbuffers 4 16k;
\ # 압축 레벨 gzipcomp_level 5;
\ # 압축 버 전 gziphttp_version 1.1;
\ # 압축 할 형식 gziptypes text/plain application/x-javascript text/css text/htm application/xml;
\ # 가상 설정 디 렉 터 리 를 엽 니 다 include vhosts / *. conf;
2. 가상 호스트 기본 설정
[root@ZLNMP ~]# vim /usr/local/nginx/conf/vhosts/default.conf
server
{
listen 80;
server_name localhost;
index index.html index.htm index.php;
root /usr/local/nginx/html;
location ~ \.php$ {
include fastcgi_params;
fastcgi_pass unix:/tmp/php-fcgi.sock;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME /usr/local/nginx/html$fastcgi_script_name;
}
}
설정 설명
server: 가상 호스트 시작 키 를 정의 합 니 다.
listen: 가상 호스트 의 서비스 포트 를 지정 합 니 다.
server_name: IP 주소 나 도 메 인 이름 을 지정 하고 여러 도 메 인 이름 사 이 를 빈 칸 으로 구분 합 니 다.
index: 접근 의 기본 홈 페이지 주 소 를 설정 합 니 다.
루트: 가상 호스트 의 웹 루트 디 렉 터 리 를 지정 합 니 다.
charset: 웹 페이지 의 기본 인 코딩 형식 을 설정 합 니 다.
include fastcgi_params: fastcgi 오픈
fastcgi_pass: fastcgi 감청 방식 지정: 1. sock 방식 감청;2. TCP / IP 방식 감청
fastcgi_index: fastcgi 기본 시작 페이지 지정
fastcgi_param SCRIPT_FILENAME: fastcgi 감청 디 렉 터 리 설정
PHP - FPM
php - fpm 설정
[root@ZLNMP ~]# vim /usr/local/php/etc/php-fpm.conf
[global]
pid = /usr/local/php/var/run/php-fpm.pid
error_log = /usr/local/php/var/log/php-fpm.log
[discuz]
;listen = /tmp/php-fcgi.sock
listen = 127.0.0.1:9000
user = php-fpm
group = php-fpm
;listen.owner = nobody
;listen.group = nobody
pm = dynamic
pm.max_children = 50
pm.start_servers = 20
pm.min_spare_servers = 5
pm.max_spare_servers = 35
pm.max_requests = 500
rlimit_files = 1024
slowlog = var/log/discuz_slow.log
request_slowlog_timeout = 1
php_admin_value[open_basedir]=/data/www/:/tmp/
설정 설명
[global]: 전역 설정
pid: 프로 세 스 id 파일 지정
error_log: 오류 로그 파일 지정
[discuz]: pool 이름 지정
listen: 지정 한 감청 방식 은 Nginx 설정 과 일치 합 니 다.
user: 프로 세 스 를 시작 하 는 사용자
group: 프로 세 스 를 시작 하 는 사용자 그룹
listen. owner: 감청 방식 이 sock 로 설정 되 었 을 때 listen. owner 는 sock 파일 의 소속 주 입 니 다.
listen. group: 감청 방식 이 sock 로 설정 되 었 을 때 listen. owner 는 sock 파일 의 소속 그룹 입 니 다.
pm = dynamic:
하위 프로 세 스 를 어떻게 제어 하 는 지, 옵션 은 static 과 dynamic 이 있 습 니 다.static 를 선택 하면 pm. maxchildren 에서 고정된 하위 프로 세 스 수 를 지정 합 니 다.다이나믹 을 선택 하면 다음 매개 변수 로 결정 합 니 다: pm. maxchildren, 하위 프로 세 스 최대 pm. startserver, 시작 할 프로 세 스 수 pm. minspare_server, 남 은 프로 세 스 의 최소 값 을 보장 합 니 다. 남 은 프로 세 스 가 이 값 보다 적 으 면 새 하위 프로 세 스 pm. max 를 만 듭 니 다.spare_server. 남 은 프로 세 스 의 최대 값 을 보장 합 니 다. 남 은 프로 세 스 가 이 값 보다 크 면 전용 서버 를 청소 합 니 다. pm 는 static 로 설정 할 수 있 습 니 다.
slowlog: 느 린 로그 설정
request_slowlog_timeout: 느 린 로그 시간 초과
php_admin_value [open basedir]: open 설정basedir
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
DEEP DIVE 한 장 요약 (스코프)변수는 코드의 가장 바깥 영역뿐 아니라 코드 블록이나 함수 몸체 내에서도 선언할 수 있다. 모든 식별자(변수 이름, 함수 이름, 클래스 이름 등)는 자신이 선언된 위치에 의해 다른 코드가 식별자 자신을 참조할 수 있...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.