如何在Ubuntu 18.04上使用Nginx安装Laravel 5.6 PHP Framework

Laravel是一个免费的开源PHP框架,它实现了MVC(模型 - 视图 - 控制器)设计模式。在本教程中,我将引导你...

如何在Ubuntu 18.04上使用Nginx安装Laravel 5.6 PHP Framework

Laravel是一个免费的开源PHP框架,它实现了MVC(模型 - 视图 - 控制器)设计模式。 它由Taylor Otwell于2011年创建,旨在为CodeIgniter(CI)框架提供高级替代方案。 2011年,Laravel发布了版本1和版本2,最新版本5.6提供了更多和改进的功能,例如命令行(CLI)支持,名为'artisan',支持不同的数据库系统,路由改进等。

在本教程中,我将逐步指导您如何使用Nginx作为Web服务器,PHP-FPM 7.2和MariaDB安装Laravel 5.6版。 Laravel 5.6将作为操作系统版本在Ubuntu 18.04的LEMP下运行。

在CentOS 7上也有针对Laravel的本教程的一个版本。

我们将要做什么

  1. 更新Ubuntu版本库
  2. 安装Nginx
  3. 安装PHP-FPM 7.2
  4. 安装MariaDB
  5. 安装PHP Composer
  6. 为Laravel配置Nginx虚拟主机
  7. 安装Laravel
  8. 测试

先决条件

  • Ubuntu 18.04服务器
  • 根特权

第1步 - 更新Ubuntu

在开始安装之前,我们需要更新存储库,然后将所有软件包更新到最新版本。 为此,首先使用ssh登录到Ubuntu服务器。

ssh root@ip

现在,更新您的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

启用并启动Nginx Web服务器

或者你也可以使用curl命令。

curl -I localhost

第3步 - 安装PHP 7.2和PHP-FPM

Nginx已安装,现在我们需要在系统上安装PHP-FPM版本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

安装并启动PHP-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

启动并检查MariaDB

接下来,使用下面的'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'和Ruby的'bundler'。 在Ubuntu 18.04上,Composer可以在存储库中使用,所以我们可以使用apt命令安装它。

使用以下命令安装PHP Composer。

sudo apt install composer -y

安装完成后,运行'composer'命令,你会得到如截图所示的结果。

composer

安装PHP Composer

在Ubuntu 18.04上安装PHP Composer。

第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

为Laravel配置Nginx

第7步 - 安装Laravel

在我们开始安装Laravel之前,请确保您的系统上安装了unzip实用程序。 如果您没有该工具,请使用以下命令进行安装。

sudo apt install unzip -y

我们已经为Laravel定义了一个目录:'/ var / www / laravel'目录。 转到该目录。

cd /var/www/laravel

用composer命令安装Laravel。 有两种方法可以安装Laravel:通过Laravel安装程序安装和通过Composer安装创建项目。

我们将通过Composer创建项目安装最新版本的Laravel 5.6。

运行以下Composer命令。

composer create-project laravel/laravel .

您需要等待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的主页。

Laravel成功安装

在Ubuntu 18.04上使用Nginx,PHP-FPM 7.2和MariaDB进行Laravel安装非常成功。

参考