centos7 + Vagrant + nginx로 Laravel이 라우팅되는 페이지 표시
개인적으로는 apache라고 간단하게 서버 구축할 수 있지만, nginx라고 할 수 없다고 하는 상태였기 때문에
nginx의 지식을 넓히고 싶었습니다.
환경 구축은 Vagrant에서했습니다.
$vagrant init centos/7
Vagrantfile 편집
Vagrantfile
# config.vm.network "private_network", ip: "192.168.33.10"
config.vm.network "private_network", ip: "192.168.33.11"
Vagrant 시작
$vagrant up
$vagarnt ssh
패키지 업데이트
$sudo yum -y update
epel 및 remi 설치
$sudo yum -y install epel-release
$sudo rpm -Uvh http://rpms.famillecollet.com/enterprise/remi-release-7.rpm
php 설치
$sudo yum -y install php71 php71-php-fpm php71-php-mysqlnd php71-php-opcache php71-php-xml php71-php-xmlrpc php71-php-gd php71-php-mbstring php71-php-json
심볼릭 링 설정
$sudo ln -s /usr/bin/php71 /usr/bin/php
php 버전 확인
$php -v
PHP 7.1.33 (cli) (built: Oct 23 2019 07:59:24) ( NTS )
Copyright (c) 1997-2018 The PHP Group
Zend Engine v3.1.0, Copyright (c) 1998-2018 Zend Technologies
with Zend OPcache v7.1.33, Copyright (c) 1999-2018, by Zend Technologies
composer 설치
$cd /vagrant
$php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"
$php composer-setup.php
$php -r "unlink('composer-setup.php');"
$sudo mv composer.phar /usr/local/bin/composer
$composer -v
______
/ ____/___ ____ ___ ____ ____ ________ _____
/ / / __ \/ __ `__ \/ __ \/ __ \/ ___/ _ \/ ___/
/ /___/ /_/ / / / / / / /_/ / /_/ (__ ) __/ /
\____/\____/_/ /_/ /_/ .___/\____/____/\___/_/
/_/
Composer version 1.9.1 2019-11-01 17:20:17
zip unzip git 설치
$sudo yum -y install zip unzip git
nginx 설치
$sudo yum -y install nginx
자동 시작 설정
$sudo systemctl enable nginx
시작
$sudo systemctl start nginx
nginx 시작 확인
nginx 시작하는 방법
nginx 구성 파일 업데이트
$sudo vi /etc/nginx/nginx.conf
/etc/nginx/nginx.conf
http {
include /etc/nginx/default.d/*.conf;
location / {
+ index index.php index.html;
+ }
+
+ location ~ \.php$ {
+ root /usr/share/nginx/html;
+ fastcgi_pass 127.0.0.1:9000;
+ fastcgi_index index.php;
+ fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
+ include fastcgi_params;
}
nginx 재부팅
$sudo systemctl restart nginx
php-fpm 자동 시작
$sudo systemctl enable php71-php-fpm
시작
$sudo systemctl start php71-php-fpm
phpinfo 파일 만들기
$sudo sh -c "echo '<?php phpinfo();' > /usr/share/nginx/html/phpinfo.php"
phpinfo 확인
htp // 192. 168. 33. 11 / ph Pinfu. php
$cd /usr/share/nginx/html
$sudo chmod 777 .
$composer create-project --prefer-dist laravel/laravel blog "5.5.*"
그대로 열면 오류가 발생하기 때문에 다음 권한을 부여합니다.
$cd blog
$sudo chmod 777 -R storage
storage에 SELinux 설정을 한다.
httpd_sys_rw_content_t 타입을 설정하는 것으로, 일시적으로 허가.
$sudo chcon -Rv --type=httpd_sys_rw_content_t storage
초기 화면이 표시되는지 확인
htp //192.168.33.11/b㎉g/푸bぃc
URL 및 라우팅 설정
nginx.conf 설정 업데이트
$sudo vi /etc/nginx/nginx.conf
/etc/nginx/nginx.conf
http {
include /etc/nginx/default.d/*.conf;
location / {
+ try_files $uri $uri/ /index.php;
index index.php index.html;
}
location ~ \.php$ {
- root /usr/share/nginx/html;
+ root /usr/share/nginx/html/blog/public;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
nginx 재부팅
$sudo systemctl restart nginx
라우팅 설정 추가
routes/web.php
//下記を追加する
Route::get('foo', function () {
return 'bar';
});
foo 페이지 확인
h tp://192.168.33.11/후오오
Unix 도메인 소켓에서 연결에서 nginx를 시작하는 방법
nginx 설정 업데이트
$sudo vi /etc/nginx/nginx.conf
/etc/nginx/nginx.conf
location ~ \.php$ {
root /usr/share/nginx/html/blog/public;
- fastcgi_pass 127.0.0.1:9000;
+ #fastcgi_pass 127.0.0.1:9000;
+ fastcgi_pass unix:/var/run/php71-fpm.sock;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
php-fpm 설정
$sudo vi /etc/opt/remi/php71/php-fpm.d/www.conf
/etc/opt/remi/php71/php-fpm.d/www.conf
-user = apache
+user = nginx
-group = apache
+group = nginx
-listen = 127.0.0.1:9000
+listen = /var/run/php71-fpm.sock
-;listen.owner = nobody
-;listen.group = nobody
-;listen.mode = 0660
+listen.owner = nginx
+listen.group = nginx
+listen.mode = 0660
foo 페이지 확인
h tp://192.168.33.11/후오오
참고문헌
CentOS 7에 PHP 7.1을 yum으로 설치하는 단계
h tps://우우 bぁ보. 미안해. 네 t/전과 s7-php71-인 s타르/
Vagrant에서 CentOS7, nginx, php7.2, MySql 8, Laravel 5.7, TypeScript, react, redux, redux-saga의 환경을 구구하면서 작성해 보았다
htps : // 코 m / 오쿠 무라 사고 / ms / 4b54f12f33d2ba 59d8 a8
Reference
이 문제에 관하여(centos7 + Vagrant + nginx로 Laravel이 라우팅되는 페이지 표시), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/giito/items/06a2ac4df51220873229텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)