如何在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 的更多信息,请访问 网站 。 开发愉快!