如何在 Ubuntu 18.04 上使用 Nginx 安装 Laravel 5.6 PHP 框架
本教程适用于这些操作系统版本
- Ubuntu 18.04(仿生海狸)
- Ubuntu 15.10(狡猾的狼人)
在此页
- 我们将做什么
- 先决条件
- 第 1 步 - 更新 Ubuntu
- 第 2 步 - 安装 Nginx
- 第 3 步 - 安装 PHP 7.2 和 PHP-FPM
- 第 4 步 - 安装 MariaDB
- 第 5 步 - 安装 PHP Composer
- 第 6 步 - 为 Laravel 配置 Nginx 虚拟主机
- 第 7 步 - 安装 Laravel
- 第 8 步 - 测试
- 参考资料
Laravel 是一个免费开源的 PHP 框架,它实现了 MVC(模型-视图-控制器)设计模式。它由 Taylor Otwell 于 2011 年创建,旨在提供 CodeIgniter (CI) 框架的高级替代方案。 2011 年,Laravel 发布了版本 1 和版本 2,最新版本 5.6 带来了更多改进的功能,例如命令行 (CLI) 支持命名为 artisan、支持不同的数据库系统、路由改进等。
在本教程中,我将指导您逐步安装 Laravel 5.6 版,使用 Nginx 作为 Web 服务器、PHP-FPM 7.2 和 MariaDB。 Laravel 5.6 将在 LEMP 栈下运行,操作系统版本为 Ubuntu 18.04。
在 CentOS 7 上也有一个适用于 Laravel 的教程版本。
我们将要做什么
- 更新 Ubuntu 存储库
- 安装 Nginx
- 安装 PHP-FPM 7.2
- 安装 MariaDB
- 安装 PHP 编写器
- 为 Laravel 配置 Nginx 虚拟主机
- 安装 Laravel
- 测试
先决条件
- Ubuntu 18.04 服务器
- 根权限
第 1 步 - 更新 Ubuntu
在我们开始安装之前,我们需要更新存储库,然后将所有包更新到最新版本。所以要做到这一点,首先使用 ssh 登录到 Ubuntu 服务器。
ssh
现在,更新您的 Ubuntu 存储库并将系统上的所有软件包升级到最新版本。
sudo apt update
sudo apt upgrade
重新启动服务器,然后使用 ssh 再次连接。
第 2 步 - 安装 Nginx
在这一步中,我们将在系统中安装 Nginx 1.14。它在默认的 ubuntu 存储库中可用,您只需要使用以下 apt 命令安装它。
sudo apt install nginx -y
安装完成后,启动nginx服务,使用systemctl命令将其添加为系统开机自动启动。
systemctl start nginx
systemctl enable nginx
Nginx 运行在 80 端口,使用 netstat 命令查看相关统计信息。
netstat -plntu

或者您也可以使用 curl 命令。
curl -I localhost
第 3 步 - 安装 PHP 7.2 和 PHP-FPM
Nginx安装好了,现在我们需要在系统上安装PHP-FPM version 7。我们将安装 PHP 7.2 和 Laravel 所需的一些 PHP 扩展。
使用以下命令安装 PHP 和 PHP-FPM 7.2 以及所有需要的扩展。
sudo apt install php7.2 php7.2-curl php7.2-common php7.2-cli php7.2-mysql php7.2-mbstring php7.2-fpm php7.2-xml php7.2-zip -y
接下来,转到 PHP 配置目录并编辑 fpm 目录中的 php.ini 文件。
cd /etc/php/7.2/
vim fpm/php.ini
取消注释以下 CGI 行,并将值更改为 0。
cgi.fix_pathinfo=0
就是这样。保存并退出。
现在我们可以启动 PHP-FPM 并使其在系统启动时自动启动。
systemctl start php7.2-fpm
systemctl enable php7.2-fpm
默认情况下,在 Ubuntu 上,PHP-FPM 在 sock 文件下运行。通过以下方式使用 netstat 命令检查 PHP-FPM sock 文件:
netstat -pl | grep php7.2-fpm

Ubuntu 18.04 系统上已经安装了 PHP 和 PHP-FPM 7.2。
第 4 步 - 安装 MariaDB
这是可选的,但是当你的 Laravel 项目是基于 MySQL 的时候,你需要为你的项目做这个。我们将在系统上安装 MariaDB 最新版本 10.1。
使用以下命令从存储库安装 MariaDB。
sudo apt install mariadb-server mariadb-client -y
安装完成后,运行 MariaDB 并使其在系统启动时启动。
systemcl start mysql
systemctl enable mysql
MariaDB 在端口 3306 上启动,使用 netstat 命令检查它。
netstat -plntu

接下来,使用下面的 mysql_secure_installation 命令配置 MariaDB root 密码。
mysql_secure_installation
输入您的 root 密码,删除匿名用户,禁止 root 远程登录等。
Set root password? [Y/n] Y
Remove anonymous users? [Y/n] Y
Disallow root login remotely? [Y/n] Y
Remove test database and access to it? [Y/n] Y
Reload privilege tables now? [Y/n] Y
MariaDB 的安装和配置已经完成。
第 5 步 - 安装 PHP Composer
Composer 是 PHP 编程语言的包管理器。创建于 2011 年,其灵感来自 Node.js npm 和 Rubys named bundler。在 ubuntu 18.04 上,存储库中提供了 composer,因此我们可以使用 apt 命令安装它。
使用以下命令安装 PHP Composer。
sudo apt install composer -y
安装完成后,运行composer命令,你会得到如截图所示的结果。
composer

PHP Composer 安装在 Ubuntu 18.04 上。
第 6 步 - 为 Laravel 配置 Nginx 虚拟主机
在这一步中,我们将为 Laravel 配置 nginx 虚拟主机。但在此之前,我们必须确定 Laravel 项目的目录。在我们的例子中,我们将为项目使用 /var/www/laravel 目录。只需使用 mkdir 创建它。
mkdir -p /var/www/laravel
接下来进入nginx配置目录,在sites-available目录下新建一个虚拟主机文件laravel。
cd /etc/nginx/
vim sites-available/laravel
将以下配置粘贴到那里。
server {
listen 80;
listen [::]:80 ipv6only=on;
# Log files for Debugging
access_log /var/log/nginx/laravel-access.log;
error_log /var/log/nginx/laravel-error.log;
# Webroot Directory for Laravel project
root /var/www/laravel/public;
index index.php index.html index.htm;
# Your Domain Name
server_name laravel.hakase-labs.co;
location / {
try_files $uri $uri/ /index.php?$query_string;
}
# PHP-FPM Configuration Nginx
location ~ \.php$ {
try_files $uri =404;
fastcgi_split_path_info ^(.+\.php)(/.+)$;
fastcgi_pass unix:/run/php/php7.2-fpm.sock;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
}
就是这样。保存并退出。
现在通过创建 laravel 文件到 sites-enabled 目录的符号链接来激活虚拟主机。
然后测试nginx配置,确保没有错误。
ln -s /etc/nginx/sites-available/laravel /etc/nginx/sites-enabled/
nginx -t
laravel 的 Nginx 虚拟主机已经创建,现在重启 nginx 服务。
systemctl restart nginx

第 7 步 - 安装 Laravel
在我们开始安装 Laravel 之前,请确保您的系统上安装了解压缩实用程序。如果您没有该工具,请使用以下命令安装它。
sudo apt install unzip -y
我们已经为 Laravel 定义了一个目录:/var/www/laravel 目录。转到那个目录。
cd /var/www/laravel
使用 composer 命令安装 Laravel。安装 Laravel 有两种方式:通过 Laravel Installer 安装和通过 Composer 创建项目安装。
我们将通过 composer create project 安装最新的 Laravel 5.6 版本。
运行以下作曲家命令。
composer create-project laravel/laravel .
您需要等待 Laravel 安装。

Laravel 安装完成。

我们需要将 Laravel 项目目录的所有权更改为 www-data 用户,并将存储目录的权限更改为 755。
chown -R www-data:root /var/www/laravel
chmod 755 /var/www/laravel/storage
Laravel 安装已经完成,没有任何错误。
第 8 步 - 测试
在虚拟主机配置文件中,我们已经定义了 Laravel 的域名 laravel.hakase-labs.co。
打开你的网络浏览器并访问你安装 Laravel 的域,我在测试服务器上的是 http://laravel.hakase-labs.co/。
你应该会看到 Laravel 主页。

在 Ubuntu 18.04 上使用 Nginx、PHP-FPM 7.2 和 MariaDB 安装 Laravel 成功。
参考
- https://laravel.com/docs/5.6/installation