Bài viết này phác thảo cách tiếp cận từng bước để lưu trữ Ứng dụng Laravel trên Heroku. Nó cũng giải thích cách làm cho ứng dụng của bạn trên Heroku hoạt động với cơ sở dữ liệu MySQL vì thông thường, Heroku không cung cấp cho MySQL. Tôi thấy cần phải viết về chủ đề này sau khi trải qua hàng loạt thử thách để lưu trữ ứng dụng thử nghiệm Laravel của mình với cơ sở dữ liệu MySQL trên Heroku
Yêu cầu
Trong bài viết này, tôi giả định rằng bạn đã có Ứng dụng Laravel sẵn sàng để triển khai. Các công cụ sau đây sẽ được yêu cầu
- Dấu nhắc lệnh cho windows hoặc tương đương với người dùng Hệ điều hành khác
- Tài khoản Heroku. Nếu bạn không có một cú nhấp chuột vào đây để tạo tài khoản Tài khoản Heroku. Nếu bạn không có một cú nhấp chuột vào đây để tạo tài khoản
- Giao diện dòng lệnh Heroku [CLI], Heroku có CLI riêng để tương tác với nó. Bạn có thể tải về một ở đây
giới thiệu
Heroku là một trong những nền tảng như một dịch vụ cung cấp cho các nhà phát triển dịch vụ lưu trữ miễn phí. Điều này cho phép nhà phát triển kiểm tra hiệu suất của ứng dụng của họ trước khi chuyển nó sang môi trường sản xuất cuối cùng
Một trong những nhược điểm của nền tảng này là nó không cung cấp Máy chủ MySQL theo mặc định nhưng tất nhiên, vẫn có cách giải quyết vấn đề này vì có những nền tảng khác cũng cung cấp máy chủ Mysql miễn phí như db4free [sẽ được sử dụng trong bài viết này] hoặc
Hãy làm theo khi tôi giải thích cách bạn có thể lưu trữ ứng dụng Laravel của mình trên Heroku và sử dụng dịch vụ Máy chủ MySQL từ các nền tảng khác
Bước 1
Mở dấu nhắc lệnh. Điều hướng đến thư mục chứa dự án Laravel của bạn. [Lưu ý git bash không hỗ trợ Heroku CLI]. Đăng nhập vào tài khoản Heroku của bạn bằng cách chạy;
heroku login
Bước 2 Chạy các lệnh sau
git init //to initialize a new repo
git add --all
git commit -m "my first commit"
Bước 3
Tạo một hồ sơ. Heroku khởi chạy một máy chủ Apache với PHP để phục vụ ứng dụng từ thư mục gốc của dự án, trong trường hợp của chúng tôi là thư mục chung/. Một Procfile được yêu cầu để cấu hình nó
Tạo một tệp ở thư mục gốc của dự án của bạn và đặt tên là Procfile. Lưu ý không cần phần mở rộng và chữ P phải viết hoa. Sao chép chuỗi bên dưới và dán vào Procfile bạn đã tạo và lưu nó
web: vendor/bin/heroku-php-apache2 public/
Procfile sẽ trông giống như ảnh chụp màn hình bên dưới
Ngoài ra, bạn có thể chạy lệnh bên dưới để tạo Procfile
echo "web: vendor/bin/heroku-php-apache2 public/" > Procfile
Sau đó chạy,
git add Procfile
git commit -m "Heroku Procfile"
Tiếp theo là tạo ứng dụng Heroku mới
Bước 4 Để tạo ứng dụng heroku của bạn chạy;
heroku create
Lưu ý
8 ở trên đóng vai trò là tên miền của bạn. Nếu bạn không thêm nó, Heroku sẽ tạo tên ứng dụng cho bạngit init //to initialize a new repo git add --all git commit -m "my first commit"
Tiếp theo là chỉ định ngôn ngữ của ứng dụng là PHP
Bước 5 Để tạo một gói xây dựng sẽ chỉ định PHP làm ngôn ngữ chạy ứng dụng;
heroku buildpacks:set heroku/php
Tiếp theo là tạo khóa ứng dụng cho ứng dụng Laravel trên môi trường Heroku
Bước 6 Chạy
git init //to initialize a new repo
git add --all
git commit -m "my first commit"
9Sao chép khóa đã tạo và chạy lệnh bên dưới, đặt giá trị APP_KEY cho khóa bạn đã sao chép
heroku config:set APP_KEY=
Chúng ta cần đặt nhật ký lỗi thành nhật ký lỗi Heroku
Để làm điều đó, hãy chuyển đến
web: vendor/bin/heroku-php-apache2 public/
0 và đặt web: vendor/bin/heroku-php-apache2 public/
1Với điều này, bạn có thể xem nhật ký lỗi ứng dụng trên bảng điều khiển Heroku của mình. Lưu và git add và cam kết
Đã đến lúc lưu trữ ứng dụng. Lấy một tách cà phê ☕️, nhấp một ngụm và chuyển sang bước tiếp theo
Bước 6
Để lưu trữ ứng dụng lên heroku, hãy chạy
git push heroku master --app
Ghi chú. phần là
2 chỉ cần thiết nếu bạn có nhiều ứng dụng được lưu trữ trên Herokuweb: vendor/bin/heroku-php-apache2 public/
Để khởi chạy ứng dụng từ dòng lệnh chạy
heroku open --app
Nếu mục tiêu duy nhất của bạn là lưu trữ ứng dụng Laravel của mình mà không có cơ sở dữ liệu, thì bạn có thể bỏ qua phần tiếp theo và đi đến phần kết luận
Phần 2. Tích hợp cơ sở dữ liệu Mysql vào ứng dụng
Mục tiêu tiếp theo của chúng tôi là thêm cơ sở dữ liệu Mysql vào ứng dụng của chúng tôi. Có một số trang web cung cấp máy chủ Mysql miễn phí. Nhưng đối với bài viết này, chúng tôi sẽ sử dụng db4free
Các bước thực hiện như sau
Đăng ký trên db4free. Sau khi đăng ký, bạn sẽ được nhắc qua thư để xác minh email của mình. Sau khi xác minh, bạn sẽ được chuyển hướng đến một trang nơi bạn sẽ thấy dữ liệu sau
git init //to initialize a new repo
git add --all
git commit -m "my first commit"
0Bước 2
Chuyển đến dự án Laravel của bạn và điều hướng đến
web: vendor/bin/heroku-php-apache2 public/
3 và cập nhật nó với các chi tiết cơ sở dữ liệu MySQL db4free mà bạn đã tạo trước đó như minh họa bên dướigit init //to initialize a new repo
git add --all
git commit -m "my first commit"
1Lưu nó. git add , cam kết và đẩy tới Heroku
git init //to initialize a new repo
git add --all
git commit -m "my first commit"
2Bước 4
Bạn cần sử dụng bash Heroku để chạy các lần di chuyển của mình. Chạy,
git init //to initialize a new repo
git add --all
git commit -m "my first commit"
3Tiếp theo là chạy di chuyển của bạn, đảm bảo bạn hiện đang chạy các lệnh tiếp theo trên Heroku bash
git init //to initialize a new repo
git add --all
git commit -m "my first commit"
4Tại thời điểm này, cơ sở dữ liệu của bạn được thiết lập. Nếu bạn muốn tạo cơ sở dữ liệu thì bạn có thể tiến hành các bước tiếp theo như sau
Bước 5
git init //to initialize a new repo
git add --all
git commit -m "my first commit"
5Nếu bạn gặp lỗi tương tự như ảnh chụp màn hình hiển thị bên dưới, đừng hoảng sợ, bạn đã được bảo hiểm. 😌
Để khắc phục điều này, hãy làm theo các bước dưới đây
- Chuyển đến dự án laravel của bạn, điều hướng đến nhà soạn nhạc. json
- Thay thế "fzaninotto/faker" của "require-dev" bằng "require"
- Thoát heroku bash bằng cách chạy exit
- Git thêm và cam kết các thay đổi cho dự án của bạn
git init //to initialize a new repo
git add --all
git commit -m "my first commit"
6- Quay trở lại Heroku bash,
- Runheroku chạy bash
- Chạy cài đặt nhà soạn nhạc
- Sau khi trình soạn thảo hoàn tất cài đặt các phụ thuộc cần thiết, hãy tiến hành di chuyển và khởi tạo cơ sở dữ liệu của bạn bằng cách chạy các lệnh bên dưới
git init //to initialize a new repo
git add --all
git commit -m "my first commit"
7bùng nổ. mọi thứ bây giờ hoạt động tốt. 👯♂️
Phần kết luận
Bây giờ bạn đã học cách lưu trữ ứng dụng Laravel tuyệt vời của mình trên Heroku. Bạn cũng đã học cách kết hợp máy chủ MySQL để cho phép ứng dụng của bạn hoạt động với cơ sở dữ liệu MySQL. Nếu bạn muốn tìm hiểu thêm về Heroku, bạn có thể truy cập Heroku Docs. Nếu bạn cũng muốn tìm hiểu về tự động triển khai cho Heroku từ Git, hãy nhấp vào
Cảm ơn đã dành thời gian đọc, tôi hy vọng bài viết đã giúp ích cho bạn
Vui lòng liên hệ nếu bạn có bất kỳ câu hỏi hoặc đóng góp nào để giúp bài viết này tốt hơn cho cộng đồng