在CentOS上部署Laravel API涉及几个步骤,包括安装必要的软件、配置Web服务器、设置数据库以及部署Laravel应用。以下是一个基本的指南:
首先,确保你的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
Composer是PHP的依赖管理工具,用于安装和管理Laravel项目所需的库。
curl -sS https://getcomposer.org/installer | php
sudo mv composer.phar /usr/local/bin/composer
我们将使用Apache作为Web服务器。
sudo systemctl start httpd
sudo systemctl enable httpd
sudo systemctl status httpd
创建一个新的虚拟主机配置文件:
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项目的实际路径。
sudo systemctl restart httpd
在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
为你的数据库用户密码。
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仓库地址。
进入项目目录并安装依赖:
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项目的storage
和bootstrap/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
打开浏览器并访问http://yourdomain.com
,你应该能看到Laravel的欢迎页面或你的API响应。
确保防火墙允许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上成功部署并运行了。