Học cách dựng môi trường bằng Laradock phần 2: Nginx và MongoDB

3rd Aug 2022
Học cách dựng môi trường bằng Laradock phần 2: Nginx và MongoDB
Table of contents

Hello, mình trở lại với bài hướng dẫn dựng môi trường để phát triển Laravel với Nginx và MongoDB bằng Laradock. Các bạn có thể tham khảo bài viết về dựng môi trường phát triển Laravel với Apache2 và MySql tại đây. Ngoài ra, các bạn cần cài đặt Docker và Docker-compose để có thể sử dụng Laradock. Đây là hướng dẫn cài đặt Docker và Docker-compose nhé.

Mình sẽ tiếp tục sử dụng project laravel_example ở phần hướng dẫn dựng môi trường với Apache2 và MySql. Mình sẽ làm tiếp sau phần “Các biến môi trường cơ bản của Laradock”. 

Dựng môi trường sử dụng Nginx và MongoDB

Đối với ví dụ này mình sẽ sử dụng Nginx và MongoDB.

Đầu tiên là 2 biến môi trường sau:

PHP_FPM_INSTALL_MONGO=true

WORKSPACE_INSTALL_MONGO=true

### NGINX ################################################# NGINX_HOST_HTTP_PORT=80 NGINX_HOST_HTTPS_PORT=443 NGINX_HOST_LOG_PATH=./logs/nginx/ NGINX_SITES_PATH=./nginx/sites/ NGINX_PHP_UPSTREAM_CONTAINER=php-fpm NGINX_PHP_UPSTREAM_PORT=9000 NGINX_SSL_PATH=./nginx/ssl/

### MONGODB ############################################### MONGODB_PORT=27017

Đây là các biến môi trường của Nginx và MongoDB mặc định của Laradock. Mình sẽ không thay đổi gì ở đây cả.

Các bạn chạy lệnh:

docker-compose build nginx mongo
Laravel

Build xong thì dựng chúng nó lên thôi.

docker-compose up -d nginx mongo
Laravel

Việc kế tiếp là để Docker làm việc của nó, còn mình thì ngồi chờ nhé.

Laravel

Hola. Đến đây là đã xong bước dựng Nginx và MongoDB. Các bạn kiểm tra lại bằng lệnh:

docker-compose ps
Laravel

Vì Laradock không hỗ trợ driver MongoDB nên cần cài thêm driver cho MongoDB. Driver mình sử dụng là jenssegers/laravel-mongodb. Sau đây là cách mình cài đặt.

docker-composer exec workspace bash

composer require jenssegers/mongodb
Laravel

Và thêm the service provider trong file config/app.php.

Jenssegers\Mongodb\MongodbServiceProvider::class,

Thêm config ‘mongodb’ vào file config/database.php

'mongodb' => [
    'driver'   => 'mongodb',
    'host'     => env('DB_HOST', 'localhost'),
    'port'     => env('DB_PORT', 27017),
    'database' => env('DB_DATABASE'),
    'username' => env('DB_USERNAME'),
    'password' => env('DB_PASSWORD'),
    'options'  => [
        'database' => 'admin' // sets the authentication database required by mongo 3
    ],
]

Thực hiện kết nối project laravel_example với MongoDB vừa dựng bằng file .env:

DB_CONNECTION=mongodb DB_HOST=mongo DB_PORT=27017

Để thử kết nối với MongoDB thực hiện chạy migrate bằng các bước sau:

php artisan migrate

Sau đó thì bắt đầu vào công cuộc code Laravel thôi nào.

Vậy mình xin được kết thúc bài hướng dẫn cài đặt môi trường phát triển Laravel với Nginx và MongoDB bằng Laradock. Xin chào.

Bạn thấy bài viết này như thế nào?
1 reaction

Add new comment

Image CAPTCHA
Enter the characters shown in the image.

Related Articles

Mỗi kết nối cơ sở dữ liệu được định nghĩa trong một mảng, với tên kết nối là khóa của mảng

Eager Loading là một kỹ thuật tối ưu hóa truy vấn cơ sở dữ liệu trong Laravel, giúp tăng tốc độ truy vấn và giảm số lượng truy vấn cần thiết để lấy dữ liệu liên quan đến một bản ghi.

Để sử dụng Eager Loading với điều kiện trong Laravel, bạn có thể sử dụng phương thức whereHas hoặc orWhereHas trong Eloquent Builder.

E hiểu đơn giản vầy nha. auth() hay Auth trong laravel là những function global hay class, nó cũng chỉ là 1 thôi

Xin chào các bạn, tuần này mình sẽ viết một bài về cách xử lý Real Time(thời gian thực) với Laravel và Pusher