본문 바로가기

Framework & Library/Laravel

Laravel 개발환경 구축 2. ngnix 설정 파일 바로가기 생성하기

 

 처음 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 [부들잎의 이것저것]

 

nginx | site-enabled, site-available.md

nginx 에서 사용방법 중에 sites-available 과 sites-enabled 로 가상 홈페이지를 관리하는 것이 있다. 일반적으로 ln -s 심볼릭을 사용해서 설정을 공유한다. 그런데 이게 미묘한 차이로 날려먹는 경우가

forteleaf.tistory.com

 

https://twpower.github.io/50-make-nginx-virtual-servers

 

[Nginx] Nginx에서 가상서버 환경 설정하기

Practice makes perfect!

twpower.github.io