1.nginx 소개
nginx는 매우 가벼운 http 서버입니다. "engine x"로 발음되는 nginx는 고성능 http 및
역방향 프록시 서버이자 imap/pop3/smtp이기도 합니다. 프록시 서버.
2. PHP 지원
현재 다양한 웹 서버에서 PHP를 지원하는 유형은 세 가지입니다.
(1) Apache의 내장 모듈과 유사한 Apache의 mod_php5와 같은 웹 서버의 내장 모듈을 통해 구현됩니다. mod_perl에서
Perl을 지원할 수 있습니다.
(2) cgi를 통해 구현된 이 방법의 단점은 성능이 좋지 않다는 것입니다. 서버가 이러한 스크립트를 만날 때마다 스크립트를 실행하기 위해 스크립트 파서를 다시 시작해야 하기 때문입니다. 결과를 서버로 변환합니다.
반면에 이 측면은 거의 사용되지 않습니다.
(3) 최신 것은 fastcgi라고 합니다. 소위 fastcgi는 CGI를 개선한 것입니다. 일반적으로 c/s 구조를 채택합니다. 일반적으로 스크립트 프로세서
는 하나 이상의 데몬 프로세스를 시작합니다. 웹 서버가 스크립트를 발견할 때마다 실행을 위해 fastcgi 프로세스로 직접 전달된 다음
가 결과(보통 html)가 브라우저에 반환됩니다.
2.1 apache+mod_php 모드우리는 오랫동안 고전적인 apache+mod_php를 사용해 왔습니다.
Apache의 PHP 지원은 Apache 모듈을 통해 지원됩니다. 소스 코드에서 PHP를 컴파일하고 설치하는 경우, Apache가
php를 지원하도록 하려면 ./configure 단계에서 --with-apxs2=/usr/local/apache2/bin/apxs를 지정하여 컴파일러에 알려야 합니다.
apache mod_php5/apxs는 php5의 구문 분석을 제공하고 make install의 마지막 단계에서 동적 링크 라이브러리
libphp5.so가 apache2 설치 디렉토리의 모듈 디렉토리에 복사되는 것을 볼 수 있습니다. httpd.conf에서 구성해야 합니다. libphp5.so 모듈을 동적으로 로드하여 Apache의 PHP 지원을 실현하려면 파일에 loadmodule
문을 추가하세요.
2.2 nginx+fastcgi 모드nginx는 완전히 가볍고 PHP를 구문 분석하기 위해 타사 fastcgi 프로세서를 사용해야 합니다. 따라서 실제로 nginx는
매우 유연한 것으로 보이며 모든 타사와 함께 사용할 수 있습니다. PHP를 구문 분석하기 위한 연결을 구현하는 구문 분석 프로세서를 제공합니다(nginx.conf에서 설정하기 쉽습니다).
nginx는 spwan-fcgi를 사용할 수 있습니다. 이전 버전에서는 lighttpd를 설치해야 하지만, 9.10 버전 이후에는spawn-fcgi를 직접 설치할 수 있습니다.
이제 php-fpm이라는 새로운 타사 PHP fastcgi 프로세서가 있습니다. 이에 대해 알아볼 수 있습니다. 이 문서는
php 모듈에 대한 지원을 구현하기 위해spawn-fcgi를 기반으로 합니다.
2.3 fastcgi 설치/usr/bin/spawn-fcgi 파일은 fastcgi를 관리하는데 사용됩니다. 원래는 lighttpd 패키지에 속해 있었지만, 9.10 이후에는spawn-fcgi
가 별도의 패키지로 분리되었습니다.
(1) 다음과 같이 apt-get 온라인 설치 명령어를 사용하세요:
$sudo apt-get install generate-fcgi
(2) 소스코드는 다음과 같이 설치되며, 다운로드 주소는
압축을 푼 후 다음을 입력하세요. 디렉토리를 찾아 다음과 같이 실행합니다. 설치 명령:
~ $make
3.nginx 설치 3.1 nginx 설치(1) 온라인 설치 $sudo apt-get install nginx
nginx 버전은 1.2.1 nginx 설치 후 파일 구조 우분투는 대략 다음과 같습니다.
모든 구성 파일은 /etc/nginx에 있고 각 가상 호스트는 /etc/nginx/sites-available
에 정렬되어 있습니다. 시작 프로그램 파일은 /usr/sbin/nginx
에 있습니다. log는 /var/log/nginx에 각각 access.log와 error.log
이며, /etc/init.d/ 아래에 시작 스크립트 nginx가 생성되었습니다. 기본 가상 호스트 디렉터리는 /에 설정되어 있습니다. usr /share/nginx/www
(2) 소스코드 설치
다운로드 주소:
여기서 다운로드한 것은 nginx-1.3.9.tar.gz 입니다. 설치 과정은 다음과 같이 매우 간단합니다.
$ ./configure
$make
$make install
성공적으로 설치되면 nginx는 /usr/local/nginx 디렉터리에 배치됩니다. 기본 구성 파일은 conf 디렉터리의 nginx.conf입니다.
nginx의 시작 파일은 sbin 디렉터리의 nginx 파일입니다.
3.2 nginx 시작
(1) 온라인 설치 시작 과정
$sudo /etc/init.d/nginx start
(2) 소스코드 설치 시작 과정
$cd /usr/local/ Nginx
$ sbin/nginx
그러면 http:// localhost/에 액세스할 수 있습니다. 모든 것이 정상입니다! 접근할 수 없다면 아직 진행하지 말고 원인을 찾아
해결한 후 계속 진행하세요.
동시에 Apache가 설치되어 있는 경우 위의 액세스 방법을 사용할 수 없으며, 모두 포트 80을 사용하기 때문에 nginx가 시작되지 않을 수 있습니다. 여기에서 nginx의 포트를 8080으로 수정합니다.
여기서는 nginx 구성 파일 nginx.conf의 주요 수정 사항과 다음 줄이 있습니다.
Listen 80;
수정:
Listen 8080; 그런 다음 http로 액세스할 수 있습니다. , http://localhost:8080/ .
3.3 php 및 mysql 설치$sudo apt-get install php5-cli php5-cgi mysql-server php5-mysql
3.4 nginx의 php 지원 테스트(1) ngin x 재시작: 사용 사용 cgi
spawn-fcgi가 시작될 때 오류가 발생하면 php-cgi가 설치되어 있는지 확인하세요. 그렇다면 php5-cgi를 설치하세요. > ‐ out out through through through through through off ‐ ‐ ‐‐ ‐ down ‐ to
.conf에서 몇 가지 필수 매개변수를 설정했습니다.
include /etc/nginx/sites-enabled/*
/etc/nginx/sites-enabled/default 파일도 서버, 디렉터리 등 주요 구성 정보가 포함된 핵심 구성 파일임을 알 수 있습니다. , 서버 이름, 위치 정보 및 서버 정보.
소스 코드에서 설치된 nginx의 경우 구성 파일은 /usr/local/nginx/conf/nginx.conf입니다.
다음은 주로 위치 일치 규칙을 설명합니다.
(1) = prefix 명령은 이 쿼리와 엄격하게 일치합니다. 발견되면 검색을 중지하세요.
(2) 나머지 일반 문자열의 경우 가장 긴 일치 항목이 먼저 사용됩니다. 일치 항목에서 ^~ 접두사를 사용하면 검색이 중지됩니다.
(3) 정규식은 구성 파일의 순서에 따라 첫 번째로 일치하는 것이 사용됩니다. (4) 세 번째 단계에서 일치 항목이 생성되면 이 결과를 사용합니다. 그렇지 않으면 두 번째 단계의 일치 결과가 사용됩니다.
위치에서는 정규 문자열과 정규 표현식을 사용할 수 있습니다.
정규식을 사용하는 경우 다음 규칙을 사용해야 합니다.
(1)~* 접두사는 대소문자 구분 일치를 선택합니다.
(2)~ 대소문자 구분 일치를 선택합니다.
예:
location = / {
# 일치/쿼리만 가능합니다.
[ 구성 a ]
} location / { # 모든 요청은 /로 시작하므로 모든 쿼리와 일치합니다.达 # 그러나 정규식 규칙과 긴 블록 규칙에는 우선 순위와 조회가 부여됩니다. [ 구성 b ] } location ^~ /images/ { # /images/로 시작하는 쿼리를 일치시키고 검색을 중지합니다. # 정규식은 테스트되지 않습니다. [ 구성 c ] }
location ~* .(gif|jpg|jpeg)$ {
# gif, jpg 또는 jpeg로 끝나는 요청과 일치합니다. + # 그러나 /images/ 디렉토리에 대한 모든 요청은 구성 c를 사용합니다.
[ 구성 d ]
}
위 내용은 Ubuntu에서 Nginx를 설치하고 구성하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!