在搭建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开发环境的搭建,开始项目开发。