Nginx에 구성 예제
다음으로 시작하는 것을 더욱 쉽게한다 일반적인 시나리오에 대한 Nginx에 구성의 수입니다. 필요에 따라이 페이지는 성장할 것이다.
빠르고 쉬운 스타터 예
당신의 대부분은 별 비행 사람들의 유형 및 붙여 넣기 절단에 대한 첫 번째입니다. 이 구성의 전형적인 / 사이트 사용 / 기본 유형을 사용하는 경우,이 해당 파일의 내용을 교체합니다. 이 다른 경우 루트 경로와 PHP 포트 / 경로를 변경해야합니다.
서버 { # .domain.com에 일치 모두 domain.com과 anything.domain.com 서버 _ .example.com을; # 그것은 서버 수준에서 서버 블록의 루트를 배치하는 것이 좋습니다이며, 위치가 아닌 레벨 # 어떤 위치 블록 경로가이 루트에 상대적인 것입니다. 루트 /usr/local/www/example.com; # 그것은 로그를 설정하는 것이 좋다, 참고 그러나 오류 로그 해제 할 수 없습니다 오프에서는 error_log # 설정을; 단순히 '오프'라는 파일을 생성합니다. ACCESS_LOG /var/log/nginx/example.access.log; error_log에 /var/log/nginx/example.error.log; # 이것은 또한 HTTP {} 레벨에 갈 수있는 인덱스 있는 index.html있는 index.htm index.php를, 위치 / { # 당신이 워드 프레스를 사용하고 여분의 재 작성이 원하지 않는 경우 # 다음 /index.php와 단어 @rewrites 교체 try_files $ URI $ URI / @rewrites를; } 위치 @rewrites는 { # 여기에 자신 만의 재 작성 규칙의 일부를 넣을 수 # 예를 들어 ^ / ~ 다시 (. *) / (. *) /? / 사용자 / $ 1 / $ 2 마지막; # 아무것도 우리가 /index.php 그것을 보내드립니다 일치하지 않는 경우 ^ /index.php 마지막으로 다시; } #이 블록은 이미지, CSS와 같은 정적 파일 요청을 잡을 것은, JS #은 ? : 접두사는 '비 캡처'마크는 우리가 필요로하지 않는 의미입니다 성능 개선해야하는 1달러로 캡처 할 #에게 패턴을 ~ * \ 위치를 (? : ICO | CSS | JS | 지프 | JPE g |.? PNG) $ { 정적 파일에 대한 몇 가지 기본 캐시 제어가 브라우저에 보낼 #는 , 최대 만료 add_header에서 Pragma 공개, add_header 캐시 - 제어 "공공, 필수 재 검증, 프록시 재 검증"; } #는 경우 로봇 줄을 제거 워드 프레스 '가상의 robots.txt를 사용하려는 위치 = /robots.txt와 {오프 ACCESS_LOG을; 오프 log_not_found; } 위치 = /favicon.ico는 {오프 ACCESS_LOG; 오프 log_not_found; } #이가 제공되는 (마침표로 시작) 숨김 파일을 방지 위치 ~ / \를. {오프 ACCESS_LOG; 오프 log_not_found; 모두 거부; } 위치 ~ \ .php가 { fastcgi_param의 QUERY_STRING의 $의 질의 문; fastcgi_param REQUEST_METHOD $ REQUEST_METHOD, fastcgi_param CONTENT_TYPE의 $의 콘텐츠 _; fastcgi_param CONTENT_LENGTH의 달러 CONTENT_LENGTH, fastcgi_param의 SCRIPT_NAME의 달러 fastcgi_script_name; fastcgi_param SCRIPT_FILENAME $ DOCUMENT_ROOT $ fastcgi_script_name; fastcgi_param REQUEST_URI $ REQUEST_URI; fastcgi_param DOCUMENT_URI $ DOCUMENT_URI; fastcgi_param DOCUMENT_ROOT $ DOCUMENT_ROOT, fastcgi_param의 SERVER_PROTOCOL의 $ SERVER_PROTOCOL, fastcgi_param의 GATEWAY_INTERFACE의 CGI / 1.1; fastcgi_param의 SERVER_SOFTWARE의 nginx를, fastcgi_param REMOTE_ADDR $ REMOTE_ADDR; fastcgi_param REMOTE_PORT의 달러 REMOTE_PORT, fastcgi_param SERVER_ADDR의 달러 SERVER_ADDR, fastcgi_param SERVER_PORT의 $의 SERVER_PORT, fastcgi_param SERVER_NAME의 $의 서버 _; fastcgi_pass 127.0.0.1:9000 ; } } |
당신의 나머지 부분에 관해서는, 좀 더 케이크 및 기타 구성 예제를 읽어.
PHP를 포함 쉽게 만들기
에 nginx.conf 경우 PHP의 목적을 위해 내가 nginx.conf와 같은 폴더에 php.conf을 만들었습니다,이 파일이 예를 들어 가상 호스트 설정과 같은 폴더로 이동하지 않습니다은 / etc / nginx를 / 다음 php.conf는하기 / etc / nginx를 없음 /은 / etc / nginx를 / 사이트 사용 /로 들어갑니다.
당신이 PHP-FPM를 사용하지 않는 경우, 당신은 정말 오래된 산란-으로 fcgi 또는 PHP를 CGI 방법에 관해서는 반대해야한다. 데비안 레니를 들어 / 스퀴즈 dotdeb는 사용할 수 PHP5-FPM은, FreeBSD는 이미 PHP 5.2과 5.3 포트에 포함되어 있습니다.
위치 ~ \ .php가 { 다음 줄이 매우 권장 보안상의 이유로 # try_files $ URI = 404; fastcgi_param의 QUERY_STRING의 $의 질의 문; fastcgi_param REQUEST_METHOD $ REQUEST_METHOD, fastcgi_param CONTENT_TYPE의 $의 콘텐츠 _; fastcgi_param CONTENT_LENGTH의 달러 CONTENT_LENGTH, fastcgi_param의 SCRIPT_NAME의 달러 fastcgi_script_name, 경우 # 당신의 다음 라인은 여전히 $ DOCUMENT_ROOT와의 포함 #에 $ REQUEST_FILENAME 로의 전환을 고려해야 제공 등의 별칭으로 지시어 # 더 나은 지원 fastcgi_param의 SCRIPT_FILENAME의 달러 REQUEST_FILENAME; fastcgi_param REQUEST_URI $ REQUEST_URI; fastcgi_param DOCUMENT_URI $ DOCUMENT_URI, fastcgi_param DOCUMENT_ROOT의 $ DOCUMENT_ROOT와; fastcgi_param의 SERVER_PROTOCOL의 달러 SERVER_PROTOCOL, fastcgi_param의 GATEWAY_INTERFACE을 CGI / 1.1; fastcgi_param의 SERVER_SOFTWARE의 nginx를, fastcgi_param REMOTE_ADDR $ REMOTE_ADDR; fastcgi_param REMOTE_PORT의 달러 REMOTE_PORT, fastcgi_param SERVER_ADDR의 달러 SERVER_ADDR, fastcgi_param SERVER_PORT의 $의 SERVER_PORT, fastcgi_param SERVER_NAME의 $의 서버 _; # 유닉스 소켓을 사용하는 경우 ... 유닉스 fastcgi_pass # : / tmp를 / PHP5 -fpm.sock; # TCP 연결을 사용하는 경우 ... fastcgi_pass 127.0.0.1:9000; } |
난은 TCP 오버 헤드에서 절단 및 파일 기반의 권한을 강화하기 때문에 보안을 강화, 유닉스 소켓을 사용하는 것을 선호합니다. PHP-fpm.conf에서는 /tmp/php5-fpm.sock하기 청취 라인을 변경할 수 있으며 listen.owner, listen.group 및 listen.mode 라인의 주석을 해제해야합니다.
기억 : PHP-FPM / FastCGI를로의 Nginx를 사용하는 경우는 php.ini에서 0 cgi.fix_pathinfo 설정, 그렇지 않으면 /forum/avatars/user2.jpg/index.php를 사용할 수있는만큼 간단한 일이 업로드 PHP 스크립트가 숨겨진 실행 화상으로서.
PATH_INFO는
당신이 PATH_INFO와 PATH_TRANSLATED를 사용해야하는 경우 다음 위의 위치 블록 내에서 다음을 추가 (\이 또는 /index.php/some/path/가 일치하지 않습니다 .php가 후 있는지 확인 $가 존재하지 않습니다)
fastcgi_split_path_info ^ (+ \ PHP..) (/.+) $; fastcgi_param PATH_INFO $ fastcgi_path_info; fastcgi_param PATH_TRANSLATED $ DOCUMENT_ROOT $ fastcgi_path_info; |
그것은 그러나 대신 REQUEST_URI를 사용하는 스크립트를 업데이트하는 것이 좋습니다.
옵션 구성 – 드롭
또한 다음과 nginx.conf와 같은 폴더에 drop.conf라는 파일이있을 수 있습니다
위치 = /robots.txt와 {오프 ACCESS_LOG; 오프 log_not_found; } 위치 = /favicon.ico는 {오프 ACCESS_LOG; 오프 log_not_found; } 위치 ~ / \. {오프 ACCESS_LOG; 오프 log_not_found; 모두 거부; } 위치 ~ $ {오프 ACCESS_LOG; 오프 log_not_found; 모두 거부; } |
drop.conf을 포함하여; 서버 블록의 끝에서 다음을 포함 할 것이다. robots.txt 파일과의 favicon.ico 찾을 수없는 경우, 처음 두 단순히 브라우저의 많은 요청 뭔가하는 오류를 기록하는 액세스 로그를 해제하고 방지 할 수 있습니다. 워드 프레스는 일반적으로 가상의 robots.txt를 사용하여 첫 번째 라인을 생략 할 수 있도록 필요한 경우 요청은 워드 프레스에 다시 전달 될 수 있도록.
세 번째 라인은 숨겨진 유닉스 / 리눅스 파일 마침표로 시작 기본적으로 모든 요청을 서비스에서의 nginx를 방지 할 수 있습니다.
그리고 앞으로 라인은 정력, 또는 파일의 백업 복사본 파일 이름은 ~에 끝나는 작업중인 만들어 다른 명령 줄 편집기를 사용하여 사람들을 위해 주로이다. 이것은 당신이 작업 한 파일의 백업 복사본을 액세스하는 사람을 방지 숨기기.
샘플의 Nginx 구성
PHP와 간단한 구성이 활성화
여기에서 우리는 PHP를 지원하는 아주 간단한 시작 구성을 가지고있다. 나는 기본 라인 여기 코멘트의 대부분을 제공하게 될 것입니다. 다른 샘플 구성은 크게 댓글되지 않습니다.
서버 { 이 모든 인터페이스를 수신합니다 #, 당신은 대신 특정 IP를 선택할 수 있습니다 XXXX 듣고 같은있다 : # 80; 설정 80 default_server를 들어; 할 것이다 다른 블록 요청과 일치하지 않는 경우이 서버 블록 기본 하나 #를 80를 듣고; #이 다음은 서버 이름을 설정할 수 있습니다, 당신은 * .example.com과 같은 와일드 카드를 사용할 수 있습니다 당신은 서버 _ * .EXAMPLE을 사용하는 경우 그러나 기억 #을. COM; 당신은 하위 도메인과 일치하는 것 모두 하위 도메인과 주 도메인 사용에 맞게 #을 모두 example.com이고 * .example.com을 서버 _ example.com www.example.com; # 그것은에서 서버 블록의 루트를 배치하는 것이 가장 좋습니다 서버 레벨 및 위치가 아닌 수준 . 어떤 위치 블록 경로가이 루트에 상대적인 것입니다 # 루트 /usr/local/www/example.com; #이 노트는 그러나 당신은 오류 로그 해제 할 수 없습니다, 로그를 설정하는 것이 좋다 #을 의 error_log를 설정하는 단계; 단순히 '오프'라는 파일을 생성합니다. ACCESS_LOG /var/log/nginx/example.access.log; error_log에 /var/log/nginx/example.error.log, 위치 / { # 다시 쓰기 규칙과 다른 criterias가 여기 있습니다 # 사용하지 않는 것이 기억한다면 () 가능한 경우 (http://wiki.nginx.org/IfIsEvil) } #는 이미지, CSS와 같은 정적 파일 요청을 잡을 것이 블록, JS #을 : 접두사는 '비입니다 우리가 필요로하지 않는 의미, '마크를 캡처 1달러로 캡처 할 #에게 패턴하는 성능을 개선하는 데 도움이해야합니다 ~ * \ 위치를. (? : ICO | CSS | JS | 지프 |? JPE g | PNG) $ { # 몇 가지 기본 캐시 정적 파일에 대한 ▪ 제어하는 브라우저로 보낼 수는 , 최대 만료 add_header에서 Pragma 공개, add_header 캐시 - 제어 "공공, 필수 재 검증, 프록시 재 검증"; } 당신이 많이 볼 수 # 우리는 여기에 우리의 기본 CONFIGS을 포함 할 수있다 쉽게 전체 위치 블록 세트 우리는 가상 호스트를 추가 할 때마다 밖으로 붙여 넣기보다 # ; drop.conf을 포함 php.conf 포함을; } |
간단한 워드 프레스 (파일 기반 캐싱 또는 특수 재 작성 사용하지)
당신이의 Memcache 또는 연산 코드 캐싱을 사용하는 경우이 또한 W3 총 캐시로 사용할 수있다.
서버 { 80 듣고 서버 _ example.com www.example.com, 루트 /usr/local/www/example.com, ACCESS_LOG /var/log/nginx/example.access.log; 의 error_log는 / var / log / nginx를 / 예 .error.log, 위치 / { try_files $ URI $ URI / /index.php; } 위치 / 검색 {limit_req 영역 = kbeezieone 버스트 = 3 nodelay; ^ /index.php를 다시; }는 오프 fastcgi_intercept_errors; 위치 ~ * \ (? : ICO | CSS | JS | 지프 | JPE g | PNG?) $가 {. 최대 만료; add_header에서 Pragma 공개, add_header 캐시 - 제어 "공공, 필수 재 검증, 프록시 재 검증" ;은 } php.conf을 포함한다; # 당신은 가상 robots.txt를 사용하는 드롭 로봇 라인을 제거 할 수 있습니다 # 또는 워드 프레스 구성의 요구에 맞는 drop_wp.conf을 만들 drop.conf을 포함; } |
워드 프레스 디스크 (강화)를 사용하여 W3 총 캐시 / w
다음과 같은 규칙이 어떤 경우 $ 호스트에서, W3TC 0.9.2.8에서 작동하도록 업데이트 된 도메인 이름으로 대체해야 할 수도 있습니다.
서버 { 80 듣고 서버 _ example.com www.example.com, 루트 /usr/local/www/example.com, ACCESS_LOG /var/log/nginx/example.access.log; 의 error_log는 / var / log / nginx를 / 예 .error.log; # 다음 두 위치 블록 GZIP 인코딩을 보장하는이 꺼져 이미 gzip으로 압축 w3tc 페이지 캐시의 봉사에 대한 #을 일반적으로 gzip을 정적 _gzip와 함께이 있지만 W3TC 이름을 그들을 처리 할 # 위치 ~ / WP - 콘텐츠 / 캐시 /page_enhanced.*html$ { , 최대 만료 캐릭터 세트 UTF-8 add_header는 "쿠키 인코딩을 적용"다양하다 add_header에서 Pragma 공개, add_header 캐시 - 제어 "공공, 필수 재 검증, 프록시 재 검증"; } 위치를 ~ / WP . -content / 캐시 / page_enhanced * GZIP을 $ { , 최대 만료 해제 gzip으로, 유형 {} 문자 세트 UTF-8; default_type 텍스트 / HTML; add_header 바리 "수락 인코딩, 쿠키"; add_header 콘텐츠 인코딩 gzip을, add_header에서 Pragma 공개; add_header 캐시 - 제어 "공공, 필수 재 검증, 프록시 재 검증"; } 위치 / { 경우 (-f $ REQUEST_FILENAME) { 휴식; } ; $ w3tc_rewrite 세트 1 ($의 REQUEST_METHOD = POST)가 {$ w3tc_rewrite 0을 설정 한 경우; } 경우 (! $의 질의 문은 = "") {$ w3tc_rewrite 0을 설정; } $ w3tc_rewrite2 1 세트; (! $의 REQUEST_URI ~ \ / $)의 경우를 {$ w3tc_rewrite2 0을 설정; } 경우 ($의 REQUEST_URI ~ * "(사이트 맵 (_index) \ XML (\ GZ) |?..?. [A-Z0-9 _ \ -] + - 사이트 맵 ([0-9] +) \ XML (\ ? gz 인)) ") {$ w3tc_rewrite2 세트 1; } 경우 ($ w3tc_rewrite2 = 1!) {$ w3tc_rewrite 0을 설정; } 경우 ($ HTTP_COOKIE ~ * "(comment_author | 포스트 \ -postpass | 워드 프레스 _ \ [\ -f0 \ -9 \] \ + | wordpress_logged_in)") {$ w3tc_rewrite 0을 설정; } ($ HTTP_USER_AGENT ~ * "(W3 \ 총 \ 캐시 / 0 \ 0.9) 0.2 \ 0.4 \") {$ w3tc_rewrite 0을 설정 한 경우; } 세트 $의 w3tc_ua ""; 세트 $의 w3tc_ref ""; 세트 $의 w3tc_ssl ""; 세트 $의 w3tc_enc ""; 경우 ($ HTTP_ACCEPT_ENCODING ~ GZIP) {세트 $의 w3tc_enc의 _gzip; } 세트 $의 w3tc_ext ""; 경우 (-f { 세트 $의 w3tc_ext 들이게; } ($의 w3tc_ext이 = "") {$ w3tc_rewrite 0을 설정;} 경우 경우 ($ w3tc_rewrite = 1) { 다시 ^ 마지막; } (! -e $ REQUEST_FILENAME) {경우 다시 ^ /index.php 마지막; } } 위치 / 검색 {limit_req 영역 = kbeezieone 버스트 = 3 nodelay, 다시 ^ /index.php는} 오프 fastcgi_intercept_errors; 위치 ~ * \ . (? : ICO | CSS | JS | 지프 | JPE g | PNG?) $는 { 최대 만료; add_header에서 Pragma 공개, add_header 캐시 - 제어 "공공, 필수 재 검증, 프록시 재 검증이"; } php.conf을 포함한다; # 당신은 가상 robots.txt를 사용하는 드롭 로봇 라인을 제거 할 수 있습니다 # 또는 워드 프레스 구성의 요구에 맞는 drop_wp.conf을 만들 ; drop.conf을 포함 } |
워드 프레스 WP Supercache (전체에서 모드) / w
서버 { 80 듣고 서버 _ example.com www.example.com, 루트 /usr/local/www/example.com, ACCESS_LOG /var/log/nginx/example.access.log; 의 error_log는 / var / log / nginx를 / 예 .error.log; 위치는 / { # Nginx에의 gzip을 정적 모듈 사용 가능이 줄 에 gzip_static을, #은 IE 6 이하로 GZIP의 콘텐츠를 제공하지 않도록 설정 gzip_disable는 "MSIE는 [1-6] \."; # 기본 유형을 설정합니다 텍스트 / HTML은 그래서 gzip으로 압축 된 내용이 제공됩니다 대신 원시 해석의 데이터, HTML로 #을. 텍스트 / HTML을 default_type, 그대로 #는 요청 된 파일이 정확하게 존재 하는가? 네, 서비스를 제공하고 여기에 중지하면 경우 (-f $ REQUEST_FILENAME) {휴식; } #는 요청의 캐시 된 복사본의 존재를 테스트 도움이되는 몇 가지 변수를 설정 세트 $의 supercache_file ''; 설정 $ supercache_uri $ REQUEST_URI, 요청이 게시물 인 경우 #이 쿼리를 부착하고있다, 또는 쿠키 # 다음 돈 ' t 캐시를 제공 (예 : 사용자가 로그인, 또는 의견을 게시) ($의 REQUEST_METHOD = POST) 경우 {세트 $의 supercache_uri를 ''; } 경우 ($의 질의 문) {세트 $의 supercache_uri ''; } 경우 ($ HTTP_COOKIE ~ * "comment_author_ | 워드 프레스 | WP-postpass_") { 세트 $의 supercache_uri ''; } supercache_uri 변수가이 시점 비우고되지 않은 경우 #이 시도 #은에 대상의 이름을 설정합니다 가능한 캐시 파일 의 경우 (supercache_uri는 ~ ^ (+) $ $.) { 세트 $의 supercache_file의 /wp-content/cache/supercache/$http_host/$1index.html; } 그 이름의 캐시 파일이 존재하는 경우 #, 직접 봉사 경우 (-f $ DOCUMENT_ROOT $ supercache_file) {^ $의 supercache_file 휴식을 다시; } # 그렇지 않으면 추가 처리를 위해 index.php를 다시 요청을 보내 (! -e의 달러 REQUEST_FILENAME가) {^ /index.php 마지막으로 다시 작성하는 경우; } } 위치 / 검색 {limit_req 영역 = kbeezieone 버스트 = 3 nodelay; ^ /index.php를 다시; }는 오프 fastcgi_intercept_errors; 위치 ~ * \ (? : ICO | CSS | JS | 지프 | JPE g | PNG?) $가 {. 최대 만료; add_header에서 Pragma 공개, add_header 캐시 - 제어 "공공, 필수 재 검증, 프록시 재 검증" ;은 } php.conf을 포함한다; # 당신은 가상 robots.txt를 사용하는 드롭 로봇 라인을 제거 할 수 있습니다 # 또는 워드 프레스 구성의 요구에 맞는 drop_wp.conf을 만들 drop.conf을 포함; } |
예쁜 URL을 Nibbleblog는 3.4.1+ 가능
당신이 사용하는 경우 NibbleBlog (http://nibbleblog.com를) 다음과 같은 기본 구성은 마크 다운을 버전 3.4.1로 작동하고, 3.4.1.
서버 { 80 듣고 루트 /usr/local/www/example.com; 서버 _ example.com www.example.com을; # 액세스 로그는 속도에 대해 해제 , ACCESS_LOG 오프 의 error_log /var/log/nginx/domain.error. 로그; # 주요 위치 블록 위치 / { ; 7D 만료 try_files $ URI $ URI / @rewrites; } 파일 / 폴더가 존재하지 않은 경우 # 다시 쓰기 규칙을 위치 @rewrites을 { ^ / 대시 보드 $의 /admin.php?controller=user&action=를 다시 작성 마지막 로그인; ^ / 공급 /feed.php 마지막을 다시; ^ / 분류 / ([^ /] +) / 페이지 다시 - ([0-9] +) $의 /index.php?controller=blog&action=view&category=$1&page을 = 2달러 마지막으로, 다시 ^ / 분류 / ([^ /] +) / $ /index.php?controller=blog&action=view&category=$1&page=0 마지막; ^ / 페이지를 다시 작성 - ([0-9] +) $ / ? index.php를 컨트롤러 = 블로그 및 활동 =보기 및 페이지 마지막 = $ 1; } # 위치 캐치 / 포스트 - #은 / Post_Title의 # 또한 /post-#/something.php의 이상한 인스턴스 잡을 것 위치를 ~ ^ / 포스트 - ([0-9 ] +) / { ^ /index.php?controller=post&action=view&id_post=$1가 마지막으로 다시; } 정적 파일에 대한 # 캐시 제어 .? 위치 ~ * \을 (? : ICO | CSS | JS | 지프 | JPE g | PNG) $는 { , 최대 만료 add_header에서 Pragma 공개, add_header 캐시 - 제어 "공공, 필수 재 검증, 프록시 재 검증이"; } drop.conf을 포함, php.conf을 포함; } |
드루팔 6 +
약간의 변화와 http://wiki.nginx.org/Drupal에서
서버 { 80 듣고 서버 _ example.com www.example.com, 루트 /usr/local/www/example.com, ACCESS_LOG /var/log/nginx/example.access.log; 의 error_log는 / var / log / nginx를 / 예 .error.log, 당신이 drush 사용하는 경우 #이 문제 {위치 = / 백업 , 모두 거부 } #은 매우 드물게이 이제까지 당신의 랜의 외부에서 접근 될 수 없습니다 위치 ~ * \ (TXT는 | 로그) $ {. 192.168.0.0/을 허용 (16) 모든 거부; } .. 위치 ~ \ .. * / * \ PHP는 $ {(403)를 반환; } 위치는 / { 더 PHP를 정적 콘텐츠에 대한 접촉하지 않기 때문에 #이 멋진 try_files $ URI는 @rewrite; } 위치 @rewrite { # 일부 모듈은 URL의 끝에있는 더 슬래시 (/) 적용되지 그렇지 #이 재 작성 블록은 않을 것 필요 (GlobalRedirect) ^ / 다시 (*.) $ /index.php?q=$1; } ImageCache와 # 싸움? 이 작은 보석이 놀랍습니다. 위치 ~ ^ / 사이트 /.*/ 파일 / imagecache / { try_files $ URI @rewrite; } . 위치 ~ * \ (?? : ICO | CSS | JS | 지프 | JPE g | PNG) $ {는 , 최대 만료 add_header에서 Pragma 공개, add_header 캐시 - 제어 "공공, 필수 재 검증, 프록시 재 검증이"; 오프 log_not_found; }는 php.conf을 포함한다; # 당신은 가상 로봇을 사용하는 드롭 로봇 라인을 제거 할 수 있습니다. TXT의 # 또는 워드 프레스 구성의 요구에 맞는 drop_wp.conf을 만들 ; drop.conf을 포함 } |
(동적)에 아파치와 정적 백엔드
서버 { 80 듣고 서버 _ example.com www.example.com, 루트 /usr/local/www/example.com, ACCESS_LOG /var/log/nginx/example.access.log; 의 error_log는 / var / log / nginx를 / 예 .error.log, 위치 / { # 다시 쓰기 규칙은 여기에 갈 수 } ~ * \ 위치 (? : ICO | CSS | JS | 지프 | JPE g | PNG?) $가 {. 최대 만료; add_header에서 Pragma 공개, add_header 캐시 - 제어 "공공, 필수 재 검증, 프록시 재 검증"; } 위치 ~ \ .php가 { proxy_set_header의 X-리얼 IP 달러 REMOTE_ADDR; proxy_set_header X-전달-를 들어 $ REMOTE_ADDR; proxy_set_header 호스트 $ 호스트, proxy_pass http://127.0.0.1 : 8080; } |