백엔드 개발 PHP 튜토리얼 CentOS+Nginx+PHP+MySQL 상세 구성도

CentOS+Nginx+PHP+MySQL 상세 구성도

Aug 08, 2016 am 09:22 AM
nbsp nginx php usr

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

CentOS+Nginx+PHP+MySQL 상세 구성도

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.local

Nginx가 시작되면 아래와 같이 두 개의 프로세스가 있습니다. 마스터가 메인 프로세스이고 워커가 작업 프로세스입니다

CentOS+Nginx+PHP+MySQL 상세 구성도

NGINX를 시작한 후 브라우저에 http://localhost를 입력하면 아래와 같이 볼 수 있습니다.

CentOS+Nginx+PHP+MySQL 상세 구성도

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 install

4. 글꼴 구성

#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을 시작합니다

CentOS+Nginx+PHP+MySQL 상세 구성도#/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 시작CentOS+Nginx+PHP+MySQL 상세 구성도

#ps -aux | grep php

#echo "/usr/local/php/sbin/php-fpm start" >> /etc/rc.localCentOS+Nginx+PHP+MySQL 상세 구성도

5. Nginx와 PHP 통합

위에서 언급했듯이 Nginx 자체는 동적 웹 페이지에 대한 요청을 처리하지 않으며 Nginx는 동적 요청이 PHP로 전송됩니다. Nginx 구성 파일을 열고 살펴보겠습니다.

CentOS+Nginx+PHP+MySQL 상세 구성도#vi /usr/local/nginx/conf/nginx.conf //대상 부분은 나중에 수정하겠습니다

위 그림을 보면 Nginx는 요청을 PHP로 전달하는 방법을 이미 알고 있습니다. Nginx는 *.php 요청을 받으면 포트 9000을 통해 요청을 PHP로 전달합니다. 이제 아래와 같이 이러한 주석을 제거할 수 있습니다

참고: 위의 /usr/local/nginx/html은 PHP 웹사이트가 있는 경로입니다

CentOS+Nginx+PHP+MySQL 상세 구성도

Nginx 자체만이 PHP를 찾는 방법을 아는 것만으로는 충분하지 않습니다. PHP도 Nginx를 찾는 방법을 알아야 합니다. PS: JJMM이 길거리에서 데이트할 때 서로 아는 것을 본 적이 있나요? 어떻게 사용하는지 모르시나요? 상대방과 어떻게 연결하나요? 이에 대해 걱정할 필요가 없습니다. PHP-FPM은 PHP 요청을 수락할 위치를 이미 구성 파일에 정의했습니다. 구성 파일을 열고 살펴볼 수 있습니다.

#vi /usr/local/php /etc/php-fpm .conf

CentOS+Nginx+PHP+MySQL 상세 구성도

위 그림에서 볼 수 있듯이 Nginx는 로컬 머신의 9000 포트를 통해 PHP 요청을 PHP로 전달하는 것을 이전에 보았습니다. 위 그림에서 PHP 자체는 로컬 시스템의 9000 포트에서 데이터를 수신하고 Nginx와 PHP는 로컬 시스템의 9000 포트를 통해 데이터 요청을 완료하는 것을 볼 수 있습니다.

6. 테스트

nginx 구성 파일에 PHP 웹사이트의 저장 경로를 정의했습니다. 경로는 /usr/local/nginx/html

다음으로 이 디렉터리에 새 PHP 페이지 테스트 페이지를 생성합니다. 파일 이름은 test.php이고 내용은 다음과 같습니다.

CentOS+Nginx+PHP+MySQL 상세 구성도

PHP와 nginx를 다시 시작한 후. (프로세스가 닫혔다가 시작되면 종료할 수 있습니다.) 브라우저에 http://localhost/test.php를 입력하면 다음 인터페이스가 나타나며 이는 성공한 것으로 간주됩니다.

CentOS+Nginx+PHP+MySQL 상세 구성도

위 내용은 CentOS+Nginx+PHP+MySQL의 상세 구성도를 소개하고 있으며, PHP 튜토리얼에 관심이 있는 친구들에게 도움이 되었으면 좋겠습니다.

본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.

핫 AI 도구

Undresser.AI Undress

Undresser.AI Undress

사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover

AI Clothes Remover

사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool

Undress AI Tool

무료로 이미지를 벗다

Clothoff.io

Clothoff.io

AI 옷 제거제

Video Face Swap

Video Face Swap

완전히 무료인 AI 얼굴 교환 도구를 사용하여 모든 비디오의 얼굴을 쉽게 바꾸세요!

뜨거운 도구

메모장++7.3.1

메모장++7.3.1

사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전

SublimeText3 중국어 버전

중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기

스튜디오 13.0.1 보내기

강력한 PHP 통합 개발 환경

드림위버 CS6

드림위버 CS6

시각적 웹 개발 도구

SublimeText3 Mac 버전

SublimeText3 Mac 버전

신 수준의 코드 편집 소프트웨어(SublimeText3)

PHP의 목적 : 동적 웹 사이트 구축 PHP의 목적 : 동적 웹 사이트 구축 Apr 15, 2025 am 12:18 AM

PHP는 동적 웹 사이트를 구축하는 데 사용되며 해당 핵심 기능에는 다음이 포함됩니다. 1. 데이터베이스와 연결하여 동적 컨텐츠를 생성하고 웹 페이지를 실시간으로 생성합니다. 2. 사용자 상호 작용 및 양식 제출을 처리하고 입력을 확인하고 작업에 응답합니다. 3. 개인화 된 경험을 제공하기 위해 세션 및 사용자 인증을 관리합니다. 4. 성능을 최적화하고 모범 사례를 따라 웹 사이트 효율성 및 보안을 개선하십시오.

PHP : 데이터베이스 및 서버 측 로직 처리 PHP : 데이터베이스 및 서버 측 로직 처리 Apr 15, 2025 am 12:15 AM

PHP는 MySQLI 및 PDO 확장 기능을 사용하여 데이터베이스 작업 및 서버 측 로직 프로세싱에서 상호 작용하고 세션 관리와 같은 기능을 통해 서버 측로 로직을 처리합니다. 1) MySQLI 또는 PDO를 사용하여 데이터베이스에 연결하고 SQL 쿼리를 실행하십시오. 2) 세션 관리 및 기타 기능을 통해 HTTP 요청 및 사용자 상태를 처리합니다. 3) 트랜잭션을 사용하여 데이터베이스 작업의 원자력을 보장하십시오. 4) SQL 주입 방지, 디버깅을 위해 예외 처리 및 폐쇄 연결을 사용하십시오. 5) 인덱싱 및 캐시를 통해 성능을 최적화하고, 읽을 수있는 코드를 작성하고, 오류 처리를 수행하십시오.

PHP 및 Python : 코드 예제 및 비교 PHP 및 Python : 코드 예제 및 비교 Apr 15, 2025 am 12:07 AM

PHP와 Python은 고유 한 장점과 단점이 있으며 선택은 프로젝트 요구와 개인 선호도에 달려 있습니다. 1.PHP는 대규모 웹 애플리케이션의 빠른 개발 및 유지 보수에 적합합니다. 2. Python은 데이터 과학 및 기계 학습 분야를 지배합니다.

nginx가 시작되었는지 확인하는 방법 nginx가 시작되었는지 확인하는 방법 Apr 14, 2025 pm 01:03 PM

nginx가 시작되었는지 확인하는 방법 : 1. 명령 줄을 사용하십시오 : SystemCTL 상태 nginx (linux/unix), netstat -ano | Findstr 80 (Windows); 2. 포트 80이 열려 있는지 확인하십시오. 3. 시스템 로그에서 nginx 시작 메시지를 확인하십시오. 4. Nagios, Zabbix 및 Icinga와 같은 타사 도구를 사용하십시오.

PHP와 Python : 다른 패러다임이 설명되었습니다 PHP와 Python : 다른 패러다임이 설명되었습니다 Apr 18, 2025 am 12:26 AM

PHP는 주로 절차 적 프로그래밍이지만 객체 지향 프로그래밍 (OOP)도 지원합니다. Python은 OOP, 기능 및 절차 프로그래밍을 포함한 다양한 패러다임을 지원합니다. PHP는 웹 개발에 적합하며 Python은 데이터 분석 및 기계 학습과 같은 다양한 응용 프로그램에 적합합니다.

nginx 버전을 확인하는 방법 nginx 버전을 확인하는 방법 Apr 14, 2025 am 11:57 AM

nginx 버전을 쿼리 할 수있는 메소드는 다음과 같습니다. nginx -v 명령을 사용하십시오. nginx.conf 파일에서 버전 지시문을 봅니다. nginx 오류 페이지를 열고 페이지 제목을 봅니다.

Nginx에서 클라우드 서버 도메인 이름을 구성하는 방법 Nginx에서 클라우드 서버 도메인 이름을 구성하는 방법 Apr 14, 2025 pm 12:18 PM

클라우드 서버에서 nginx 도메인 이름을 구성하는 방법 : 클라우드 서버의 공개 IP 주소를 가리키는 레코드를 만듭니다. Nginx 구성 파일에 가상 호스트 블록을 추가하여 청취 포트, 도메인 이름 및 웹 사이트 루트 디렉토리를 지정합니다. Nginx를 다시 시작하여 변경 사항을 적용하십시오. 도메인 이름 테스트 구성에 액세스하십시오. 기타 참고 : HTTPS를 활성화하려면 SSL 인증서를 설치하고 방화벽에서 포트 80 트래픽을 허용하고 DNS 해상도가 적용되기를 기다립니다.

Docker 컨테이너의 이름을 확인하는 방법 Docker 컨테이너의 이름을 확인하는 방법 Apr 15, 2025 pm 12:21 PM

단계를 따르면 Docker 컨테이너 이름을 쿼리 할 수 ​​있습니다. 모든 컨테이너 (Docker PS)를 나열하십시오. 컨테이너 목록을 필터링합니다 (GREP 명령 사용). 컨테이너 이름 ( "이름"열에 위치)을 가져옵니다.

See all articles