찾다
백엔드 개발PHP 튜토리얼CentOS7에서 Laravel 배포 및 nginx를 통한 전달

CentOS7에서 Laravel 배포 및 nginx를 통한 전달

Apr 18, 2018 am 10:30 AM
centos7laravelnginx

이 글은 CentOS7에서 Laravel을 배포하고 nginx로 전달하는 내용을 소개합니다. 이제는 모든 사람과 공유합니다. 도움이 필요한 친구들이 참고할 수 있습니다

이 글은 개인 메모로만 사용됩니다.

환경 실행을 위한 PHP 구축
  • service php-fpm start를 실행하여 php-fpm 서비스를 시작하고 ps aux | grep php-fpm을 실행하여 php-fpm 서비스가 성공적으로 설치되었는지 확인합니다.

    • 두 번째 솔루션을 사용하여 소스를 설치하는 경우 다음 스크립트를 사용하세요.
yum install php72-php-cli.x86_64 php72-php-common.x86_64 php72-php-fpm.x86_64 php72-php-devel.x86_64 php72-php-gd.x86_64 php72-php-intl.x86_64 php72-php-mbstring.x86_64 php72-php-pecl-mcrypt.x86_64 php72-php-mysqlnd.x86_64 php72-php-opcache.x86_64 php72-php-pdo.x86_64 php72-php-pear.noarch php72-php-xml.x86_64 -y
  • php 소스가 있습니다
  • 일부 사용자가 이 두 파일에 액세스하지 못할 수도 있습니다. 이 경우 다음 방법(7.2)을 대신 사용할 수 있으므로 다음 튜토리얼 중 일부는
  • yum install epel-release -y
    rpm -Uvh http://rpms.famillecollet.com/enterprise/remi-release-7.rpm
  • php 소스가 상대적으로 오래되었다는 점에 유의하세요.

  • php:
  • 결정 PHP의 yum 소스가 있는지 여부:
  • yum search php



  • 시스템 자체에는 yum php 소스가 포함되어 있는데 버전이 너무 오래되서 아직 5.4 입니다. 최신 소스를 설치하기 위해 새로운 yum 소스를 설치하려고 합니다. .
  • php의 yum 소스를 설치하세요:
  • rpm -Uvh https://mirror.webtatic.com/yum/el7/epel-release.rpm
    rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm
  • 지금 yum 검색 php를 실행하면 더 많은 옵션을 찾을 수 있습니다

  • php 및 일부 관련 플러그인을 설치합니다(php-cli는 다음과 관련이 있습니다). shell, php -common은 공통 기능 관련, php-devel은 컴파일 관련, php-fpm은 서비스 관련, php-gd는 이미지 처리 관련, php-intl은 국제화 관련, php-mbstring은 관련 다중 문자열 처리, php-mcrypt 암호화 관련, php-mysqlnd는 mysql 관련, php-opcache는 성능 가속 관련, php-pdo는 데이터 객체 관련, php-pear는 PHP 애플리케이션 확장 관련, php-xml은 xml과 관련이 있습니다) (여기에 php7.1을 설치하세요) 첫 번째 방법을 사용하는 경우 첫 번째 스크립트를 사용하세요:
  • 냠 설치 php71w-cli.x86_64 php71w-common.x86_64 php71w-fpm.x86_64 php71w-devel.x86_64 php71w-gd.x86_64 php71w-mbstring.x86_64 php71w-mcrypt.x86_6 4 php71w-mysqlnd.x86_ 64 php71w-opcache .x86_64 php71w- pdo.x86_64 php71w-pear.noarch php71w-xml.x86_64 -y

  • php –version을 실행하여 php가 설치 및 구성되었는지 확인하세요. 스크린샷과 유사한 버전 정보가 나타나면 PHP 구성 설치가 완료된 것입니다.

  • php 버전

  • php-fpm 테스트
  • 주변 서비스 설치(nginx/composer/ git/mysql/redis)

  • 이러한 서비스는 기본적으로 기본 yum 소스에 설치 가능합니다. 작곡가가 없으면 cd /tmp
      curl –sShttps://getcomposer.org/installer를 실행하면 됩니다. | php
    • mv 작곡가.phar/usr/ local/bin/composer는 작곡가 설치를 완료할 수 있습니다



    • 서비스 코드 준비

  • PHP 서비스의 배포 및 업데이트를 용이하게 하기 위해 저자는 다음을 사용합니다. git을 사용하여 프로젝트를 다운로드하고 업데이트하세요.
    • 서비스를 배포할 폴더를 입력하고 git clone git address를 실행하세요(예: git clone root@www.temp.com:/git/php/markingphp)
    • php 코드 다운로드

    • 이때 프로젝트 권한은 루트입니다. 이런 식으로 php-fpm을 실행하면 PHP 프로젝트의 정적 리소스 nginx의 단순성과 관리를 위해 권한이 충분하지 않을 수 있습니다. 작성자는 프로젝트 권한을 nginx로 변경하고 php-fpm의 운영자 권한을 nginx로 변경했습니다.
    • php 및 프로젝트 관련 구성

  • nginx 오류 로그

    • 서비스 전달 실패

    • mysql 초기화 중
    • chown nginx:nginx -Rf 폴더 이름 실행( 예: chown nginx:nginx -Rf markerphp)
    • rpm -ql php17w-fpm.x86_64를 실행하여 php-fpm 설치 주소를 가져옵니다

    • php-fpm 설치 주소 가져오기
    • 다음을 시도해 보세요. Know/etc/php-fpm.d/www.conf는 구성 파일
    • php-fpm 구성 파일
    • 입니다.

    • 更改user = apache与 group = pache 为 user = nginx group = nginx 如果有必要可以更改127.0.0.1:9000为想要的端口

    • 为了服务器信息安全及项目大小控制,git项目未上传项目配置与项目引用库,所以需要重新新建项目配置文件并配置

    • 项目结构

    • 配置文件

    • 运行 composer update -vvv 下载库

    • 下载库失败

    • 如果库下载失败,可能是库被墙的原因,更改composer.json添加国内源再运行即可。


    “repositories”: { 
       “packagist”: { 
          “type”: “composer”, 
          “url”: “https://packagist.phpcomposer.com” 
       } 
    }
    • 国内源

    • 再运行 php artisan serve 可测试当前项目库是否完整,出现如下说明项目库下载完成。

    • 尝试启动项目测试

    • 初始化项目mysql表(php artisan migrate:refresh)

    • 配置nginx以转发80端口服务到php-fpm的服务,
         

      server { 
          listen 80; 
          location / { 
             root /php/markingphp/public/; 
             index index.php index.html index.jsp; 
          } 
          location ~ .php{  
               root html;  
               fastcgi_pass 127.0.0.1:9000;  
               fastcgi_index index.php;  
               fastcgi_param SCRIPT_FILENAME
    document_root$fastcgi_script_name; 
              include fastcgi_params; 
         } 
       }
    • 运行curl localhost 判断服务是否正常转发。

    • 运行 vim /var/log/nginx/error.log 检查nginx的log会发现log提示权限不足,可是我们已经把文件权限付给了nginx。

    • 最终得知是因为selinux的缘故,此时只需运行 setenforce 0 即可关闭selinux(临时),再修改配置文件 /etc/selinux/config,将SELINUX=enforcing改为SELINUX=disabled,这样下次重启selinux依然是关闭的。再运行curl localhost 会发现服务已经可以正常服务了。


    위 내용은 CentOS7에서 Laravel 배포 및 nginx를 통한 전달의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

    성명
    본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
    PHP 코드 최적화 : 메모리 사용 및 실행 시간을 줄입니다PHP 코드 최적화 : 메모리 사용 및 실행 시간을 줄입니다May 10, 2025 am 12:04 AM

    tooptimizephpcodeforregedmemoryUsageancutionEcution-time, followthesesteps : 1) usereferencesinsteAdArgedArgedArgeDatureStoredUcememoryConsumption.2) leveragephp'sbuilt-infunctionslikearray_mapforfosterexecution

    PHP 이메일 : 단계별 보내기 안내서PHP 이메일 : 단계별 보내기 안내서May 09, 2025 am 12:14 AM

    phpisusedforendingemailsduetoitsintegrationwithsermailservices 및 externalsmtpproviders, 1) setupyourphpenvironmentwitheberverandphp, temailfuncpp를 보장합니다

    PHP를 통해 이메일을 보내는 방법 : 예 및 코드PHP를 통해 이메일을 보내는 방법 : 예 및 코드May 09, 2025 am 12:13 AM

    이메일을 보내는 가장 좋은 방법은 Phpmailer 라이브러리를 사용하는 것입니다. 1) Mail () 함수를 사용하는 것은 간단하지만 신뢰할 수 없으므로 이메일이 스팸으로 입력되거나 배송 할 수 없습니다. 2) Phpmailer는 더 나은 제어 및 신뢰성을 제공하며 HTML 메일, 첨부 파일 및 SMTP 인증을 지원합니다. 3) SMTP 설정이 올바르게 구성되었는지 확인하고 (예 : STARTTLS 또는 SSL/TLS) 암호화가 보안을 향상시키는 데 사용됩니다. 4) 많은 양의 이메일의 경우 메일 대기열 시스템을 사용하여 성능을 최적화하십시오.

    고급 PHP 이메일 : 사용자 정의 헤더 및 기능고급 PHP 이메일 : 사용자 정의 헤더 및 기능May 09, 2025 am 12:13 AM

    CustomHeadersAndAdAncedFeaturesInpHeAmailEnhanceFectionality.1) 1) CustomHeadersAdDmetAdataFortrackingand Categorization.2) htmlemailsallowformattingandinteractivity.3) attachmentSentUsingLibraries likePhpMailer.4) smtpauthenticimprpr

    PHP & SMTP와 함께 이메일 보내기 안내서PHP & SMTP와 함께 이메일 보내기 안내서May 09, 2025 am 12:06 AM

    PHP 및 SMTP를 사용하여 메일을 보내는 것은 PHPMailer 라이브러리를 통해 달성 할 수 있습니다. 1) phpmailer 설치 및 구성, 2) SMTP 서버 세부 정보 설정, 3) 이메일 컨텐츠 정의, 4) 이메일 보내기 및 손잡이 오류. 이 방법을 사용하여 이메일의 신뢰성과 보안을 보장하십시오.

    PHP를 사용하여 이메일을 보내는 가장 좋은 방법은 무엇입니까?PHP를 사용하여 이메일을 보내는 가장 좋은 방법은 무엇입니까?May 08, 2025 am 12:21 AM

    TheBesteptroachForendingeMailsInphPisusingThephPmailerlibraryDuetoitsReliability, featurerichness 및 reaseofuse.phpmailersupportssmtp, proversDetailErrorHandling, supportSattachments, andenhancessecurity.foroptimalu

    PHP의 종속성 주입을위한 모범 사례PHP의 종속성 주입을위한 모범 사례May 08, 2025 am 12:21 AM

    의존성 주입 (DI)을 사용하는 이유는 코드의 느슨한 커플 링, 테스트 가능성 및 유지 관리 가능성을 촉진하기 때문입니다. 1) 생성자를 사용하여 종속성을 주입하고, 2) 서비스 로케이터 사용을 피하고, 3) 종속성 주입 컨테이너를 사용하여 종속성을 관리하고, 4) 주입 종속성을 통한 테스트 가능성을 향상 시키십시오.

    PHP 성능 튜닝 팁 및 요령PHP 성능 튜닝 팁 및 요령May 08, 2025 am 12:20 AM

    phpperformancetuningiscrucialbecauseitenhancesspeedandefficies, thearevitalforwebapplications.1) cachingsdatabaseloadandimprovesResponsetimes.2) 최적화 된 databasequerieseiesecessarycolumnsingpeedsupedsupeveval.

    See all articles

    핫 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 얼굴 교환 도구를 사용하여 모든 비디오의 얼굴을 쉽게 바꾸세요!

    뜨거운 도구

    SecList

    SecList

    SecLists는 최고의 보안 테스터의 동반자입니다. 보안 평가 시 자주 사용되는 다양한 유형의 목록을 한 곳에 모아 놓은 것입니다. SecLists는 보안 테스터에게 필요할 수 있는 모든 목록을 편리하게 제공하여 보안 테스트를 더욱 효율적이고 생산적으로 만드는 데 도움이 됩니다. 목록 유형에는 사용자 이름, 비밀번호, URL, 퍼징 페이로드, 민감한 데이터 패턴, 웹 셸 등이 포함됩니다. 테스터는 이 저장소를 새로운 테스트 시스템으로 간단히 가져올 수 있으며 필요한 모든 유형의 목록에 액세스할 수 있습니다.

    PhpStorm 맥 버전

    PhpStorm 맥 버전

    최신(2018.2.1) 전문 PHP 통합 개발 도구

    SublimeText3 Linux 새 버전

    SublimeText3 Linux 새 버전

    SublimeText3 Linux 최신 버전

    mPDF

    mPDF

    mPDF는 UTF-8로 인코딩된 HTML에서 PDF 파일을 생성할 수 있는 PHP 라이브러리입니다. 원저자인 Ian Back은 자신의 웹 사이트에서 "즉시" PDF 파일을 출력하고 다양한 언어를 처리하기 위해 mPDF를 작성했습니다. HTML2FPDF와 같은 원본 스크립트보다 유니코드 글꼴을 사용할 때 속도가 느리고 더 큰 파일을 생성하지만 CSS 스타일 등을 지원하고 많은 개선 사항이 있습니다. RTL(아랍어, 히브리어), CJK(중국어, 일본어, 한국어)를 포함한 거의 모든 언어를 지원합니다. 중첩된 블록 수준 요소(예: P, DIV)를 지원합니다.

    SublimeText3 Mac 버전

    SublimeText3 Mac 버전

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