백엔드 개발 PHP 튜토리얼 LNMP 구성 + yii 환경

LNMP 구성 + yii 환경

Aug 08, 2016 am 09:20 AM
install mysql nbsp nginx php

1. 구성 환경

(1)Ubuntu14.04 x86_64 [커널 버전: 3.16.0-30-generic]

(2)Nginx1.4.6

(3)MySQL5.5

(4)PHP5.5.9

2. 설치 방법

소스 코드에서 컴파일하여 설치하지 마세요. apt -get install 방법을 사용하여 설치하세요. 향후 사용자 정의 요구 사항을 충족하려면 deb 설치 패키지를 만드는 것이 가장 좋습니다.

3. 구체적인 설치 과정

(1)MySQL

# apt-get 설치 mysql-server php5-mysql ## 설치 과정에서 mysql의 루트 사용자 비밀번호를 설정하라는 메시지가 표시됩니다

# mysql_install_db

# mysql_secure_installation

그런 다음 루트 사용자의 원격 연결 허용 여부를 포함하여 필요에 따라 설치하도록 선택합니다.

(2)Nginx

# apt-get install nginx

(3)PHP

# apt-get install php5-fpm php5-cli

(4) Yii

Yii 공식 홈페이지에 가서 Yii 프레임워크 소스 코드를 다운로드하고 /var/www/ 디렉토리에 압축을 풀고 파일명을 yii로 변경합니다.

yii1.1.16 버전을 사용하고 있습니다.

4. 구성

구성의 주요 목적은 Nginx용 Yii 프레임워크 URL에서 index.php를 숨기는 것입니다. 및 PHP 구성에는 온라인에 많은 정보가 있습니다.

(1)Nginx

# vim /etc/nginx/sites-available/default

server {
    listen 80 default_server;
    #listen [::]:80 default_server ipv6  ## listen for ipv6

    root /var/www/;
    index index.html index.htm index.php;

    # Make site accessible from http://localhost/
    server_name localhost;

    set $yii_bootstrap "index.php";    

    location / {
        # First attempt to serve request as file, then
        # as directory, then fall back to displaying a 404.
        #try_files $uri $uri/ =404;
        # Uncomment to enable naxsi on this location
        # include /etc/nginx/naxsi.rules
        try_files $uri $uri/ /$yii_bootstrap?$args;
    }

    #avoid processing of calls to unexisting static files by yii
    location ~ ^/(protected|framework|themes/\w+/views) {
        deny  all;
    }

    location ~ \.(js|css|png|jpg|gif|swf|ico|pdf|mov|fla|zip|rar)$ {
        try_files $uri =404;
    }


    # Only for nginx-naxsi used with nginx-naxsi-ui : process denied requests
    #location /RequestDenied {
    #	proxy_pass http://127.0.0.1:8080;    
    #}

    error_page 404 /404.html;

    # redirect server error pages to the static page /50x.html
    #
    error_page 500 502 503 504 /50x.html;
    location = /50x.html {
        root /var/www/html;
    }

    # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
    #
    location ~ \.php$ {
        try_files $uri =404;
        fastcgi_split_path_info ^(.+\.php)(/.+)$;
        # NOTE: You should have "cgi.fix_pathinfo = 0;" in php.ini

        #let yii catch the calls to unexising PHP files
        set $fsn /$yii_bootstrap;
        if (-f $document_root$fastcgi_script_name){
            set $fsn $fastcgi_script_name;
        }

        # With php5-cgi alone:
        #fastcgi_pass 127.0.0.1:9000;   
        # With php5-fpm:
        fastcgi_pass unix:/var/run/php5-fpm.sock;
        #fastcgi_index index.php;
        include fastcgi_params;
        fastcgi_index index.php;
        fastcgi_param SCRIPT_FILENAME $document_root$fsn;
        fastcgi_param PATH_INFO $fastcgi_path_info;
        fastcgi_param PATH_TRANSLATED  $document_root$fsn;
    }

    # deny access to .htaccess files, if Apache's document root
    # concurs with nginx's one
    #
    #location ~ /\.ht {
    #	deny all;
    #}
    location ~ /\. {
        deny all;
        access_log off;
        log_not_found off;
    }
}
로그인 후 복사
구성 파일주요 참조가져오기 시작됨 - Apache 및 Nginx 구성 - Nginx

Nginx는 정상적으로 시작할 수 있습니다

(2)PHP

# vim /etc/php5/fpm/php.ini

cgi.fix_pathinfo 옵션을 찾아 주석 처리를 해제하고 변경하세요. cgi.fix_pathinfo 값을 0으로 변경

/var/www/ 디렉토리에 새 testphp.php를 생성합니다.

내용은

<span style="white-space:pre">		<?php
&#160;		</span>    <span style="white-space:pre">phpinfo();
		?></span>
로그인 후 복사
php가 잘 작동합니다. 4. 테스트

(1) 홈페이지 작동 여부

홈페이지에서는 홈페이지 표시에는 문제가 없으나, 모든 메뉴를 클릭하면 404에러가 발생합니다

다음은 Yii 프로젝트 URL 구성입니다(protected/config/main.php)

다음은 메뉴바

(2) Yii URL에서 index.php 숨기기

이전 nginx 구성은 yii 공식 문서에 따라 구성했지만 소용이 없었습니다. Google은 "location /"의 구성을 수정하는 것 외에 많은 정보를 검색했습니다.

1) 해결 방법 1

위치 /{

try_files $uri $uri/ /index.php?$request_uri;

}

Tip$yii_bootstrap 변수의 내용은 입니다. php

그래도 404 오류가 발생합니다

2) 해결 방법 2

역시 랜덤하고 알이 없습니다

5. 결론: 아파치로 바꿔야 한다

이것은 좋은 일치입니다. 이전에 제공된 공식 링크를 사용하면 문제를 해결할 수 있습니다.

로그인 후 복사
저작권: 이 글은 해당 블로거의 원본 글이므로 블로거의 허락 없이 복제할 수 없습니다.

위 내용은 관련 측면을 포함하여 LNMP 구성 + yii 환경을 소개한 내용이 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 및 Python : 코드 예제 및 비교 PHP 및 Python : 코드 예제 및 비교 Apr 15, 2025 am 12:07 AM

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

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

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

PHP : 서버 측 스크립팅 언어 소개 PHP : 서버 측 스크립팅 언어 소개 Apr 16, 2025 am 12:18 AM

PHP는 동적 웹 개발 및 서버 측 응용 프로그램에 사용되는 서버 측 스크립팅 언어입니다. 1.PHP는 편집이 필요하지 않으며 빠른 발전에 적합한 해석 된 언어입니다. 2. PHP 코드는 HTML에 포함되어 웹 페이지를 쉽게 개발할 수 있습니다. 3. PHP는 서버 측 로직을 처리하고 HTML 출력을 생성하며 사용자 상호 작용 및 데이터 처리를 지원합니다. 4. PHP는 데이터베이스와 상호 작용하고 프로세스 양식 제출 및 서버 측 작업을 실행할 수 있습니다.

PHP vs. Python : 사용 사례 및 응용 프로그램 PHP vs. Python : 사용 사례 및 응용 프로그램 Apr 17, 2025 am 12:23 AM

PHP는 웹 개발 및 컨텐츠 관리 시스템에 적합하며 Python은 데이터 과학, 기계 학습 및 자동화 스크립트에 적합합니다. 1.PHP는 빠르고 확장 가능한 웹 사이트 및 응용 프로그램을 구축하는 데 잘 작동하며 WordPress와 같은 CMS에서 일반적으로 사용됩니다. 2. Python은 Numpy 및 Tensorflow와 같은 풍부한 라이브러리를 통해 데이터 과학 및 기계 학습 분야에서 뛰어난 공연을했습니다.

Docker의 MySQL을 시작하는 방법 Docker의 MySQL을 시작하는 방법 Apr 15, 2025 pm 12:09 PM

Docker에서 MySQL을 시작하는 프로세스는 다음 단계로 구성됩니다. MySQL 이미지를 가져와 컨테이너를 작성하고 시작하고 루트 사용자 암호를 설정하고 포트 확인 연결을 매핑하고 데이터베이스를 작성하고 사용자는 데이터베이스에 모든 권한을 부여합니다.

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

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

PHP를 사용하는 이유는 무엇입니까? 설명 된 장점과 혜택 PHP를 사용하는 이유는 무엇입니까? 설명 된 장점과 혜택 Apr 16, 2025 am 12:16 AM

PHP의 핵심 이점에는 학습 용이성, 강력한 웹 개발 지원, 풍부한 라이브러리 및 프레임 워크, 고성능 및 확장 성, 크로스 플랫폼 호환성 및 비용 효율성이 포함됩니다. 1) 배우고 사용하기 쉽고 초보자에게 적합합니다. 2) 웹 서버와 우수한 통합 및 여러 데이터베이스를 지원합니다. 3) Laravel과 같은 강력한 프레임 워크가 있습니다. 4) 최적화를 통해 고성능을 달성 할 수 있습니다. 5) 여러 운영 체제 지원; 6) 개발 비용을 줄이기위한 오픈 소스.

See all articles