在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上成功部署并運行了。