在Debian环境下部署Laravel API,你需要遵循以下步骤:
首先,更新你的系统并安装所需的软件包,如Nginx、PHP和MySQL。
sudo apt-get update
sudo apt-get upgrade
sudo apt-get install nginx php-fpm php-mysql mysql-server
登录到MySQL并创建一个新的数据库和用户,用于存储你的Laravel应用程序的数据。
sudo mysql
在MySQL提示符下,运行以下命令:
CREATE DATABASE laravel_api;
CREATE USER 'api_user'@'localhost' IDENTIFIED BY 'your_password';
GRANT ALL PRIVILEGES ON laravel_api.* TO 'api_user'@'localhost';
FLUSH PRIVILEGES;
EXIT;
将your_password
替换为一个安全的密码。
Composer是PHP的依赖管理工具。下载并安装Composer:
curl -sS https://getcomposer.org/installer | php
sudo mv composer.phar /usr/local/bin/composer
使用Composer创建一个新的Laravel项目:
composer create-project --prefer-dist laravel/laravel your_project_name
将your_project_name
替换为你的项目名称。
将.env.example
文件复制到.env
,并编辑.env
文件以配置你的应用程序:
cp .env.example .env
nano .env
在.env
文件中,更新以下变量:
DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=laravel_api
DB_USERNAME=api_user
DB_PASSWORD=your_password
将your_password
替换为你在步骤2中创建的密码。
运行以下命令生成一个新的应用密钥:
php artisan key:generate
运行以下命令创建数据库表:
php artisan migrate
创建一个新的Nginx配置文件:
sudo nano /etc/nginx/sites-available/your_project_name
将your_project_name
替换为你的项目名称。在文件中添加以下内容:
server {
listen 80;
server_name your_domain_or_ip;
root /path/to/your_project_name/public;
index index.php index.html index.htm;
location / {
try_files $uri $uri/ /index.php?$query_string;
}
location ~ \.php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/var/run/php/php7.4-fpm.sock;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
location ~ /\.ht {
deny all;
}
}
将your_domain_or_ip
替换为你的域名或IP地址,将/path/to/your_project_name
替换为你的Laravel项目的实际路径。
创建一个符号链接以启用该站点:
sudo ln -s /etc/nginx/sites-available/your_project_name /etc/nginx/sites-enabled
测试Nginx配置并重启服务:
sudo nginx -t
sudo systemctl restart nginx
编辑PHP-FPM配置文件:
sudo nano /etc/php/7.4/fpm/pool.d/www.conf
找到listen
行并将其更改为:
listen = /var/run/php/php7.4-fpm.sock
重启PHP-FPM服务:
sudo systemctl restart php7.4-fpm
现在你可以运行Laravel应用程序了:
cd /path/to/your_project_name
sudo -u www-data php artisan serve --host 0.0.0.0 --port 80
你的Laravel API现在应该在Debian环境下运行并可以通过浏览器或API客户端访问。