>운영 및 유지보수 >엔진스 >Ubuntu에서 Nginx를 설치하고 구성하는 방법

Ubuntu에서 Nginx를 설치하고 구성하는 방법

王林
王林앞으로
2023-05-17 11:01:341227검색

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 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
이 기사는 yisu.com에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제