如何在 Ubuntu 12.04 LTS VPS 上使用 Nginx 安装 Laravel

金钱(警告)

** 状态:** 被贬值

如果您目前正在运行运行 Ubuntu 12.04 的服务器,我们强烈建议升级或迁移到支持的 Ubuntu 版本:

** 原因:** Ubuntu 12.04 已于 2017 年 4 月 28 日到期(EOL)并且不再收到安全补丁或更新。

** 相反,请参见:** 本指南可能仍然有用作为参考,但可能不会在其他Ubuntu版本上工作. 如果可用,我们强烈建议使用为您正在使用的Ubuntu版本撰写的指南。

介绍


Laravel 是 PHP 编程语言的网站框架,它允许开发人员通过抽象大多数 Web 项目中使用的常见任务来快速开发网站,例如身份验证、会话和缓存。 Laravel 4 的最新版本是基于名为 Symfony 的较旧框架,但具有更具表达性的语法。它使用 Composer,一个依赖管理器来安装,允许开发人员将更多开源 PHP 项目集成到 Web 项目中。

准备

让我们开始更新安装在您的VPS上的软件包,以确保软件的不兼容版本不会出现任何问题。 此外,请确保您在本教程中运行的一切作为根,如果没有,请确保在每个命令之前添加sudo!

1apt-get update && apt-get upgrade

当您被要求确认时点击 Enter。

安装


现在我们需要安装安装Laravel所需的实际包,这基本上是Nginx和PHP,因为Composer是从命令行运行的,所以我们需要php5-cli,而且因为我们要使用FastCGI Process Manager来管理Nginx和PHP之间的连接,我们也需要php5-fpm

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

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

配置 Nginx

我们将将 Nginx 配置为 Laravel 是您在其上运行的唯一网站,基本上接受每个 HTTP 请求,无论主机标题包含什么。

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

1mkdir /var/www
2mkdir /var/www/laravel

打开默认虚拟主机文件。

1nano /etc/nginx/sites-available/default

配置应该如下:

 1server {
 2        listen 80 default_server;
 3    	
 4        root /var/www/laravel/public/;
 5        index index.php index.html index.htm;
 6
 7        location / {
 8             try_files $uri $uri/ /index.php$is_args$args;
 9        }
10
11        # pass the PHP scripts to FastCGI server listening on /var/run/php5-fpm.sock
12        location ~ \.php$ {
13                try_files $uri /index.php =404;
14                fastcgi_pass unix:/var/run/php5-fpm.sock;
15                fastcgi_index index.php;
16                fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
17                include fastcgi_params;
18        }
19}

现在拯救和退出!

配置 PHP

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

1nano /etc/php5/fpm/php.ini

找到行,cgi.fix_pathinfo=1,然后更改 1 到 0。

1cgi.fix_pathinfo=0

如果这个数字被保留为1,PHP翻译器将尽力处理尽可能接近所请求的文件的文件,这是一个可能的安全风险。如果这个数字被设置为0,相反,翻译器只会处理准确的文件路径 - 一个更安全的替代方案。

我们需要在 php5-fpm 配置中做出另一个小变化。

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

查找行,听 = 127.0.0.1:9000,然后更改 127.0.0.1:9000 到 /var/run/php5-fpm.sock。

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

再次:拯救和退出!

(重新)启动 PHP 和 Nginx

现在,请确保两种服务都重新启动。

1service php5-fpm restart
2service nginx restart

安装组件

现在是安装Composer的时候了,这个过程很简单,让我们先下载Composer:

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

现在在全球范围内安装:

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

安装Laravel

Heads Up: 如果你在DigitalOcean的512MB VPS上安装了Laravel,请确保你在Ubuntu中添加了一个swapfile,以防止它失去内存。

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

最后,我们来安装Laravel。

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

测试


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

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

它现在会显示错误! 什么? 允许仍然需要设置在用于缓存的文件夹上。

确认许可证

实际上,这是一个很容易的修复:

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

包装上


因此,您现在可以享受 Laravel 在快速的 Nginx 后端上运行! 如果您想在 Laravel 安装时使用 MySQL,这非常容易:只需问题 apt-get install mysql-server,MySQL 将立即安装。有关使用 Laravel 的更多信息,请访问 网站

Submitted by: Wouter ten Bosch
Published At
Categories with 技术
comments powered by Disqus