到目前為止,Laravel 是 PHP 開發人員構建 api 和 web 應用程序的首選。如果你是新手的話,將 Laravel 應用程序部署到線上服務器上可能有點棘手。
在本指南中,我們將向您展示在 Ubuntu 系統中部署 Laravel 應用程序的全過程。
必備條件
- A server running Ubuntu (24.04 or 22.04 is recommended).
- SSH access to your server with a sudo privileges account.
- Basic knowledge of using the command line.
- A Laravel project ready to deploy.
Step 1: Update Your Server
首先,確保當前的系統包是最新的。
sudo apt update
sudo apt upgrade -y
Step 2: Install Required Software
Laravel 是用 PHP 編程語言編寫的,要在 web 上提供服務,您需要像 Apache 這樣的 web 服務器。為了永久存儲數據,您需要像 MySQL 這樣的數據庫。總之,您需要安裝一些運行 Laravel 應用程序所需的軟件。這包括 Apache、MySQL、PHP 和其他一些工具。
(1) 安裝 Apache
sudo apt install apache2 -y
(2) 安裝 MySQL
sudo apt install mysql-server -y
(3) 安裝PHP和相關擴展
sudo apt install php libapache2-mod-php php-mysql php-xml php-mbstring php-mcrypt php-curl php-zip -y
Step 3: Configuring MySQL
首次安裝 MySQL 服務器後,需要執行以下命令啓動 MySQL 安裝嚮導
sudo mysql_secure_installation
按照説明來確保安裝的安全,然後登錄到 MySQL,為您的 Laravel 應用程序創建一個數據庫。
sudo mysql -u root -p
在 MySQL shell 中,運行以下命令來創建數據庫和用户。
CREATE DATABASE laravel_app;
CREATE USER 'laravel_user'@'localhost' IDENTIFIED BY 'your_password';
GRANT ALL PRIVILEGES ON laravel_app.* TO 'laravel_user'@'localhost';
FLUSH PRIVILEGES;
EXIT;
Step 4: Set Up Apache Server
我們需要配置 Apache 來服務我們的 Laravel 應用程序。首先,啓用 mod 重寫模塊。
sudo a2enmod rewrite
然後,為您的 Laravel 站點創建一個新的 Apache 配置文件。
sudo nano /etc/apache2/sites-available/laravel.conf
將以下內容添加到創建的配置文件中
<VirtualHost *:80>
ServerAdmin webmaster@localhost
DocumentRoot /var/www/laravel/public
<Directory /var/www/laravel>
Options Indexes FollowSymLinks
AllowOverride All
Require all granted
</Directory>
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>
保存並關閉該文件。然後,啓用新站點並重新啓動 Apache
sudo a2ensite laravel.conf
sudo systemctl restart apache2
Step 5: Deploy Your Laravel Application
把 Laravel 項目上傳到 /var/www/laravel 目錄
切換到項目目錄,並安裝所需的依賴項。
cd /var/www/laravel
composer install
接下來,為存儲和緩存目錄設置正確的權限。
sudo chown -R www-data:www-data storage
sudo chown -R www-data:www-data bootstrap/cache
Step 6: Configure Environment Variables
Laravel 使用 .env 文件來存儲配置設置,更新其中的數據庫相關設置。
DB_DATABASE=laravel_app
DB_USERNAME=laravel_user
DB_PASSWORD=your_password
Step 7: Generate Application Key
最後,為 Laravel 應用程序生成一個應用程序密鑰。
php artisan key:generate
Step 8: Set Up SSL Certificate
為了保護您的 Laravel 應用程序,您可以使用 Let ' s Encrypt 來設置一個免費的 SSL 證書。
安裝 Certbot
sudo apt install certbot python3-certbot-apache -y
獲取並安裝 SSL 證書
sudo certbot --apache
按照屏幕上的説明操作,Certbot 將自動為您的站點配置 SSL,並在需要時更新證書。
測試證書續訂過程
sudo certbot renew --dry-run
我的開源項目
- course-tencent-cloud(酷瓜雲課堂 - gitee倉庫)
- course-tencent-cloud(酷瓜雲課堂 - github倉庫)