centos

centos上如何部署laravel API

小樊
42
2025-04-14 15:25:34
栏目: 智能运维

在CentOS上部署Laravel API涉及几个步骤,包括安装必要的软件、配置Web服务器、设置数据库以及部署Laravel应用。以下是一个基本的指南:

1. 安装必要的软件

首先,确保你的CentOS系统是最新的,并且已经安装了以下软件:

sudo yum update -y
sudo yum install -y epel-release
sudo yum install -y httpd php php-mysqlnd php-pdo php-gd php-mbstring php-xml php-pear php-bcmath php-zip

2. 安装Composer

Composer是PHP的依赖管理工具,用于安装和管理Laravel项目所需的库。

curl -sS https://getcomposer.org/installer | php
sudo mv composer.phar /usr/local/bin/composer

3. 安装并配置Web服务器

我们将使用Apache作为Web服务器。

启用必要的Apache模块

sudo systemctl start httpd
sudo systemctl enable httpd
sudo systemctl status httpd

配置Apache虚拟主机

创建一个新的虚拟主机配置文件:

sudo vi /etc/httpd/conf.d/laravel.conf

添加以下内容:

<VirtualHost *:80>
    ServerName yourdomain.com
    DocumentRoot /path/to/your/laravel/project/public

    <Directory /path/to/your/laravel/project/public>
        AllowOverride All
        Require all granted
    </Directory>

    ErrorLog ${APACHE_LOG_DIR}/error.log
    CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>

替换yourdomain.com为你的域名,/path/to/your/laravel/project为你的Laravel项目的实际路径。

重启Apache

sudo systemctl restart httpd

4. 配置数据库

在CentOS上安装MySQL:

sudo yum install -y mysql-server
sudo systemctl start mysqld
sudo systemctl enable mysqld
sudo mysql_secure_installation

按照提示设置MySQL的root密码和其他安全选项。

登录到MySQL并创建一个新的数据库和用户:

mysql -u root -p

在MySQL shell中:

CREATE DATABASE laravel_api;
CREATE USER 'laravel_user'@'localhost' IDENTIFIED BY 'your_password';
GRANT ALL PRIVILEGES ON laravel_api.* TO 'laravel_user'@'localhost';
FLUSH PRIVILEGES;
EXIT;

替换your_password为你的数据库用户密码。

5. 部署Laravel应用

克隆Laravel项目

cd /var/www/html
git clone https://github.com/your-username/your-laravel-project.git

替换https://github.com/your-username/your-laravel-project.git为你的Laravel项目的实际Git仓库地址。

安装Laravel依赖

进入项目目录并安装依赖:

cd your-laravel-project
composer install

配置环境变量

复制.env.example文件并编辑:

cp .env.example .env
vi .env

设置以下环境变量:

APP_NAME=Laravel
APP_ENV=production
APP_KEY=base64:your_app_key
APP_DEBUG=false
APP_URL=http://yourdomain.com

DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=laravel_api
DB_USERNAME=laravel_user
DB_PASSWORD=your_password

生成应用密钥:

php artisan key:generate

运行迁移

php artisan migrate

设置文件权限

确保Laravel项目的storagebootstrap/cache目录可写:

sudo chown -R apache:apache /path/to/your/laravel/project
sudo chmod -R 755 /path/to/your/laravel/project
sudo chmod -R 777 /path/to/your/laravel/project/storage
sudo chmod -R 777 /path/to/your/laravel/project/bootstrap/cache

6. 测试部署

打开浏览器并访问http://yourdomain.com,你应该能看到Laravel的欢迎页面或你的API响应。

7. 配置防火墙

确保防火墙允许HTTP和HTTPS流量:

sudo firewall-cmd --permanent --zone=public --add-service=http
sudo firewall-cmd --permanent --zone=public --add-service=https
sudo firewall-cmd --reload

现在,你的Laravel API应该已经在CentOS上成功部署并运行了。

0
看了该问题的人还看了