在Linux環境中部署Laravel應用程序通常涉及以下步驟:
安裝必要的軟件:
配置Web服務器:
public
目錄。mod_rewrite
模塊,并配置.htaccess
文件。設置文件權限:
storage
和bootstrap/cache
目錄可寫。安裝Laravel:
配置環境變量:
.env
文件中的環境變量,如數據庫連接信息、APP_NAME等。運行遷移和種子:
php artisan migrate
來創建數據庫表。php artisan db:seed
來填充初始數據。優化:
php artisan optimize
來優化應用程序。下面是詳細的步驟:
在Ubuntu上,你可以使用以下命令安裝所需的軟件:
sudo apt update
sudo apt install nginx php-fpm php-mysql composer
創建一個新的Nginx服務器塊文件:
sudo nano /etc/nginx/sites-available/yourdomain.com
添加以下內容:
server {
listen 80;
server_name yourdomain.com www.yourdomain.com;
root /path/to/your/laravel/project/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; # 根據你的PHP版本調整
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
}
啟用配置:
sudo ln -s /etc/nginx/sites-available/yourdomain.com /etc/nginx/sites-enabled
sudo nginx -t
sudo systemctl restart nginx
啟用mod_rewrite
:
sudo a2enmod rewrite
創建一個新的Apache虛擬主機文件:
sudo nano /etc/apache2/sites-available/yourdomain.com.conf
添加以下內容:
<VirtualHost *:80>
ServerAdmin webmaster@localhost
DocumentRoot /path/to/your/laravel/project/public
<Directory /path/to/your/laravel/project/public>
Options Indexes FollowSymLinks MultiViews
AllowOverride All
Require all granted
</Directory>
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>
啟用配置:
sudo a2ensite yourdomain.com.conf
sudo systemctl restart apache2
sudo chown -R www-data:www-data /path/to/your/laravel/project
sudo chmod -R 755 /path/to/your/laravel/project/storage
sudo chmod -R 755 /path/to/your/laravel/project/bootstrap/cache
在項目目錄中運行:
cd /path/to/your/laravel/project
composer install
復制.env.example
文件并編輯.env
:
cp .env.example .env
nano .env
填寫數據庫連接信息和其他必要的配置。
php artisan migrate
php artisan db:seed --class=YourSeederClass # 如果有自定義的Seeder
php artisan optimize
完成以上步驟后,你的Laravel應用程序應該已經在Linux服務器上成功部署并可以訪問了。記得根據你的實際情況調整路徑和配置。