如何在 Ubuntu 20.04 上使用 Nginx 安装 Laravel PHP 框架
Laravel 是世界上最流行、免费、开源的 PHP 框架,以其富有表现力和优雅的语法而闻名。 Laravel 易于访问、功能强大,并提供大型、健壮和现代应用程序所需的一些最佳 Web 开发工具。
在本文中,您将了解如何在 Nginx Web 服务器上运行的 Ubuntu 20.04 服务器上安装 Laravel PHP 框架。
先决条件
- 如何在 Ubuntu 20.04 中使用 PhpMyAdmin 安装 LEMP Stack
第 1 步:安装所需的 PHP 模块
按照上面链接中的指南所述在 Ubuntu 20.04 服务器上设置 LEMP 堆栈后,您需要安装 Laravel 所需的其他 PHP 扩展,如下所示:
sudo apt update
sudo apt php-common php-json php-mbstring php-zip php-xml php-tokenizer
第 2 步:为 Laravel 创建数据库
接下来,您需要为您的 Laravel 应用程序创建一个 MySQL 数据库。因此,登录到您的 mysql shell 并按如下方式创建数据库。
sudo mysql
MariaDB [(none)]> CREATE DATABASE laraveldb;
MariaDB [(none)]> GRANT ALL ON laraveldb.* to 'webmaster'@'localhost' IDENTIFIED BY 'tecmint';
MariaDB [(none)]> FLUSH PRIVILEGES;
MariaDB [(none)]> quit
步骤3:在Ubuntu 20.04中安装Composer
Laravel 利用 composer(PHP 的依赖管理器)来管理其依赖项。因此,在使用 Laravel 之前,请确保您的系统上已安装 Composer,如图所示。
curl -sS https://getcomposer.org/installer | php
sudo mv composer.phar /usr/local/bin/composer
sudo chmod +x /usr/local/bin/composer
第四步:在 Ubuntu 20.04 中安装 Laravel
安装composer后,使用它来安装Laravel文件。进入存储 Web 文件的 /var/www/html
目录,然后使用 Composer 安装 Laravel,如图所示。请记住将 example.com
替换为存储 Laravel 文件的目录名称。
cd /var/www/html
composer create-project --prefer-dist laravel/laravel example.com
第5步:在Ubuntu 20.04中配置Laravel
要列出新 Laravel 安装的内容,请运行以下 ls 命令。您会注意到,已经自动创建了 .env
文件,而在过去,必须手动创建该文件。
ls -la /var/www/html/example.com/
接下来,对 Laravel 目录设置适当的权限,如下所示。
sudo chown -R :www-data /var/www/html/example.com/storage/
sudo chown -R :www-data /var/www/html/example.com/bootstrap/cache/
sudo chmod -R 0777 /var/www/html/example.com/storage/
sudo chmod -R 0775 /var/www/html/example.com/bootstrap/cache/
接下来,Laravel 使用应用程序密钥来保护用户会话和其他加密数据。默认的 .env
包含默认的应用程序密钥,但出于安全目的,您需要为 Laravel 部署生成一个新的应用程序密钥。
sudo php artisan key:generate
生成的密钥将作为 APP_KEY
的值附加到 .env
文件中。您可以使用 grep 命令查看附加的密钥。
grep -i APP_Key /var/www/html/example.com/.env
您还需要在 .env
中配置 Laravel 数据库连接详细信息,如以下屏幕截图所示。
sudo nano /var/www/html/example.com/.env
第 6 步:配置 NGINX 来为 Laravel 应用程序提供服务
为了让 NGINX 为您的新应用程序提供服务,您需要在 NGINX 配置中的 /etc/nginx/sites-available/
目录下为其创建一个服务器块。
sudo nano /etc/nginx/sites-available/example.com.conf
在下面的配置中,将 root 指令更新为 Laravel 应用程序的公共目录,并确保将 www.example.com
替换为您网站的域名,如图所示。
另外,设置 fastcgi_pass
指令应指向 PHP-FPM 正在侦听请求的介质(例如 fastcgi_pass unix:/run/php/php7.4 -fpm.sock
):
server{
server_name www.example.com;
root /var/www/html/example.com/public;
index index.php;
charset utf-8;
gzip on;
gzip_types text/css application/javascript text/javascript application/x-javascript image/svg+xml text/plain text/xsd text/xsl text/xml image/x-icon;
location / {
try_files $uri $uri/ /index.php?$query_string;
}
location ~ \.php {
include fastcgi.conf;
fastcgi_split_path_info ^(.+\.php)(/.+)$;
fastcgi_pass unix:/run/php/php7.4-fpm.sock;
}
location ~ /\.ht {
deny all;
}
}
保存文件,然后通过创建从 /etc/nginx/sites-available/example.com.conf
到 /etc/nginx/sites-enabled/ 的链接来启用 Laravel 站点配置目录。此外,删除默认的服务器块配置。
sudo ln -s /etc/nginx/sites-available/example.com.conf /etc/nginx/sites-enabled/
sudo rm /etc/nginx/sites-enabled/default
接下来,在重新启动服务之前运行以下命令来检查 NGINX 配置语法是否正确。
sudo nginx -t
sudo systemctl restart nginx
第 7 步:从 Web 浏览器访问 Laravel 应用程序
在此阶段,您需要测试您的 Laravel 部署是否正常工作以及是否可以从浏览器访问它。要使用虚拟域 example.com
,让我们使用本地计算机上的 /etc/hosts
文件来创建本地 DNS。
运行以下命令获取 Laravel 服务器的 IP 地址并将其添加到 /etc/hosts
文件中(根据您的设置替换该值)。
$ip 广告
$echo“192.168.56.11 example.com”| sudo tee -a /etc/hosts sudo tee -a /etc/hosts
现在在本地计算机上打开网络浏览器并使用以下地址进行导航。
http://www.example.com/
现在您已经安装了 Laravel,您可以开始构建您的 Web 应用程序或网站。有关更多信息,请参阅 Laravel 文档。