Laravel là một framework PHP mã nguồn mở cung cấp một bộ công cụ và tài nguyên để xây dựng các ứng dụng PHP hiện đại. Laravel ngày càng trở nên phổ biến trong những năm vừa qua và được nhiều nhà phát triển lựa chọn làm framework cho quá trình phát triển tối ưu hóa. Bài viết dưới đây của mình sẽ hướng dẫn bạn cách cài đặt và cấu hình Laravel trên Ubuntu 20.04 với Nginx. Sau khi hoàn thành, bạn sẽ có một ứng dụng Laravel kết nối với cơ sở dữ liệu MySQL 8.
Những điểm chính
- Hiểu rõ các yêu cầu cần thiết để cài đặt và cấu hình Laravel với Nginx trên Ubuntu 20.04.
- Nắm rõ các bước cài đặt và cấu hình Laravel với Nginx trên Ubuntu 20.04
- Biết đến Vietnix là nhà cung cấp VPS hiệu suất cao, là môi trường lý tưởng để triển khai các ứng dụng Laravel.
- Giải đáp một số thắc mắc khi cài đặt Laravel với Nginx trên Ubuntu 20.04.
Yêu cầu chuẩn bị để cài đặt và cấu hình Laravel với Nginx trên Ubuntu 20.04
Để thực hiện quá trình cài đặt theo hướng dẫn dưới đây, trước hết bạn cần chuẩn bị một số yêu cầu sau đây đối với máy chủ Ubuntu 20.04:
- Tạo một user
sudo
và kích hoạtufw
. - Cài đặt LEMP stack với MySQL8.
- Cài đặt Composer. Quá trình cài đặt sẽ sử dụng Composer để cài đặt Laravel và các dependency. (Bài viết hướng dẫn cách cài đặt Composer trên Ubuntu 20.04 tại đây)

Khi phát triển ứng dụng Laravel, đặc biệt là các dự án yêu cầu tốc độ xử lý và truy xuất dữ liệu nhanh, việc lựa chọn một hạ tầng mạnh mẽ là yếu tố then chốt. VPS NVMe của Vietnix là giải pháp lý tưởng, sử dụng ổ cứng NVMe tốc độ cao giúp giảm đáng kể thời gian đọc/ghi cơ sở dữ liệu và tải tài nguyên. Điều này không chỉ cải thiện hiệu suất ứng dụng mà còn nâng cao trải nghiệm người dùng, giúp trang web của bạn hoạt động mượt mà và ổn định ngay cả khi có lượng truy cập lớn.

VPS NVME – Ổ CỨNG VÀ CPU THẾ HỆ MỚI
Khả năng xử lý siêu khủng với ổ cứng NVMe và CPU Platinum, tối ưu cho phát triển ứng dụng Laravel
Các bước cài đặt và cấu hình Laravel với Nginx trên Ubuntu 20.04
Sau khi đã hoàn thiện các bước chuẩn bị cho máy chủ Ubuntu 20.04, bạn tiến hành cài đặt và cấu hình Laravel với Nginx theo các bước dưới đây.
Bước 1: Cài đặt các module PHP cần thiết
Trước khi cài đặt Laravel, bạn cần cài đặt một số module PHP được yêu cầu bởi framework. Sử dụng apt
để cài đặt các module php-mbstring
, php-xml
, php-bcmath
. Những phần mở rộng này được cung cấp bổ sung cho việc xử lý mã hóa ký tự, XML và phép toán cao cấp.
Nếu đây là lần đầu sử dụng apt
trong phiên làm việc, bạn cần chạy lệnh update
trước để cập nhật cache gói quản lý:
$ sudo apt update
Sau đó, bạn có thể bắt đầu cài đặt các gói cần thiết với câu lệnh:
$ sudo apt install php-mbstring php-xml php-bcmath
Hệ thống đã sẵn sàng để cài đặt Laravel thông qua Composer. Tuy nhiên trước khi tiến hành cài đặt, bạn cần tạo một cơ sở dữ liệu cho ứng dụng, hãy theo dõi tiếp ở bước sau.
Bước 2: Tạo cơ sở dữ liệu cho ứng dụng
Để thực hiện cài đặt và sử dụng Laravel, bạn cần tạo ứng dụng travel list hiển thị danh sách những nơi người dùng muốn tìm đến và danh sách các nơi mà họ thực tế đã đến. Các thông tin này có thể được lưu trữ trong places table với một trường cho vị trí, được gọi là name và một trường đánh dấu visited hay not vistied. Bên cạnh đó, bạn cần một trường id để xác định tính duy nhất của mỗi mục.
Để kết nối đến cơ sở dữ liệu từ ứng dụng Laravel, bạn cần tạo một MySQL user riêng biệt và cấp quyền đầy đủ cho user này trên cơ sở dữ liệu travellist
.
Bạn cần phải thiết lập database user với phương thức xác thực mysql_native_password
để có thể kết nối với cơ sở dữ liệu MySQL PHP.
Để bắt đầu, hãy đăng nhập vào MySQL console với tài khoản root của cơ sở dữ liệu bằng lệnh sau:
$ sudo mysql
Để tạo một cơ sở dữ liệu mới, hãy chạy câu lệnh sau từ MySQL console:
mysql> CREATE DATABASE travellist;
Bây giờ bạn có thể tạo một user mới và cấp quyền đầy đủ trên cơ sở dữ liệu tùy chỉnh mà bạn vừa tạo. Ví dụ dưới đây đang tạo một user có tên travellist_user với mật khẩu password
. Tuy nhiên bạn nên thay đổi mật khẩu của riêng mình để bảo đảm độ an toàn:
mysql> CREATE USER 'travellist_user'@'%' IDENTIFIED WITH mysql_native_password BY 'password';
Thực hiện cấp quyền cho user trên cơ sở dữ liệu travellist
bằng câu lệnh sau:
mysql> GRANT ALL ON travellist.* TO 'travellist_user'@'%';
Điều này sẽ cung cấp cho travellist_user toàn quyền trên cơ sở dữ liệu travellist
đồng thời ngăn chặn user này tạo hoặc sửa đổi các cơ sở dữ liệu khác trên máy chủ.
Sau khi thực hiện xong, tiến hành thoát khỏi MySQL shell:
mysql> exit
Để kiểm tra lại xem user đã được cấp đầy đủ quyền truy cập hay chưa, bạn có thể đăng nhập lại vào MySQL console và sử dụng thông tin đăng nhập của người dùng tùy chỉnh:
mysql -u travellist_user -p
Lưu ý flag -p
trong câu lệnh này yêu cầu bạn nhập mật khẩu được sử dụng khi tạo travellist_user. Sau khi đăng nhập vào MySQL console, hãy xác nhận rằng bạn có quyền truy cập vào cơ sở dữ liệu travellist
.
mysql> SHOW DATABASES;
Kết quả trả về như sau:
Output
+-----------------------------+
| Database |
+-----------------------------+
| information_schema |
| travellist |
+-----------------------------+
2 rows in set (0.01 sec)
Tiếp theo, hãy tạo một bằng có tên là places
trong cơ sở dữ liệu travellist
. Từ MySQL console, chạy câu lệnh sau:
mysql> CREATE TABLE travellist.places (
mysql> id INT AUTO_INCREMENT,
mysql> name VARCHAR(255),
mysql> visited BOOLEAN,
mysql> PRIMARY KEY(id)
mysql> );
Sau đó, bạn thêm dữ liệu theo mẫu vào bảng places
:
mysql> INSERT INTO travellist.places (name, visited)
mysql> VALUES ("Tokyo", false),
mysql> ("Budapest", true),
mysql> ("Nairobi", false),
mysql> ("Berlin", true),
mysql> ("Lisbon", true),
mysql> ("Denver", false),
mysql> ("Moscow", false),
mysql> ("Olso", false),
mysql> ("Rio", true),
mysql> ("Cincinnati", false),
mysql> ("Helsinki", false);
Để xác nhận dữ liệu đã được lưu vào bảng thành công, hãy chạy lệnh sau:
mysql> SELECT * FROM travellist.places;
Bạn sẽ nhận được kết quả tương tự như sau:
Output
+---+---------------+----------+
| id | name | visited |
+---+---------------+----------+
| 1 | Tokyo | 0 |
| 2 | Budapest | 1 |
| 3 | Nairobi | 0 |
| 4 | Berlin | 1 |
| 5 | Lisbon | 1 |
| 6 | Denver | 0 |
| 7 | Moscow | 0 |
| 8 | Oslo | 0 |
| 9 | Rio | 1 |
| 10 | Cincinnati | 0 |
| 11 | Helsinki | 0 |
+----+---------------+---------+
11 rows in set (0.00 sec)
Khi xác nhận đã có dữ liệu hợp lệ trong test table, bạn thoát khỏi MySQL console bằng lệnh:
mysql> exit
Giờ đây bạn đã có thể bắt đầu tạo ứng dụng và cấu hình để kết nối cơ sở dữ liệu mới.
Bước 3: Tạo ứng dụng Laravel mới
Bạn cần tạo một ứng dụng Laravel mới bằng cách sử dụng lệnh composer create-project
. Lệnh Composer này thường được dùng để khởi tạo các ứng dụng mới trên các framework và hệ thống quản lý nội dung.
Trong hướng dẫn này sẽ sử dụng travellist
để làm ví dụ, bạn hoàn toàn có thể thay đổi theo ý muốn. Ứng dụng travellist
sẽ hiển thị danh sách những vị trí được lấy từ một máy chủ MySQL cục bộ, nhằm thể hiện cấu hình cơ bản của Laravel và xác nhận kết nối đến cơ sở dữ liệu.
Trước tiên, hãy di chuyển đến thư mục home của user:
$ cd ~
Sau đó sử dụng câu lệnh sau để tạo ra một thư mục travellist
mới chứa ứng dụng khuôn Laravel dựa trên các cài đặt mặc định:
$ composer create-project --prefer-dist laravel/laravel travellist
Bạn sẽ nhận được kết quả tương tự như sau:
Output
Installing laravel/laravel (v5.8.17)
- Installing laravel/laravel (v5.8.17): Downloading (100%)
Created project in travellist
> @php -r "file_exists('.env') || copy('.env.example', '.env');"
Loading composer repositories with package information
Updating dependencies (including require-dev)
Package operations: 80 installs, 0 updates, 0 removals
- Installing symfony/polyfill-ctype (v1.11.0): Downloading (100%)
- Installing phpoption/phpoption (1.5.0): Downloading (100%)
- Installing vlucas/phpdotenv (v3.4.0): Downloading (100%)
- Installing symfony/css-selector (v4.3.2): Downloading (100%)
...
Sau khi hoàn tất quá trình cài đặt, bạn truy cập vào ứng dụng và chạy lệnh artisan
của Laravel để xác nhận tất cả các thành phần đã được cài đặt thành công:
$ cd travellist
$ php artisan
Kết quả trả về tương tự như sau:
Output
Laravel Framework 7.11.0
Usage:
command [options] [arguments]
Options:
-h, --help Display this help message
-q, --quiet Do not output any message
-V, --version Display this application version
--ansi Force ANSI output
--no-ansi Disable ANSI output
-n, --no-interaction Do not ask any interactive question
--env[=ENV] The environment the command should run under
-v|vv|vvv, --verbose Increase the verbosity of messages: 1 for normal output, 2 for more verbose output and 3 for debug
...
Kết quả này xác nhận rằng các tệp ứng dụng đã được cài đặt đúng vị trí và các dòng lệnh Laravel hoạt động đúng ý định. Tuy nhiên bạn vẫn cần cấu hình ứng dụng để thiết lập cơ sở dữ liệu và một vài chi tiết khác.
Bước 4: Cấu hình Laravel
Các file cấu hình Laravel được lưu trữ trong thư mục config
, bên trong thư mục gốc của ứng dụng. Ngoài ra khi bạn cài đặt Laravel bằng Composer sẽ tạo đồng thời một environment file chứa các cài đặt cụ thể cho môi trường ứng dụng đang chạy và ưu tiên hơn các giá trị được đặt trong tập cấu hình được lưu trong thư mục config
.
Mỗi lần cài đặt trên một môi trường mới đòi hỏi environment file được điều chỉnh để xác định các thông số như cài đặt kết nối database, tùy chọn gỡ lỗi, URL của ứng dụng và một số mục khác.
Lưu ý đặc biệt, tệp cấu hình môi trường (environment configuration file) chứa các thông tin nhạy cảm của máy chủ, cao gồm thông tin đăng nhập cơ sở dữ liệu và các khóa bí mật. Do đó, bạn không nên chia sẻ tệp này công khai.
Bạn cần chỉnh sửa tệp .env
để tùy chỉnh các tùy chọn cấu hình cho môi trường ứng dụng hiện tại. Mở tệp .env
bằng trình chỉnh sửa văn bản, ví dụ dưới đây sử dụng nano
:
$ nano .env
Mặc dù có nhiều biến cấu hình trong tệp này, bạn không nhất thiết phải thiết lập chúng ngay. Thông tin cơ bản về các biến như sau:
APP_NAME
: Tên ứng dụng, được sử dụng cho các thông báo và tin nhắn.APP_ENV
: Môi trường ứng dụng hiện tại.APP_KEY
: Được sử dụng để tạo ra salts và hash, khóa duy nhất này được tạo tự động khi cài đặt. Laravel thông qua Composer, vì vậy bạn không cần phải thay đổi nó.APP_DEBUG
: Cho phép có/không hiển thị thông tin gỡ lỗi trên phía máy khách.APP_URL
: Địa chỉ URL cho ứng dụng, được sử dụng để tạo các liên kết.DB_DATABASE
: Tên cơ sở dữ liệu.DB_USERNAME
: Tên người dùng kết nối với cơ sở dữ liệu.DB_PASSWORD
: Mật khẩu kết nối với cơ sở dữ liệu.
Mặc định các giá trị này được cấu hình cho local development environment sử dụng Homestead, một Vagrant box được có sẵn do Laravel cung cấp. Bạn thực hiện thay đổi các giá trị này để thiết lập môi trường ứng dụng.
Ở ví dụ này, bạn đang cài đặt Laravel trong development environment hoặc testing environment cho nên có thể bật tùy chọn APP_DEBUG
. Việc này cung cấp thông tin gỡ lỗi quan trọng khi kiểm thử ứng dụng từ trình duyệt. Biến môi trường APP_ENV
cần được thay đổi thành development
hoặc testing
.
Đối với trường hợp cài đặt Laravel trong production environment, bạn nên tắt tùy chọn APP_DEBUG
vì nó hiển thị cho người dùng cuối những thông tin nhạy cảm của ứng dụng. Biến môi trường APP_ENV
trong trường hợp này được thiết lập thành production
.
File .env
dưới đây cấu hình cho ứng dụng trong development environment:
Lưu ý, biến APP_KEY
chứa khóa duy nhất đã được tạo tự động khi cài đặt Laravel qua Composer, bạn không cần phải thay đổi giá trị này. Nếu muốn tạo một khóa an toàn mới, hãy sử dụng lệnh php artisan key:generate
.
APP_NAME=TravelList
APP_ENV=development
APP_KEY=APPLICATION_UNIQUE_KEY_DONT_COPY
APP_DEBUG=true
APP_URL=http://domain_or_IP
LOG_CHANNEL=stack
DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=travellist
DB_USERNAME=travellist_user
DB_PASSWORD=password
…
Chỉnh sửa các biến tương ứng. Sau khi hoàn thành, nhấn lưu và đóng file để cập nhật các thay đổi. Nếu sử dụng nano
, bạn có thể nhấn tổ hợp phím CTRL+X
sau đó nhấn Y
rồi ENTER
để xác nhận.
Như vậy, ứng dụng Laravel đã được thiết lập. Tuy nhiên bạn cần phải cấu hình web server để truy cập ứng dụng từ trình duyệt. Trong bước tiếp theo sẽ hướng dẫn bạn cách cấu hình Nginx để phục vụ ứng dụng Laravel.
Bước 5: Cài đặt Nginx
Ở bước trên, bạn đã cài đặt Laravel trên local folder của thư mục người dùng từ xa. Mặc dù điều này tốt cho môi trường phát triển cục bộ nhưng lại không được khuyến khích cho các web server sử dụng trên internet công khai. Bạn cần di chuyển thư mục ứng dụng đến /var/www
thường dùng cho các ứng dụng web chạy trên Nginx.
Đầu tiên, hãy sử dụng lệnh mv
để di chuyển thư mục ứng dụng cùng tất cả nội dung đến /var/www/travellist
:
$ sudo mv ~/travellist /var/www/travellist
Bạn cần phải cấp quyền ghi cho người dùng web server đối với thư mục storage
và cache,
nơi Laravel lưu trữ các tệp được tạo bởi ứng dụng:
$ sudo chown -R www-data.www-data /var/www/travellist/storage
$ sudo chown -R www-data.www-data /var/www/travellist/bootstrap/cache
Mặc dù các tệp ứng dụng đã được cấu hình nhưng bạn vẫn cần phải cấu hình Nginx để đáp ứng nội dung. Để làm điều này, hãy tạo một tệp cấu hình virtual host mới tại /etc/nginx/sites-available
:
$ sudo nano /etc/nginx/sites-available/travellist
Tệp cấu hình sau chứa các cài đặt được khuyến nghị cho các ứng dụng Laravel trên Nginx:
server {
listen 80;
server_name server_domain_or_IP;
root /var/www/travellist/public;
add_header X-Frame-Options "SAMEORIGIN";
add_header X-XSS-Protection "1; mode=block";
add_header X-Content-Type-Options "nosniff";
index index.html index.htm index.php;
charset utf-8;
location / {
try_files $uri $uri/ /index.php?$query_string;
}
location = /favicon.ico { access_log off; log_not_found off; }
location = /robots.txt { access_log off; log_not_found off; }
error_page 404 /index.php;
location ~ \.php$ {
fastcgi_pass unix:/var/run/php/php7.4-fpm.sock;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $realpath_root$fastcgi_script_name;
include fastcgi_params;
}
location ~ /\.(?!well-known).* {
deny all;
}
}
Sao chép nội dung trên vào file /etc/nginx/sites-available/travellist
, thay đổi các giá trị server_domain_or_IP
, travellist
để phù hợp với cấu hình của bạn. Sau đó nhấn lưu và đóng file.
Để kích hoạt file cấu hình virtual host mới tạo, hãy tạo một symbolic link đến travellist
trong sites-enable
:
$ sudo ln -s /etc/nginx/sites-available/travellist /etc/nginx/sites-enabled/
Lưu ý, nếu bạn có một virtual host file khác đã được cấu hình trước đó với cùng server_name
được sử dụng cho travellist
virtual host, bạn có thể vô hiệu hóa cấu hình cũ bằng cách xóa symbolic link tương ứng trong /etc/nginx/sites-enabled/
.
Để chắc chắn cấu hình không bị lỗi cú pháp nào, chạy câu lệnh sau:
$ sudo nginx -t
Kết quả nhận được như sau:
$
Output
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
$ nginx: configuration file /etc/nginx/nginx.conf test is successful
Để áp dụng các thay đổi, reload lại Nginx với lệnh:
$ sudo systemctl reload nginx
Bây giờ, hãy truy cập ứng dụng bằng trình duyệt và sử dụng tên miền hoặc địa chỉ IP máy chủ được xác định bởi server_name
trong file cấu hình:
http://server_domain_or_IP
Bạn sẽ nhận được kết quả hiển thị trang như sau:

Điều này cho biết máy chủ Nginx đã được cấu hình đúng để phục vụ Laravel. Giờ đây bạn có thể bắt đầu xây dựng ứng dụng trên nền tảng được cung cấp bởi cài đặt mặc định.
Trong bước tiếp theo, bạn sẽ được hướng dẫn sửa đổi main route của ứng dụng để truy vấn dữ liệu trong database bằng DB
facade của Laravel.
Bước 6: Tùy chỉnh trang chính
Các bước trên đã hướng dẫn bạn cách cài đặt ứng dụng Laravel và một bảng database có tên places
chứa một số mẫu dữ liệu. Bây giờ bạn cần chỉnh sửa tệp định tuyến ứng dụng để truy vấn cơ sở dữ liệu và trả về nội dung cho chế độ xem ứng dụng.
Hãy mở file định tuyến routes/web.php
:
$ nano routes/web.php
Tệp mặc định này đi kèm với nội dung sau:
<?php
/*
|--------------------------------------------------------------------------
| Web Routes
|--------------------------------------------------------------------------
|
| Here is where you can register web routes for your application. These
| routes are loaded by the RouteServiceProvider within a group which
| contains the "web" middleware group. Now create something great!
|
*/
Route::get('/', function () {
return view('welcome');
});
Các route được xác định trong tệp bằng cách sử dụng static method Route::get
nhận một path và một callback function làm đối số.
Đoạn code dưới đây thay thế main route callback function, thực hiện 2 truy vấn đến database bằng cách sử dụng flag visited
để lọc kết quả. Kết quả trả về là chế độ xem có tên là travellist
. Sao chép nội dung sau vào file routes/web.php
, thay thế đoạn code đã có:
<?php
use Illuminate\Support\Facades\DB;
Route::get('/', function () {
$visited = DB::select('select * from places where visited = ?', [1]);
$togo = DB::select('select * from places where visited = ?', [0]);
return view('travellist', ['visited' => $visited, 'togo' => $togo ] );
});
Lưu và đóng file sau khi cập nhật xong. Tiếp theo bạn cần tạo view để hiển thị kết quả database cho người dùng. Tạo một file mới trong thư mục resources/views
:
$ nano resources/views/travellist.blade.php
Mẫu dưới đây tạo ra hai danh sách place dựa trên các biến visited
và togo
. Sao chép nội dung này vào file view:
<html>
<head>
<title>Travel List</title>
</head>
<body>
<h1>My Travel Bucket List</h1>
<h2>Places I'd Like to Visit</h2>
<ul>
@foreach ($togo as $newplace)
<li>{{ $newplace->name }}</li>
@endforeach
</ul>
<h2>Places I've Already Been To</h2>
<ul>
@foreach ($visited as $place)
<li>{{ $place->name }}</li>
@endforeach
</ul>
</body>
</html>
Lưu và đóng file sau khi hoàn thành. Hãy mở trình duyệt web ra và tải lại ứng dụng, bạn sẽ nhận được một trang tương tự như sau:

Như vậy, bạn đã thiết lập xong một ứng dụng Laravel hoạt động trên cơ sở dữ liệu MySQL.
Vietnix – Nền tảng VPS hàng đầu cho ứng dụng Laravel của bạn
Khi dự án Laravel của bạn phát triển, bạn sẽ cần một nền tảng hạ tầng ổn định, bảo mật và có khả năng mở rộng linh hoạt. Vietnix là nhà cung cấp VPS tốc độ cao uy tín hàng đầu tại Việt Nam, mang đến một môi trường lý tưởng để triển khai và vận hành các ứng dụng web của bạn. Với kinh nghiệm hơn 13 năm và đã phục vụ trên 100.000 khách hàng, Vietnix tự hào mang đến dịch vụ chất lượng với hạ tầng mạnh mẽ, hỗ trợ kỹ thuật chuyên nghiệp 24/7 và hệ thống backup tự động hàng tuần đảm bảo ứng dụng của bạn luôn hoạt động ổn định và an toàn.
Thông tin liên hệ:
- Hotline: 18001093.
- Email: sales@vietnix.com.vn.
- Địa chỉ: 265 Hồng Lạc, Phường Bảy Hiền, Thành Phố Hồ Chí Minh.
- Website: https://vietnix.vn/.
Câu hỏi thường gặp
Tại sao nên sử dụng Nginx thay vì Apache cho ứng dụng Laravel?
Nginx thường được ưa chuộng hơn Apache cho các ứng dụng Laravel vì hiệu suất xử lý các kết nối đồng thời cao hơn và sử dụng tài nguyên (RAM, CPU) hiệu quả hơn. Nginx rất mạnh trong việc phục vụ nội dung tĩnh và hoạt động tốt như một reverse proxy, phù hợp với kiến trúc của các ứng dụng PHP hiện đại. Việc lựa chọn một hạ tầng tối ưu như VPS của Vietnix sẽ phát huy tối đa sức mạnh của Nginx.
Lệnh php artisan có công dụng gì trong Laravel?
Artisan là giao diện dòng lệnh (command-line interface) tích hợp sẵn trong Laravel. Nó cung cấp một loạt các lệnh hữu ích giúp nhà phát triển thực hiện các tác vụ thường gặp như tạo controller, model, migration (cấu trúc bảng dữ liệu), xóa bộ nhớ cache, tạo khóa ứng dụng… một cách nhanh chóng, giúp đẩy nhanh quá trình phát triển.
File .env trong Laravel dùng để làm gì và tại sao không nên đưa lên Git?
File .env (environment) được dùng để lưu trữ các biến môi trường dành riêng cho từng môi trường triển khai (phát triển, kiểm thử, sản phẩm thật). Nó chứa các thông tin nhạy cảm như thông tin kết nối cơ sở dữ liệu, khóa API, mật khẩu… Bạn không nên đưa file này lên Git hoặc các hệ thống quản lý phiên bản khác để tránh lộ thông tin bảo mật. Thay vào đó, mỗi môi trường sẽ có một file .env riêng và file .env.example sẽ được dùng làm mẫu.
Trong bài viết về cách cài đặt và cấu hình Laravel với Nginx trên Ubuntu 20.04 trên, Vietnix đã hướng dẫn bạn cách thiết lập ứng dụng Laravel trên nền tảng LEMP (Linux, Nginx, MySQL, PHP) chạy trên Ubuntu 20.04. Đồng thời thiết lập route mặc định để truy vấn nội dung cơ sở dữ liệu và hiển thị kết quả trong một view tùy chỉnh. Từ đây bạn có thể tạo các route mới cho các trang bổ sung khi cần thiết. Nếu có bất kỳ ý kiến đóng góp nào liên quan, hãy để lại bình luận ngay dưới nhé.