在CentOS上进行Laravel API开发,可以按照以下步骤进行:
首先,确保你的CentOS系统已经安装了Nginx、PHP和MySQL。如果还没有安装,可以使用以下命令安装:
sudo yum install epel-release
sudo yum install nginx
sudo yum install php php-fpm php-mysqlnd php-mbstring php-xml php-pear php-zip
sudo yum install mariadb-server mariadb
sudo systemctl start nginx
sudo systemctl enable nginx
sudo systemctl start mariadb
sudo systemctl enable mariadb
登录到MySQL控制台:
mysql -u root -p
创建数据库和用户,并授权:
CREATE DATABASE laravel_db;
CREATE USER 'laravel_user'@'localhost' IDENTIFIED BY 'your_password';
GRANT ALL PRIVILEGES ON laravel_db.* TO 'laravel_user'@'localhost';
FLUSH PRIVILEGES;
EXIT;
编辑Nginx配置文件(通常位于 /etc/nginx/conf.d/default.conf
),添加以下内容:
server {
listen 80;
server_name your_domain.com; # 替换为你的域名或公网IP
root /path/to/your/laravel/project/public; # 替换为你的Laravel项目public目录的路径
index index.php index.html index.htm;
location / {
try_files $uri $uri/ /index.php?$query_string;
}
location ~ \.php$ {
fastcgi_pass unix:/tmp/php-fpm.sock;
fastcgi_index index.php;
include fastcgi.conf;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_param PATH_INFO $fastcgi_path_info;
}
}
保存并退出,然后重启Nginx服务:
sudo systemctl restart nginx
编辑PHP-FPM配置文件(通常位于 /etc/php-fpm.d/www.conf
),找到以下行:
listen = /run/php-fpm/php-fpm.sock
将其更改为:
listen = /tmp/php-fpm.sock
保存并退出,然后重启PHP-FPM服务:
sudo systemctl restart php-fpm
将你的Laravel项目上传到服务器上的指定目录(例如:/var/www/html/your_project
)。然后进入项目目录,运行以下命令安装依赖:
cd /path/to/your/laravel/project
composer install --no-dev --optimize-autoloader
修改 .env
文件,配置数据库连接信息:
DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=laravel_db
DB_USERNAME=laravel_user
DB_PASSWORD=your_password
生成应用密钥:
php artisan key:generate
最后,运行以下命令优化Laravel性能:
php artisan config:cache
php artisan route:cache
php artisan view:cache
至此,你已经在CentOS系统上成功部署了Laravel项目。现在,你可以访问你的域名或公网IP来查看项目。
在 routes/api.php
中注册API路由,并在 app/Http/Controllers
中创建控制器来处理API请求。例如:
// routes/api.php
Route::get('/users', 'UserController@index');
Route::post('/users', 'UserController@store');
Route::put('/users/{id}', 'UserController@update');
Route::delete('/users/{id}', 'UserController@destroy');
// app/Http/Controllers/UserController.php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
class UserController extends Controller
{
public function index()
{
return response()->json(User::all());
}
public function store(Request $request)
{
return response()->json(User::create($request->all()));
}
public function update(Request $request, $id)
{
return response()->json(User::find($id)->update($request->all()));
}
public function destroy($id)
{
return response()->json(User::find($id)->delete());
}
}
使用工具如 Postman 或 Insomnia 测试您的API。发送请求并验证响应是否符合预期。
以上步骤涵盖了在CentOS上使用Laravel进行API开发的基本流程,包括环境搭建、项目部署、路由和控制器创建以及API测试。