처음 homestead larabel 개발 설정을 할 때,
내가 띄우고 싶은 프로젝트의 폴더 파일이 아닌 기본 라라벨 파일만 떴었다
그 이유는,
ngnix의 설정 파일만 만들어두고, 그 설정들이 반영되는 바로가기를 만들지 않았기 때문이었다
이를 이해하기 위해서,
먼저, nginx의 사용법과 폴더 구조를 보자
nginx의 사용방법 중에는
sites-available과 sites-enabled로 가상 홈페이지를 관리하는 것이 있다
nginx 폴더 정의
- sites-available/
nginx 설정을 저장하는 곳
여기에 설정을 만든 것은 실제로 nginx 에 반영되지는 않는다
반영하기 위해서는 sites-enabled에 설정파일을 복사 또는 심볼릭 링크(바로가기)를 걸어주어야 한다 - sites-enabled/
sites-availiable에 작성한 설정을 적용하기 위한 폴더
그럼 이제, 설정하는 방법을 보자!
먼저, vagrant/homestead를 실행시켜 ssh 창을 열자
거기서 아래의 코드로 ngnix 폴더에 접근해준다
cd /etc/nginx/
그리고 아래 명령어를 입력해 해당 폴더의 파일 전체를 조회해주자
ll
그럼, 그곳에
sites-available/
sites-enabled/
두 폴더가 존재할 것이다
존재하지 않는다면,
직접 생성해주어야한다...!
두 폴더가 있다고 가정하고!
아래의 명령어로 먼저 sites-available/ 폴더에 접근해주자
cd ./sites-available
해당 폴더내에 nginx 설정파일을 넣어주고,
++ 나의 경우엔 아래의 코드로 이곳에 만들어져있는 기존의 프로젝트를 다른 이름으로 복사해온 후,
sudo cp -ar ./[기존 프로젝트 명] ./[새로 만들 프로젝트 명]
해당 파일로 이동해,
sudo vi [새로 만든 프로젝트 명]
파일 내의 root 경로와 server name을 새로운 프로젝트껄로 바꾼 뒤,
+++ 중요 +++
server name -> 내가 브라우저에서 칠 url ( http를 제외하고 입력해주면 된다ㅏㅏ )
root -> "/home/vagrant/code/프로젝트 명/public";
:wq!
로 저장 후 종료해준다 ++
이제 다시 아래 명령어로 sites-enabled/폴더에 접근해주자
cd ./sites-enabled/
여기서는 아까 sites-available/ 폴더에 적어주었던 설정파일의 경로를 이용해서,
아래의 명령어로 소프트웨어 생성을 해주어야한다
sudo ln -s /etc/nginx/sites-available/[프로젝트 명] ./[바로가기 명]
해주고,
+++ 중요!!
nginx 설정이 변경되었으니 새로고침을 해주어야한다!!!!
sudo systemctl restart nginx
+++
호옥쉬 index.php 에서 error가 난다면,
composer 미설치일 수 있다ㅏㅏ!!
아래 코드로 composer 설치를 해주자ㅏㅏㅏ
composer install
이렇게 해주면,
우리가 설정한 nginx파일이 브라우저에 예쁘게 뜰 것이다!!
+++ 혹시 이렇게 해도 플젝이 안 뜰 경우!
cross-env 파일이 없기 때문일 수 있다ㅏㅏ
아래의 코드를 써서 깔아주자
npm install cross-env
Nginx : ( 엔진엑스라 읽는다 )는 웹 서버 소프트웨어로,
가벼움과 높은 성능을 목표로 한다. 웹 서버, 리버스 프록시 및 메일 프록시 기능을 가진다
출처 :
https://forteleaf.tistory.com/entry/nginx-site-enabled-site-availablemd [부들잎의 이것저것]
https://twpower.github.io/50-make-nginx-virtual-servers
'Framework & Library > Laravel' 카테고리의 다른 글
mix: not found [laravel project] (0) | 2022.08.10 |
---|---|
라라벨 입문 중의 소소한 정리 5. PHP $this 와 self 의 차이점 (0) | 2021.05.25 |
라라벨 입문 중의 소소한 정리 4. isset(), empty() (0) | 2021.05.25 |
라라벨 입문 중의 소소한 정리 3. bootstrapped (0) | 2021.05.21 |
라라벨 입문 중의 소소한 정리 2. Model, controller (0) | 2021.05.21 |