Docker 환경의 Laravel 앱을 Heroku 배포
시작할 때
Docker 환경을 만드는 방법과 Laravel 앱을 만드는 방법은 몬쇼 씨의 블로그를 참고로하고 있습니다.
- htps : // 시마bぉg. 네 t/도 c케 rぁ라ゔぇl-긴긴 x-mysql/
- htps : // 시마bぉg. 네 t/아라ゔぇl-게이반/
Heroku에 등록해, 신용 카드 등록도 끝나고 있는 것을 전제로 진행해 갑니다.
이번 디렉토리 구조입니다.
larapic
├── README.md
├── infra
│ ├── mysql
│ ├── nginx
│ └── php
├── docker-compose.yml
└── laravel
├── app
├── bootstrap
├── config
├── ・・・
Heroku에 앱 만들기
브라우저에서 Heroku를 열고 로그인합니다.
New 버튼에서
앱 이름에 애플리케이션 이름 입력
(앱 이름) is available
되도록 명명합니다.
Github와 협력
Procfile 만들기
larapic
├── README.md
├── infra
│ ├── mysql
│ ├── nginx
│ └── php
├── docker-compose.yml
└── laravel
├── app
├── bootstrap
├── config
├── ・・・
├── Procfile(新しく作成)
├── ・・・
↑처럼 Procfile을 만듭니다.
Procfileweb: vendor/bin/heroku-php-apache2 public/
이와 같이 Procfile내에 기술하는 것으로 Heroku 기동시에 apache 서버가 기동하는 것 같습니다.
로컬에서는 nginx를 사용하고 있었기 때문에 nginx로 하고 싶었습니다만, 여러가지 귀찮을 것 같았기 때문에 apache로 했습니다(←apache에 실례).
DB는 MySQL을 이용
로컬에서 MySQL을 사용하고 있었기 때문에 프로덕션에서도 MySQL을 사용하고 싶습니다 (nginx를 포기했기 때문에 이번에는 노력합니다).
Heroku에서 MySQL을 사용하고 싶다면 ClearDB를 사용하십시오 (신용 카드 등록 필요).
terminal% heroku addons:create cleardb:ignite
heroku에서 MySQL 5.7 이상을 사용하는 경우 JawsDB를 사용합니다.
terminal% heroku addons:create jawsdb:kitefin
자신의 경우 ClearDB에서 진행한 결과
Mysql2::Error: Specified key was too long; max key length is 767 bytes
이러한 오류가 발생했습니다.
해결 방법은이 기사를 참조 → htps : // 코 m / 레이야 018 / ms / 바 8 세 아 732 에다 c07 에 491
결론으로서는 JawsDB를 사용하는 것으로 해결합니다.
Buildpacks 설정
이렇게 브라우저에서 입력해도 괜찮습니다.
터미널로부터라면↓
terminal% heroku buildpacks:set https://github.com/timanovsky/subdir-heroku-buildpack
% heroku buildpacks:add heroku/node.js
% heroku buildpacks:add heroku/php
환경 변수 설정
Laravel의 경우 APP_KEY 등록이 필요합니다.
terminal% heroku run "php artisan key:generate --show"
# (出力)base64:◯△□×・・・
% heroku config:set APP_KEY=base64:◯△□×・・・
DB 설정도 환경 변수로 설정합니다.
terminal% heroku config:get CLEARDB_URL(もしくはJAWSDB_URL)
# (出力)mysql://◯◯◯◯:△△△△@□□□□/××××?reconnect=true
% heroku config:set DB_CONNECTION=mysql
% heroku config:set DB_USERNAME=◯◯◯◯
% heroku config:set DB_PASSWORD=△△△△
% heroku config:set DB_HOST=□□□□
% heroku config:set DB_DATABASE=××××
% heroku config:set DB_PORT=3306
배포하려는 폴더(이번에는 laravel)를 지정하여 환경 변수로 설정합니다.
larapic
├── README.md
├── infra
│ ├── mysql
│ ├── nginx
│ └── php
├── docker-compose.yml
└── laravel ←ここ
├── app
├── bootstrap
├── config
├── ・・・
terminal% heroku config:set PROJECT_PATH=laravel/
마이그레이션
Heroku에 테이블을 만듭니다.
terminal% heroku run php artisan migrate
배포
terminal% git push heroku main
이제 배포할 수 있었습니다.
Reference
이 문제에 관하여(Docker 환경의 Laravel 앱을 Heroku 배포), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/Suguhito65/items/3d476994ae852f0fdae4
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
larapic
├── README.md
├── infra
│ ├── mysql
│ ├── nginx
│ └── php
├── docker-compose.yml
└── laravel
├── app
├── bootstrap
├── config
├── ・・・
브라우저에서 Heroku를 열고 로그인합니다.
New 버튼에서
앱 이름에 애플리케이션 이름 입력
(앱 이름) is available
되도록 명명합니다.
Github와 협력
Procfile 만들기
larapic
├── README.md
├── infra
│ ├── mysql
│ ├── nginx
│ └── php
├── docker-compose.yml
└── laravel
├── app
├── bootstrap
├── config
├── ・・・
├── Procfile(新しく作成)
├── ・・・
↑처럼 Procfile을 만듭니다.
Procfileweb: vendor/bin/heroku-php-apache2 public/
이와 같이 Procfile내에 기술하는 것으로 Heroku 기동시에 apache 서버가 기동하는 것 같습니다.
로컬에서는 nginx를 사용하고 있었기 때문에 nginx로 하고 싶었습니다만, 여러가지 귀찮을 것 같았기 때문에 apache로 했습니다(←apache에 실례).
DB는 MySQL을 이용
로컬에서 MySQL을 사용하고 있었기 때문에 프로덕션에서도 MySQL을 사용하고 싶습니다 (nginx를 포기했기 때문에 이번에는 노력합니다).
Heroku에서 MySQL을 사용하고 싶다면 ClearDB를 사용하십시오 (신용 카드 등록 필요).
terminal% heroku addons:create cleardb:ignite
heroku에서 MySQL 5.7 이상을 사용하는 경우 JawsDB를 사용합니다.
terminal% heroku addons:create jawsdb:kitefin
자신의 경우 ClearDB에서 진행한 결과
Mysql2::Error: Specified key was too long; max key length is 767 bytes
이러한 오류가 발생했습니다.
해결 방법은이 기사를 참조 → htps : // 코 m / 레이야 018 / ms / 바 8 세 아 732 에다 c07 에 491
결론으로서는 JawsDB를 사용하는 것으로 해결합니다.
Buildpacks 설정
이렇게 브라우저에서 입력해도 괜찮습니다.
터미널로부터라면↓
terminal% heroku buildpacks:set https://github.com/timanovsky/subdir-heroku-buildpack
% heroku buildpacks:add heroku/node.js
% heroku buildpacks:add heroku/php
환경 변수 설정
Laravel의 경우 APP_KEY 등록이 필요합니다.
terminal% heroku run "php artisan key:generate --show"
# (出力)base64:◯△□×・・・
% heroku config:set APP_KEY=base64:◯△□×・・・
DB 설정도 환경 변수로 설정합니다.
terminal% heroku config:get CLEARDB_URL(もしくはJAWSDB_URL)
# (出力)mysql://◯◯◯◯:△△△△@□□□□/××××?reconnect=true
% heroku config:set DB_CONNECTION=mysql
% heroku config:set DB_USERNAME=◯◯◯◯
% heroku config:set DB_PASSWORD=△△△△
% heroku config:set DB_HOST=□□□□
% heroku config:set DB_DATABASE=××××
% heroku config:set DB_PORT=3306
배포하려는 폴더(이번에는 laravel)를 지정하여 환경 변수로 설정합니다.
larapic
├── README.md
├── infra
│ ├── mysql
│ ├── nginx
│ └── php
├── docker-compose.yml
└── laravel ←ここ
├── app
├── bootstrap
├── config
├── ・・・
terminal% heroku config:set PROJECT_PATH=laravel/
마이그레이션
Heroku에 테이블을 만듭니다.
terminal% heroku run php artisan migrate
배포
terminal% git push heroku main
이제 배포할 수 있었습니다.
Reference
이 문제에 관하여(Docker 환경의 Laravel 앱을 Heroku 배포), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/Suguhito65/items/3d476994ae852f0fdae4
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
larapic
├── README.md
├── infra
│ ├── mysql
│ ├── nginx
│ └── php
├── docker-compose.yml
└── laravel
├── app
├── bootstrap
├── config
├── ・・・
├── Procfile(新しく作成)
├── ・・・
↑처럼 Procfile을 만듭니다.
Procfile
web: vendor/bin/heroku-php-apache2 public/
이와 같이 Procfile내에 기술하는 것으로 Heroku 기동시에 apache 서버가 기동하는 것 같습니다.
로컬에서는 nginx를 사용하고 있었기 때문에 nginx로 하고 싶었습니다만, 여러가지 귀찮을 것 같았기 때문에 apache로 했습니다(←apache에 실례).
DB는 MySQL을 이용
로컬에서 MySQL을 사용하고 있었기 때문에 프로덕션에서도 MySQL을 사용하고 싶습니다 (nginx를 포기했기 때문에 이번에는 노력합니다).
Heroku에서 MySQL을 사용하고 싶다면 ClearDB를 사용하십시오 (신용 카드 등록 필요).
terminal% heroku addons:create cleardb:ignite
heroku에서 MySQL 5.7 이상을 사용하는 경우 JawsDB를 사용합니다.
terminal% heroku addons:create jawsdb:kitefin
자신의 경우 ClearDB에서 진행한 결과
Mysql2::Error: Specified key was too long; max key length is 767 bytes
이러한 오류가 발생했습니다.
해결 방법은이 기사를 참조 → htps : // 코 m / 레이야 018 / ms / 바 8 세 아 732 에다 c07 에 491
결론으로서는 JawsDB를 사용하는 것으로 해결합니다.
Buildpacks 설정
이렇게 브라우저에서 입력해도 괜찮습니다.
터미널로부터라면↓
terminal% heroku buildpacks:set https://github.com/timanovsky/subdir-heroku-buildpack
% heroku buildpacks:add heroku/node.js
% heroku buildpacks:add heroku/php
환경 변수 설정
Laravel의 경우 APP_KEY 등록이 필요합니다.
terminal% heroku run "php artisan key:generate --show"
# (出力)base64:◯△□×・・・
% heroku config:set APP_KEY=base64:◯△□×・・・
DB 설정도 환경 변수로 설정합니다.
terminal% heroku config:get CLEARDB_URL(もしくはJAWSDB_URL)
# (出力)mysql://◯◯◯◯:△△△△@□□□□/××××?reconnect=true
% heroku config:set DB_CONNECTION=mysql
% heroku config:set DB_USERNAME=◯◯◯◯
% heroku config:set DB_PASSWORD=△△△△
% heroku config:set DB_HOST=□□□□
% heroku config:set DB_DATABASE=××××
% heroku config:set DB_PORT=3306
배포하려는 폴더(이번에는 laravel)를 지정하여 환경 변수로 설정합니다.
larapic
├── README.md
├── infra
│ ├── mysql
│ ├── nginx
│ └── php
├── docker-compose.yml
└── laravel ←ここ
├── app
├── bootstrap
├── config
├── ・・・
terminal% heroku config:set PROJECT_PATH=laravel/
마이그레이션
Heroku에 테이블을 만듭니다.
terminal% heroku run php artisan migrate
배포
terminal% git push heroku main
이제 배포할 수 있었습니다.
Reference
이 문제에 관하여(Docker 환경의 Laravel 앱을 Heroku 배포), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/Suguhito65/items/3d476994ae852f0fdae4
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
% heroku addons:create cleardb:ignite
% heroku addons:create jawsdb:kitefin
Mysql2::Error: Specified key was too long; max key length is 767 bytes
이렇게 브라우저에서 입력해도 괜찮습니다.
터미널로부터라면↓
terminal
% heroku buildpacks:set https://github.com/timanovsky/subdir-heroku-buildpack
% heroku buildpacks:add heroku/node.js
% heroku buildpacks:add heroku/php
환경 변수 설정
Laravel의 경우 APP_KEY 등록이 필요합니다.
terminal% heroku run "php artisan key:generate --show"
# (出力)base64:◯△□×・・・
% heroku config:set APP_KEY=base64:◯△□×・・・
DB 설정도 환경 변수로 설정합니다.
terminal% heroku config:get CLEARDB_URL(もしくはJAWSDB_URL)
# (出力)mysql://◯◯◯◯:△△△△@□□□□/××××?reconnect=true
% heroku config:set DB_CONNECTION=mysql
% heroku config:set DB_USERNAME=◯◯◯◯
% heroku config:set DB_PASSWORD=△△△△
% heroku config:set DB_HOST=□□□□
% heroku config:set DB_DATABASE=××××
% heroku config:set DB_PORT=3306
배포하려는 폴더(이번에는 laravel)를 지정하여 환경 변수로 설정합니다.
larapic
├── README.md
├── infra
│ ├── mysql
│ ├── nginx
│ └── php
├── docker-compose.yml
└── laravel ←ここ
├── app
├── bootstrap
├── config
├── ・・・
terminal% heroku config:set PROJECT_PATH=laravel/
마이그레이션
Heroku에 테이블을 만듭니다.
terminal% heroku run php artisan migrate
배포
terminal% git push heroku main
이제 배포할 수 있었습니다.
Reference
이 문제에 관하여(Docker 환경의 Laravel 앱을 Heroku 배포), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/Suguhito65/items/3d476994ae852f0fdae4
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
% heroku run "php artisan key:generate --show"
# (出力)base64:◯△□×・・・
% heroku config:set APP_KEY=base64:◯△□×・・・
% heroku config:get CLEARDB_URL(もしくはJAWSDB_URL)
# (出力)mysql://◯◯◯◯:△△△△@□□□□/××××?reconnect=true
% heroku config:set DB_CONNECTION=mysql
% heroku config:set DB_USERNAME=◯◯◯◯
% heroku config:set DB_PASSWORD=△△△△
% heroku config:set DB_HOST=□□□□
% heroku config:set DB_DATABASE=××××
% heroku config:set DB_PORT=3306
larapic
├── README.md
├── infra
│ ├── mysql
│ ├── nginx
│ └── php
├── docker-compose.yml
└── laravel ←ここ
├── app
├── bootstrap
├── config
├── ・・・
% heroku config:set PROJECT_PATH=laravel/
Heroku에 테이블을 만듭니다.
terminal
% heroku run php artisan migrate
배포
terminal% git push heroku main
이제 배포할 수 있었습니다.
Reference
이 문제에 관하여(Docker 환경의 Laravel 앱을 Heroku 배포), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/Suguhito65/items/3d476994ae852f0fdae4
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
% git push heroku main
Reference
이 문제에 관하여(Docker 환경의 Laravel 앱을 Heroku 배포), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/Suguhito65/items/3d476994ae852f0fdae4텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)