在 Ubuntu 上为 Nginx 安装 Laravel
本教程适用于这些操作系统版本
- Ubuntu 16.04(Xenial Xerus)
- Ubuntu 15.10(Wily Werewolf)
在此页
- 先决条件
- 安装 Nginx
- 安装 PHP-FPM
- 为 Laravel 配置 Nginx
- 配置PHP-FPM
- 安装作曲家
- 安装 Laravel
- 结论
我们已经在上一个教程中讨论过为基于 Apache 的 Ubuntu 服务器安装 Laravel。本教程将向您展示如何在 Nginx 服务器上安装 Laravel PHP 框架。
先决条件
与往常一样,您应该确保服务器在继续之前得到很好的更新。
sudo apt-get update
sudo apt-get upgrade
本教程假设您已经安装了基于 Ubuntu 的服务器。还要确保安装了 Git。如果没有,那么您可以按照我们的指南进行操作。
安装 Nginx
安装 Nginx 服务器简单直接。所以让我们这样做吧。
sudo apt-get install nginx
安装 PHP-FPM
PHP 与 Nginx 的工作方式与与 Apache 的工作方式不同。对于 Nginx,您需要 PHP 的 FastCGI 实现,称为 PHP-FPM (PHP-FastCGI Process Manager)。然后让我们安装 PHP。我们还需要 PHP 的 Mcrypt 扩展来让 Laravel 工作。
sudo apt-get install php5-fpm php5-cli php5-mcrypt
为 Laravel 配置 Nginx
在继续之前,让我们对已安装的 Nginx 服务器进行一些基本配置。首先我们需要创建安装 Laravel 的目录。
sudo mkdir -p /var/www/html/laravel
完成后,现在我们必须告诉 Nginx 这是我们网站将运行的地方。为此,我们需要在 Nginx 中创建一个虚拟主机条目。 Nginx 将默认配置存储在 /etc/nginx/sites-available/default 中名为 default 的文件中。让我们复制它并创建我们自己的文件版本。
sudo cp /etc/nginx/sites-available/default /etc/nginx/sites-available/laravel
让我们编辑配置文件
sudo nano /etc/nginx/sites-available/laravel
你会看到类似的东西
server {
listen 80 default_server;
listen [::]:80 default_server ipv6only=on;
root /usr/share/nginx/html;
index index.html index.htm;
server_name localhost;
location / {
try_files $uri $uri/ =404;
}
}
为了便于阅读,我删除了评论。您需要更改根位置,在我们的例子中为 /var/www/html/laravel/public。您还需要将 server_name 变量更改为您要使用的域名或服务器的 IP 地址。
编辑文件,使其如下所示
server {
listen 80 default_server;
listen [::]:80 default_server ipv6only=on;
root /var/www/html/laravel/public;
index index.php index.html index.htm;
server_name server_domain_or_IP;
location / {
try_files $uri $uri/ /index.php?$query_string;
}
location ~ \.php$ {
try_files $uri /index.php =404;
fastcgi_split_path_info ^(.+\.php)(/.+)$;
fastcgi_pass unix:/var/run/php5-fpm.sock;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
}
编辑后保存文件。现在我们需要启用这个配置文件。到目前为止,只有默认配置文件处于活动状态。为此,我们需要在目录 /etc/nginx/sites-enabled 中创建指向 laravel 文件的符号链接。我们还需要禁用默认配置文件,这样它就不会干扰我们的 laravel 安装。
sudo ln -s /etc/nginx/sites-available/laravel /etc/nginx/sites-enabled/
sudo rm /etc/nginx/sites-enabled/default
Nginx 服务器的配置已经完成。下一步是配置 PHP-FPM。
配置 PHP-FPM
这一步很简单,需要我们更改 PHP 配置文件中的一个变量。是时候打开 php.ini 了
sudo nano /etc/php5/fpm/php.ini
在其中找到以下文字
;cgi.fix_pathinfo=1
通过删除 ; 取消注释变量从前面并将其值更改为 1,使其看起来像
cgi.fix_pathinfo=0
这告诉 PHP 在找不到原始脚本时不要执行类似命名的脚本,这从安全角度来看很重要。
最后,我们还需要启用我们之前安装的 mcrypt 扩展。
sudo php5enmod mcrypt
就是这样。现在只需重新启动 PHP-FPM 服务即可加载更改。
sudo service restart php5-fpm
安装作曲家
Composer 是一个依赖管理工具,它允许我们通过一个命令安装各种 PHP 框架和库。它负责处理所有其他包和依赖项,如果您采用手动方式安装框架,则必须单独安装这些包和依赖项。它可以节省很多时间和麻烦。我们将使用 Composer 安装 Laravel。
下载作曲家。首先确保你在你的主目录中。
curl -sS https://getcomposer.org/installer | php
这会在您的主目录中下载 composer.phar 文件。现在,如果您愿意,可以使用 php composer.phar [command] 之类的命令从此处运行它,但由于我们更愿意在全球范围内运行 composer,因此我们需要将其转移到更合适的位置,以便我们可以轻松运行它。
sudo mv composer.phar /usr/local/bin/composer
现在你可以通过从任何地方调用 composer 来直接运行它。
安装 Laravel
现在我们已经安装了 composer,我们需要安装 Laravel。通过以下命令安装它。
sudo composer create-project laravel/laravel /var/www/html/laravel --prefer-dist
这会将最新版本的 Laravel(当前为 5.2)下载并安装到您的服务器。
在我们完成教程之前,我们需要给一些目录适当的权限。
sudo chgrp -R www-data /var/www/html/laravel
sudo chmod -R 775 /var/www/html/laravel/storage
结论
就是这样。您的 Laravel 安装已完成。现在在浏览器中启动 http://servername 或 http://serverip。如果成功,您应该会看到以下屏幕。
