在當前的網絡環境下,快速高效地部署 web 應用是至關重要的一環。而 php 框架 laravel 作為當下較為流行的 web 開發工具,其部署方式也備受關注。針對 laravel 項目的部署,目前較為主流的選擇是 lnmp(linux + nginx + mysql + php)架構,因為其具有高效、穩定、易于操作的特點,越來越得到人們的青睞。
本文將重點介紹 LNMP 架構下 Laravel 項目的部署及配置過程。以下為詳細步驟:
- 安裝 LNMP
LNMP 是一套基于開源軟件的 Web 服務器架構,由 Linux 操作系統、Nginx、MySQL 和 PHP 組合而成。部署 Laravel 項目前,需要先安裝好 LNMP 并確保其正常運行。
推薦使用 yum 命令安裝 LNMP,具體操作如下:
$ sudo yum install nginx ? ?# 安裝 Nginx 服務器
$ sudo yum install mysql-server mysql ? ?# 安裝 MySQL 數據庫
$ sudo yum install php-fpm php-mysql php-gd php-mbstring ? ?# 安裝 PHP 及相關組件
- 配置 Nginx
Nginx 是一個開源、高性能的 HTTP 和反向代理服務器。Laravel 項目的部署需要配置 Nginx 服務器以確保其正確運行。
打開 Nginx 的配置文件 /etc/nginx/nginx.conf 并增加以下內容:
server {
listen 80; server_name yourdomain.com; # 請替換成您的域名或者 IP root /path/to/laravel/public; # 請替換成 Laravel 項目的 public 目錄的絕對路徑 index index.php; location / { try_files $uri $uri/ /index.php?$query_string; } location ~ .php$ { fastcgi_pass unix:/var/run/php-fpm/php-fpm.sock; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params; }
}
- 安裝 Composer
Composer 是 PHP 項目的依賴管理工具,Laravel 項目的部署需要用到它。
$ curl -sS https://getcomposer.org/installer | php ? ?# 下載并安裝 Composer
$ mv composer.phar /usr/local/bin/composer ? ?# 移動 Composer 可執行文件到 /usr/local/bin 目錄
- 克隆 Laravel 項目
將 Laravel 項目克隆到服務器上,并安裝其依賴:
$ git clone https://github.com/laravel/laravel.git ? ?# 克隆 Laravel 項目
$ cd laravel/
$ composer install ? ?# 安裝 Laravel 項目依賴
- 配置 Laravel 項目
在 Laravel 項目目錄下,將 .env.example 文件重命名為 .env,并修改其中的配置信息:
APP_NAME=YourAppName
APP_ENV=production
APP_KEY=base64:XxxXxxXxxXxxXxxXxxXxxXxxXxxXxxXxxXxxXxxXxx=
APP_DEBUG=false
APP_URL=http://yourdomain.com ? ?# 請替換成您的域名或者 IP
…
DB_CONNECTION=mysql
DB_HOST=127.0.0.1 ? ?# 此處填寫您的 MySQL 數據庫地址
DB_PORT=3306
DB_DATABASE=your_database_name ? ?# 此處填寫您的數據庫名
DB_USERNAME=your_database_username ? ?# 此處填寫您的數據庫用戶名
DB_PASSWORD=your_database_password ? ?# 此處填寫您的數據庫密碼
- 運行 Laravel 項目
通過以下命令即可在 Nginx 上啟動 Laravel 項目:
$ sudo systemctl start nginx ? ?# 啟動 Nginx 服務器
$ sudo systemctl start mysql ? ?# 啟動 MySQL 數據庫
$ sudo systemctl start php-fpm ? ?# 啟動 PHP-FPM 服務
訪問您的域名或者 IP,如果顯示 Laravel 的歡迎界面,則表明項目部署成功。
- 部署實踐中的一些問題與建議
- 如果您的服務器被設置了安全組規則,需要確保入站規則中的 TCP 端口 80(Nginx 默認的 HTTP 端口)和 TCP 端口 22(SSH 連接端口)已經開放。
-
在 Laravel 項目部署過程中,您可能會遇到文件讀寫權限的問題。可以用以下命令解決:
$ sudo chown -R nginx:nginx /path/to/laravel ? ?# 更改 Laravel 項目目錄的用戶權限
?$ sudo chmod -R 755 /path/to/laravel ? ?# 更改 Laravel 項目目錄的讀寫權限 - 建議將數據庫、服務器等敏感信息存儲在 .env 文件中,并將其加入 .gitignore 文件中,避免提交到代碼庫中而造成信息泄露。
總結:LNMP 是一組高效穩定的 Web 服務器架構,可用于 Laravel 項目的部署。本文介紹了配置 LNMP 架構、安裝 Composer 工具、克隆并配置 Laravel 項目、啟動 Laravel 項目等步驟。部署實踐中可以遵循安全、快速、靈活的原則,解決項目中出現的問題。