如何在Ubuntu12.04LTSVPS上使用Nginx安装Laravel

来自菜鸟教程
跳转至:导航、​搜索

状态: 已弃用

本文介绍了不再受支持的 Ubuntu 版本。 如果您当前正在运行运行 Ubuntu 12.04 的服务器,我们强烈建议您升级或迁移到受支持的 Ubuntu 版本:

原因: Ubuntu 12.04 已于 2017 年 4 月 28 日终止生命周期 (EOL) and no longer receives security patches or updates. This guide is no longer maintained.

请参阅: 本指南可能仍可用作参考,但可能不适用于其他 Ubuntu 版本。 如果可用,我们强烈建议使用为您正在使用的 Ubuntu 版本编写的指南。 您可以使用页面顶部的搜索功能来查找更新的版本。


介绍


Laravel 是 PHP 编程语言的网站框架。 它允许开发人员通过抽象大多数 Web 项目中使用的常见任务(例如身份验证、会话和缓存)来快速开发网站。 Laravel 4 是 Laravel 的最新版本,它基于一个名为 Symfony 的旧框架,但具有更具表现力的语法。 它是使用 Composer 安装的,它是一个依赖管理器,允许开发人员在 Web 项目中集成更多的开源 PHP 项目。 如果您想阅读 Laravel 的快速介绍,请阅读 介绍 。 如果您想了解更多关于 Composer 的信息,请访问 网站

准备

让我们从更新安装在您的 VPS 上的软件包开始。 这样可以确保在不兼容的软件版本上不会出现问题。 此外,请确保以 root 身份运行本教程中的所有内容,如果不这样做,请确保在每个命令之前添加 sudo

apt-get update && apt-get upgrade

当您被要求确认时,按 Enter。

安装


现在我们需要安装安装 Laravel 所需的实际包。 这基本上是 Nginx 和 PHP。 因为 Composer 是从命令行运行的,所以我们确实需要 php5-cli,并且因为我们想使用 FastCGI 进程管理器管理 Nginx 和 PHP 之间的连接,所以我们还需要 php5-fpm。 此外,Laravel 需要 php5-mcrypt 而 Composer 需要 git

apt-get install nginx php5-fpm php5-cli php5-mcrypt git

这需要一些时间来安装,但您现在已经准备好配置 Nginx 和 PHP。

配置 Nginx

我们将配置 Nginx,就像 Laravel 是您将在其上运行的唯一网站一样,基本上接受每个 HTTP 请求,无论 Host 标头包含什么。 如果您的 VPS 上需要多个网站,请参考 本教程

为您的 Laravel 网站创建一个专用文件夹:

mkdir /var/www
mkdir /var/www/laravel

打开默认的虚拟主机文件。

nano /etc/nginx/sites-available/default

配置应如下所示:

server {
        listen   80 default_server;
        
        root /var/www/laravel/public/;
        index index.php index.html index.htm;

        location / {
             try_files $uri $uri/ /index.php$is_args$args;
        }

        # pass the PHP scripts to FastCGI server listening on /var/run/php5-fpm.sock
        location ~ \.php$ {
                try_files $uri /index.php =404;
                fastcgi_pass unix:/var/run/php5-fpm.sock;
                fastcgi_index index.php;
                fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
                include fastcgi_params;
        }
}

现在保存并退出!

配置 PHP

我们需要对 PHP 配置做一个小的改动。 打开 php.ini 文件:

nano /etc/php5/fpm/php.ini

找到 cgi.fix_pathinfo=1 行,并将 1 更改为 0。

cgi.fix_pathinfo=0

如果这个数字保持为 1,PHP 解释器将尽最大努力处理尽可能靠近请求文件的文件。 这是一个可能的安全风险。 相反,如果这个数字设置为 0,解释器将只处理确切的文件路径——这是一种更安全的选择。 现在保存并退出 nano。

我们需要对 php5-fpm 配置进行另一个小改动。 打开 www.conf:

nano /etc/php5/fpm/pool.d/www.conf

找到该行,listen = 127.0.0.1:9000,并将 127.0.0.1:9000 更改为 /var/run/php5-fpm.sock。

listen = /var/run/php5-fpm.sock

再次:保存并退出!

(重新)启动 PHP 和 Nginx

现在确保两个服务都重新启动。

service php5-fpm restart
service nginx restart

安装作曲家

现在是安装 Composer 的时候了,这个过程非常简单。 让我们从下载 Composer 开始:

curl -sS https://getcomposer.org/installer | php

现在全局安装它:

mv composer.phar /usr/local/bin/composer

安装 Laravel

注意: 如果您在 DigitalOcean 的 512MB VPS 上安装 Laravel,请确保将交换文件添加到 Ubuntu 以防止其内存不足。 您可以通过发出以下命令快速执行此操作。 这仅在 1 个会话期间有效,因此如果您在本教程中重新启动,请再次添加交换文件。

dd if=/dev/zero of=/swapfile bs=1024 count=512k
mkswap /swapfile
swapon /swapfile

最后,让我们安装 Laravel。

composer create-project laravel/laravel /var/www/laravel/ 4.1

测试


现在浏览到您的云服务器的 IP。 你可以找到使用:

/sbin/ifconfig|grep inet|head -1|sed 's/\:/ /'|awk '{print $3}'

它现在会显示一个错误! 什么? 仍然需要在用于缓存的文件夹上设置权限。 啊! 现在让我们这样做:

修复权限

这真的很容易解决:

chgrp -R www-data /var/www/laravel
chmod -R 775 /var/www/laravel/app/storage

包起来


这样一来,您现在就可以享受在快速 Nginx 后端上运行的 Laravel 了! 如果你想在 Laravel 安装中使用 MySQL,这非常简单:只需发出 apt-get install mysql-server 即可立即安装 MySQL。 有关使用 Laravel 的更多信息,请访问 网站 。 开发愉快!

提交人:沃特十博世