在搭建Laravel前,需先安裝**PHP、Composer、Web服務器(Apache/Nginx)、數據庫(MySQL/PostgreSQL)**等核心組件,確保系統滿足Laravel的運行要求。
sudo apt update && sudo apt upgrade -y
Laravel要求PHP 8.0及以上版本,并需安裝以下擴展(支持數據庫、加密、文件上傳等功能):
sudo apt install php php-cli php-fpm php-json php-common php-mysql php-zip php-gd php-mbstring php-curl php-xml php-bcmath -y
注:可通過
php -v
驗證PHP版本,php -m
查看已安裝擴展。
Composer是Laravel的核心依賴管理工具,需全局安裝:
curl -sS https://getcomposer.org/installer | sudo php -- --install-dir=/usr/local/bin --filename=composer
驗證安裝:
composer --version
(應輸出Composer版本號)。
Nginx因高性能適合Laravel項目,安裝并啟動:
sudo apt install nginx -y
sudo systemctl start nginx
sudo systemctl enable nginx # 開機自啟
驗證:瀏覽器訪問
http://服務器IP
,應顯示Nginx默認頁面。
MySQL是Laravel常用的關系型數據庫,安裝后需進行安全配置:
sudo apt install mysql-server -y
sudo mysql_secure_installation # 按提示設置root密碼、移除匿名用戶等
驗證:
sudo mysql -u root -p
(輸入密碼登錄MySQL)。
通過Composer快速生成Laravel項目骨架,避免手動配置繁瑣文件。
composer create-project --prefer-dist laravel/laravel my_laravel_project
參數說明:
--prefer-dist
表示下載穩定版本;my_laravel_project
為項目目錄名(可自定義)。
cd my_laravel_project
Laravel通過.env
文件管理環境變量(如數據庫連接、應用密鑰),需完成以下配置:
cp .env.example .env
注:
.env.example
是模板文件,復制后需修改為實際配置。
應用密鑰(APP_KEY
)用于加密會話、密碼重置令牌等敏感信息,必須生成:
php artisan key:generate
驗證:
.env
文件中應存在APP_KEY=base64:隨機字符串
。
編輯.env
文件,修改以下數據庫相關配置(根據實際MySQL設置調整):
DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=my_laravel_db # 數據庫名(需提前創建)
DB_USERNAME=root # 數據庫用戶名
DB_PASSWORD=your_password # 數據庫密碼
登錄MySQL,執行以下命令創建數據庫和用戶(以root
用戶為例):
CREATE DATABASE my_laravel_db;
CREATE USER 'laravel_user'@'localhost' IDENTIFIED BY 'your_password';
GRANT ALL PRIVILEGES ON my_laravel_db.* TO 'laravel_user'@'localhost';
FLUSH PRIVILEGES;
EXIT;
為了讓瀏覽器訪問Laravel項目,需將Web服務器指向項目的public
目錄(包含入口文件index.php
)。
創建Nginx配置文件(以項目名為域名):
sudo nano /etc/nginx/sites-available/my_laravel_project
粘貼以下內容(替換your_domain.com
為實際域名或IP,/path/to/my_laravel_project
為項目絕對路徑):
server {
listen 80;
server_name your_domain.com;
root /path/to/my_laravel_project/public;
index index.php index.html;
location / {
try_files $uri $uri/ /index.php?$query_string;
}
location ~ \.php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/var/run/php/php8.2-fpm.sock; # 根據PHP版本調整(如php8.1-fpm.sock)
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
location ~ /\.ht {
deny all;
}
}
注:
fastcgi_pass
需對應PHP-FPM的socket路徑(可通過ls /var/run/php/
查看)。
sudo ln -s /etc/nginx/sites-available/my_laravel_project /etc/nginx/sites-enabled/
sudo nginx -t # 測試配置語法(無錯誤則繼續)
sudo systemctl restart nginx
Laravel項目依賴通過Composer管理,進入項目目錄執行:
composer install
該命令會根據
composer.json
文件下載所有依賴包(如Laravel框架核心、第三方庫),并生成vendor
目錄。
若項目包含數據庫表結構(如用戶認證模塊),需執行遷移命令創建表:
php artisan migrate
注:首次運行需確保數據庫連接配置正確(
.env
文件)。
Laravel的storage
(日志、緩存文件)和bootstrap/cache
(緩存配置)目錄需可寫,執行:
sudo chown -R www-data:www-data /path/to/my_laravel_project # 將所有者設為www-data(Nginx默認用戶)
sudo chmod -R 755 /path/to/my_laravel_project/storage
sudo chmod -R 755 /path/to/my_laravel_project/bootstrap/cache
若無需配置Web服務器,可使用Laravel內置的開發服務器快速測試:
php artisan serve
默認監聽
http://localhost:8000
,瀏覽器訪問即可看到Laravel歡迎頁面。
composer config -g repo.packagist composer https://mirrors.aliyun.com/composer/
)。fastcgi_pass
路徑是否正確,或PHP-FPM服務是否啟動(sudo systemctl status php8.2-fpm
)。.env
中的數據庫信息(用戶名、密碼、數據庫名)是否正確,或MySQL服務是否運行(sudo systemctl status mysql
)。通過以上步驟,即可在Linux環境下完成Laravel開發環境的搭建,開始項目開發。