1. MySQL 설치
현재 정적 페이지를 실행하는 웹 서버는 거의 없습니다. 물론 데이터베이스 없이는 할 수 없습니다. 이전 글들 중 일부에서 MySQL 설치 방법을 쓰고 있는데, MySQL을 오랫동안 설치하지 않은 것 같은 느낌이 드네요. 이제 별다른 설명은 생략하고 그냥 포스팅하겠습니다
#useradd mysql
#tar zxvf mysql-5.0 .40.tar.gz
#cd mysql-5.0.40
#./configure --prefix=/usr/local/mysql
#make && make install
#/usr/local/mysql/bin/mysql_install_db --user=mysql ~ //MySQL 데이터베이스 초기화
#chown -R mysql /usr/local/mysql/var
#/usr/local/mysql/bin/mysqld_safe & //MySQL 시작
#/usr/local/mysql/bin/mysqladmin -u root 비밀번호 123456 //MySQL 비밀번호 설정
#cp support-files/my-medium.cnf /etc/my.cnf
#echo "/usr/local/mysql/bin/mysqld_safe & " >>/etc/rc.local
2. PCRE 설치
PCRE는 Perl에서 사용하는 정규식입니다. 목적은 설치된 소프트웨어를 정규식을 지원합니다. 기본적으로 Nginx는 정적 웹 페이지 요청, 즉 html만 처리합니다. *.php와 같은 동적 웹 페이지 요청에서 오는 경우 Nginx는 정규식을 기반으로 경로를 쿼리한 다음 *를 전달합니다. 처리를 위해 PHP에서 PHP로
#rpm -qa | grep pcre //시스템에 PCRE가 설치되어 있는지 확인합니다. 일반적으로 시스템은 기본으로 설치되어 있으므로 시스템과 함께 제공되는 것을 삭제해야 합니다. .
#cp /lib /libpcre.so.0 / //시스템에 포함된 PCRE를 삭제하기 전에 먼저 libpcre.so.0 파일을 백업해야 합니다. 왜냐하면 RPM 패키지가 너무 밀접하기 때문입니다. 관련하여 삭제 후 libpcre.so.0 파일이 없습니다. PCRE를 설치할 때 설치하지 못했습니다.
#rpm -e --nodeps pcre-6.6-1.1 //제공되는 PCRE를 삭제합니다. 시스템
# tar zxvf pcre-8.00.tar.gz
#cd pcre-8.00
#cp /libpcre.so.0 /lib/ //복사 시스템과 함께 제공되는 PCRE를 삭제하기 전에 백업해 두었던 libpcre.so.0을 lib 디렉터리의 /
#./configure에 나중에 다른 것들을 설치할 때 불필요한 문제를 피하기 위해 다음 그림이 표시됩니다. 이를 실행하면 PCRE
#make && make install
Nginx 설치
인터넷에서 Nginx를 설치하는 데 어려움을 겪는 사람들이 많은 것을 봤습니다. 정말 많은 기능을 구현할 수 있습니까? 그것은 나를 점점 더 우울하게 만들었습니다. 위 작성자의 단계에 따라 이번에 Nginx를 설치하신다면, Nginx 설치시 Nginx 설치 경로만 지정해주시면 됩니다 #tar zxvf nginx-0.8.24.tar.gz#cd nginx-0.8.24#./configure --prefix=/usr/local/nginx //이 링크에서는 경로만 지정하면 됩니다#make && make install#/usr/local/nginx/sbin/nginx //Nginx 시작#echo "/usr/local/nginx/sbin/nginx" >>/etc /rc.localNginx가 시작되면 아래와 같이 두 개의 프로세스가 있습니다. 마스터가 메인 프로세스이고 워커가 작업 프로세스입니다 NGINX를 시작한 후 브라우저에 http://localhost를 입력하면 아래와 같이 볼 수 있습니다.
4. PHP를 설치합니다
이제 PHP가 설치되었으므로 GD 설치는 여기서 설명하지 않습니다.1. libpng#tar xvf libpng-1.2.10.tar를 설치합니다. tar#cd libpng-1.2.10#./configure --prefix=/usr/local/png#make;make install#ln - s /usr/local/png/lib/* /usr/lib/2. jpeg 설치#mkdir /usr/local/jpeg #mkdir /usr /local/jpeg/bin#mkdir /usr/local/jpeg/lib#mkdir /usr/local/jpeg/include#mkdir /usr/local /jpeg/man#mkdir /usr/local/jpeg/man/man1#tar xvf jpegsrc.v7.tar.tar#cd jpeg-7#./configure --prefix=/usr/local/jpeg --enable-shared --enable-static#make;make install #ln -s /usr/local/jpeg/lib/* /usr/lib/3. freetype 설치#tar xvf freetype-2.3.9.tar.tar
# cd freetype-2.3.9#./configure --prefix=/usr/local/freetype#make;make install4. 글꼴 구성
#tar zxvf 글꼴 구성-2.4.2.tar.gz#cd 글꼴 구성-2.4.2
#./configure --prefix=/usr/local/fontconfig --with-freetype-c/local/freetype/bin/freetype-config
#make;make install
5. GD 설치
#tar zxvf gd-2.0.32.tar.gz
#cd gd-2.0.32
#./configure --prefix= /usr/local/gd --with-png=/usr/local/png --with-jpeg=/usr/local/jpeg --with- freetype=/usr/local/freetype --with-fontc/local/ 글꼴 구성
#cp /usr/local/png/include/png.h ./
#cp /usr/local/png/include/pngconf.h ./
#make;make install
6. PHP 설치
기본적으로 Nginx와 PHP는 연결되어 있지 않기 때문에 이 곳이 가장 중요한 곳입니다. 과거에는 많은 친구들이 Apache+PHP를 구축했는데, Apache+PHP는 컴파일 후 모듈 파일을 생성하는 반면, Nginx+PHP는 실행 파일을 생성하려면 PHP가 필요하므로 Nginx와 PHP의 통합을 구현하려면 fastcgi 기술을 사용해야 합니다. FastCGI를 설치하고 활성화하려면 우리를 도와주세요. 이번에는 FastCGI를 사용했을 뿐만 아니라, PHP-FPM과 같은 것을 사용하여 설치했습니다. 직설적으로 말하면 PHP-FPM은 FastCGI를 관리하기 위한 관리자입니다. PHP 설치 시 PHP-FPM을 사용하려면 PHP에 패치 형태로 PHP-FPM을 설치해야 하며, PHP는 PHP-FPM 버전과 일치해야 합니다. 꼭 기억하세요!
먼저 PHP와 PHP-FPM을 동일한 디렉터리에 다운로드합니다. 이번에는 php-5.3.0.tar.bz2와 php-5.3.0-fpm-0.5.12를 사용했습니다. gz, 동일한 디렉토리에 다운로드 #tar xvf php-5.3.0.tar.bz2#gzip -cd php-5.3.0-fpm-0.5.12.diff .gz | patch -d php-5.3.0 -p1 //php-5.3.0-php-5.3.0에 패치 형태로 php-5.3.0-fpm-0.5.12.diff.gz를 추가합니다 #cd php -5.3.0#./configure --prefix=/usr/local/php --with-gd=/usr/local/gd --with-jpeg-dir=/usr/local/ jpeg --with-png-dir=/usr/local/png --with-freetype-dir=/usr/local/freetype --with-mysql=/usr/local/mysql --enable-fastcgi --enable- fpm 참고: Nginx+PHP 통합의 경우 설치 중에 --enable-fastcgi 및 --enable-fpm을 활성화해야 합니다. 이 두 옵션의 기능은 위에 설명되어 있습니다. 실행 후 시스템은 --enable-fastcgi가 알 수 없는 옵션이라는 메시지를 표시합니다. >#cp php.ini-dist /usr/local/php/etc/php.ini이제 PHP-FPM을 시작합니다
#/usr/local/php/sbin/ php-fpm start
에서 위 오류를 보고합니다. 그 이유는 PHP-FPM 자체가 어떤 사용자와 그룹이 PHP를 실행할지 모르기 때문입니다. 따라서 파일을 수정하려면 파일에 있는 주석만 제거하면 됩니다(파일을 열고 빨간색 부분을 삭제하면 됩니다). ), 그러면 PHP-FPM은 아무도 없는 사용자 및 그룹으로 PHP를 실행합니다. #vi /usr/local/php/etc/php-fpm.conf#/usr/local/php/sbin/php-fpm 시작
#ps -aux | grep php#echo "/usr/local/php/sbin/php-fpm start" >> /etc/rc.local
5. Nginx와 PHP 통합
위에서 언급했듯이 Nginx 자체는 동적 웹 페이지에 대한 요청을 처리하지 않으며 Nginx는 동적 요청이 PHP로 전송됩니다. Nginx 구성 파일을 열고 살펴보겠습니다.#vi /usr/local/nginx/conf/nginx.conf //대상 부분은 나중에 수정하겠습니다
위 그림을 보면 Nginx는 요청을 PHP로 전달하는 방법을 이미 알고 있습니다. Nginx는 *.php 요청을 받으면 포트 9000을 통해 요청을 PHP로 전달합니다. 이제 아래와 같이 이러한 주석을 제거할 수 있습니다
참고: 위의 /usr/local/nginx/html은 PHP 웹사이트가 있는 경로입니다 Nginx 자체만이 PHP를 찾는 방법을 아는 것만으로는 충분하지 않습니다. PHP도 Nginx를 찾는 방법을 알아야 합니다. PS: JJMM이 길거리에서 데이트할 때 서로 아는 것을 본 적이 있나요? 어떻게 사용하는지 모르시나요? 상대방과 어떻게 연결하나요? 이에 대해 걱정할 필요가 없습니다. PHP-FPM은 PHP 요청을 수락할 위치를 이미 구성 파일에 정의했습니다. 구성 파일을 열고 살펴볼 수 있습니다. #vi /usr/local/php /etc/php-fpm .conf위 그림에서 볼 수 있듯이 Nginx는 로컬 머신의 9000 포트를 통해 PHP 요청을 PHP로 전달하는 것을 이전에 보았습니다. 위 그림에서 PHP 자체는 로컬 시스템의 9000 포트에서 데이터를 수신하고 Nginx와 PHP는 로컬 시스템의 9000 포트를 통해 데이터 요청을 완료하는 것을 볼 수 있습니다.
6. 테스트
nginx 구성 파일에 PHP 웹사이트의 저장 경로를 정의했습니다. 경로는 /usr/local/nginx/html다음으로 이 디렉터리에 새 PHP 페이지 테스트 페이지를 생성합니다. 파일 이름은 test.php이고 내용은 다음과 같습니다.
PHP와 nginx를 다시 시작한 후. (프로세스가 닫혔다가 시작되면 종료할 수 있습니다.) 브라우저에 http://localhost/test.php를 입력하면 다음 인터페이스가 나타나며 이는 성공한 것으로 간주됩니다.
위 내용은 CentOS+Nginx+PHP+MySQL의 상세 구성도를 소개하고 있으며, PHP 튜토리얼에 관심이 있는 친구들에게 도움이 되었으면 좋겠습니다.