LNMP 원클릭 팩 Laravel 프레임에 대한 주의사항
5442 단어 Linux 운영 문서
CentOS7.3
LNMP Nginx 1.16.1 PHP 7.3 Mysql 8.0
/home/wwwroot/default/newjob/public
Laravel
첫구덩이
404
/usr/local/nginx/conf/nginx.conf
server{}
location / {
try_files $uri $uri/ /index.php?$query_string;
}
/usr/local/nginx/conf/enable-php.conf
try_files $uri =404;
두번째 구덩이
file not found.
nginx
/usr/local/nginx/conf/nginx.conf
access_log /home/wwwlogs/access.log;
error_log /home/wwwlogs/error.log; #
:
2019/09/05 10:23:10 [error] 3214#0: *1 FastCGI sent in stderr: "Primary script unknown" while reading response header from upstream, client: 172.18.71.37, server: _, request: "GET /favicon.ico HTTP/1.1", upstream: "fastcgi://unix:/tmp/php-cgi.sock:", host: "172.18.71.220"
fastcgi_param SCRIPT_FILENAME /scripts$fastcgi_script_name;
:
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
그러나 저자가 원키 패키지로 배치한 기본값은 이미 위의 설정입니다. 나중에 $document루트는 설정 파일의 사이트 루트 디렉터리 설정을 가리킨다. 루트 디렉터리와 관련된 저자 루트 디렉터리 설정은
/home/wwwroot/default
일 것으로 추정되지만 프로젝트는default 아래의 newjob/public로 IP/newjob/public로 접근하여 오류를 보고했다. 따라서nginx의 설정 파일을 수정하여 루트 디렉터리를 /home/wwwroot/default/newjob/public
로 조정한 후 다시 방문하는 것이 정상적임을 발견했다.세 번째 구덩이
이상의 문제를 처리한 후에 다시 방문한 결과 비교적 익숙한 보고가 틀렸다. 정보는 다음과 같다.
Warning: require(): open_basedir restriction in effect. File(/home/wwwroot/default/newjob/vendor/autoload.php) is not within the allowed path(s): (/home/wwwroot/default/newjob/public/:/tmp/:/proc/) in /home/wwwroot/default/newjob/public/index.php on line 24
.user.ini
$ sudo chattr -i / /.user.ini
$ sudo rm -f / /.user.ini
/usr/local/nginx/conf/fastcgi.conf
fastcgi_param PHP_ADMIN_VALUE "open_basedir=$document_root/:/tmp/:/proc/"; nginx