网站搜索

如何在 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 利用 composerPHP 的依赖管理器)来管理其依赖项。因此,在使用 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 文档。