1. 프로젝트 디렉토리 구조

xyz
├── app
│   ├── Console
│   ├── Exceptions
│   ├── Http
│   │   ├── Controllers
│   │   └── Middleware
│   ├── Models
│   └── Providers
├── bootstrap
├── config
├── database
│   ├── factories
│   ├── migrations
│   └── seeders
├── public
├── resources
│   ├── css
│   ├── js
│   ├── lang
│   └── views
├── routes
├── storage
│   ├── app
│   │   └── public
│   ├── framework
│   │   ├── cache
│   │   ├── sessions
│   │   ├── testing
│   │   └── views
│   └── logs
├── tests
│   ├── Feature
│   └── Unit
└── vendor

 

2. xyz/resources/views/index.blade.php 을 만든다.

<html>
<head>
<title>My First Laravel Page</title>
</head>
<body>
<h1>My First Laravel Page</h1>
</body>
</html>

 

3. app/Http/Controllers/Main.php 파일을 아래와 같이 작성한다.

<?php
 
namespace App\Http\Controllers;
 
use App\Http\Controllers\Controller;
 
class Main extends Controller
{
    public function index()
    {
        return view('index');
    }
}

 

4. xyz/routes/web.php 를 아래와 같이 수정한다.

...
 
use App\Http\Controllers\Main;
 
...
 
/*
Route::get('/', function () {
    return view('welcome');
});
*/
 
Route::get('/', [Main::class, 'index']);
 
...

 

5. 웹브라우저에서 http://xyz.test.com 으로 접속해서 잘 나오는지 확인해봅니다.

 

먼저, NginX 와 PHP-FPM을 설치/구성했다고 가정하겠다. 구성이 안되어 있다면, 아래 링크를 참조해서 설치하면 되겠다. 그리고, OS계정은 기본계정인 ubuntu 를 사용하는 것으로 가정한다. 사용할 프로젝트 디렉토리는 ~/project/xyz 로 될 것이다.

Ubuntu(20.04) + nginx + php-fpm(FastCGI)

 

 

1. composer 설치

$ curl -sS https://getcomposer.org/installer | sudo php -- --install-dir=/usr/local/bin/
$ sudo ln -s /usr/local/bin/composer.phar /usr/local/bin/composer

 

2. 라라벨 인스톨러 설치

$ composer global require laravel/installer
$ vi ~/.profile
PATH="$HOME/.config/composer/vendor/bin:$PATH"
 
$ source ~/.profile

 

3. 라라벨 인스톨러로 프로젝트 생성

$ cd ~
$ mkdir project
$ cd project
$ laravel new xyz

 

4. 다른 방법 : composer create-project 로 프로젝성 생성

$ cd ~
$ mkdir project
$ cd project
$ composer create-project laravel/laravel xyz

(참고) 특정 버전의 Laravel을 지정하는 경우

$ composer create-project laravel/laravel=8.5.24 xyz
$ composer create-project laravel/laravel=v8.5.24 xyz
$ composer create-project laravel/laravel="8.5.24" xyz
$ composer create-project laravel/laravel="v8.5.24" xyz
$ composer create-project laravel/laravel xyz --prefer-dist 8.5.24
$ composer create-project laravel/laravel xyz --prefer-dist v8.5.24
$ composer create-project laravel/laravel xyz --prefer-dist "8.5.24"
$ composer create-project laravel/laravel xyz --prefer-dist "v8.5.24"

 

5. 권한 설정

$ cd xyz
$ sudo chown -R www-data:www-data storage bootstrap/cache
$ sudo chmod -R 777 storage/logs
$ sudo apt-get install acl
$ sudo setfacl -R -m u:ubuntu:rx storage/logs

 

6. nginx 파일 작성

$ cd /etc/nginx/sites-available
$ sudo vi xyz
server {
    listen *:80;
    server_name xyz.test.com; # 자신이 원하는 도메인주소 입력
    root /home/ubuntu/project/xyz/public/;
    index index.php;

    location ~ \.php$ {

        # index index.php;
        fastcgi_pass  127.0.0.1:9000;
        fastcgi_index index.php;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        fastcgi_param PATH_INFO $fastcgi_script_name;
        include /etc/nginx/fastcgi_params;
    }
}
$ cd ../sites-enabled
$ sudo ln -s /etc/nginx/sites-available/xyz xyz

 

7. nginx 재시작

$ sudo /etc/init.d/nginx restart

 

8. PC의 hosts 파일에 xyz.test.com 을 설정한 후에, 브라우저에서 http://xyz.test.com 을 입력하면 출력화면을 볼 수 있을 것이다. 그러면, 설치완료~!

 

+ Recent posts