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