本教程将会涉及以下工具:

  • Ubuntu 14.04 LTS
  • PHP 5.5
  • MySQL
  • Laravel 5.0
  • Nginx

参考文章:Ubuntu 14.04 上使用 Nginx 部署 Laravel

此文章对原文章基于 Laravel 4 有所修改添加,同样适用于服务器上部署

开发推荐通过 Vagrant 搭建虚拟机环境进行练习。

简介

Laravel 是一个开源的、现代的 PHP 开发框架,他的目标是提供一个简单并且优雅的开发方式,让开发人员可以快速的开发出一个完整的 web 应用程序。

在本指南中,我们将讨论如何在 Ubuntu 14.04 (LTS) 安装 Laravel。我们将使用 Nginx 作为我们的 web 服务器和 Laravel 5.0 版本。

安装服务器组件

首先,我们需要更新软件包,以确保我们有一个新的可用的软件包列表。然后我们可以安装必要的组件:

sudo apt-get update //获得最近的软件包的列表
sudo apt-get install nginx //安装Nginx服务器
sudo apt-get install php5-fpm //安装php5
sudo apt-get install php5-cli //安装php5在命令行运行的接口
sudo apt-get install php5-mcrypt //安装php5加密拓展库
sudo apt-get install php5-mysql //安装php的MySQL驱动
sudo apt-get install git //安装git神器

命令将安装 Nginx 作为我们的 web 服务器和 PHP 语言环境。安装 git 是因为 composer 工具的基础组件是 git,我们将使用 composer 安装 Laravel 及更新相关的包。

修改 PHP 配置文件

打开 PHP 配置文件。

sudo vim /etc/php5/fpm/php.ini

找到 cgi.fix_pathinfo 修改为 0 ,如下:

cgi.fix_pathinfo=0

保存并退出,因为这是一个可能的安全漏洞,详情可以看鸟哥的文章

使用 php5enmod 启用 MCrypt 扩展:

sudo php5enmod mcrypt

现在我们需要重启下 php5-fpm 服务:

sudo service php5-fpm restart

PHP 已经配置完成。

配置 Nginx 和 Web 目录

创建网站目录 :

sudo mkdir -p /var/www/laravel

打开 nginx 默认配置文件:

sudo vim /etc/nginx/sites-available/default

默认配置如下:

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;
}
}

修改如下:

server {
listen 80 default_server;
listen [::]:80 default_server ipv6only=on; # 设定网站根目录
root /var/www/laravel/public;
# 网站默认首页
index index.php index.html index.htm; # 服务器名称,server_domain_or_IP 请替换为自己设置的名称或者 IP 地址
server_name server_domain_or_IP; # 修改为 Laravel 转发规则,否则PHP无法获取$_GET信息,提示404错误
location / {
try_files $uri $uri/ /index.php?$query_string;
} # PHP 支持
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;
}
}

修改完成,我们需要重启下 nginx 服务:

sudo service nginx restart

安装 Composer

在命令行执行:

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

在当前目录会发现 composer.phar 这个文件,这个文件就是 Compoesr 的执行文件,我们需要移到 /usr/local/bin , 这样全局就能调用 Composer 。

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

Composer 安装完成。

安装 Laravel

1.我们用composer来安装 Laravel 5.0 到 /var/www/laravel 。

sudo composer create-project laravel/laravel laravel 5.0.22

2.用Git克隆远程仓库中已存在的项目可以参考廖雪峰的文章,这也是一篇适合初学者学习Git的好文章

赋予写的权限

更改网站目录所属组:

sudo chown -R :www-data /var/www/laravel

/var/www/laravel 该目录存储 Laravel 各种服务的临时文件 , 所以需要写的权限:

sudo chmod -R 775 /var/www/laravel

完成

在浏览器打开服务器的 IP 地址或域名,应该看到你的网站在运行。

这时候你就可以根据自己的需要完善自己的代码了,例如数据库迁移之类的操作可以参考岁寒的文章

Ubuntu 14.04 上使用 Nginx 部署 Laravel的更多相关文章

  1. deepsooncms在Ubuntu 14.04上部署教程

    deepsooncms在Ubuntu 14.04上部署教程 一.安装mono1.在命令行运行sudo apt-key adv --keyserver keyserver.ubuntu.com --re ...

  2. [转] 如何在 Ubuntu 14.04 上通过 apt-get 安装 Apache Tomcat 7

    PS:war 部署路径:/var/lib/tomcat7/webapps http://www.linfuyan.com/how-to-install-apache-tomcat7-on-ubuntu ...

  3. 翻译:在Ubuntu 14.04上安装FTP服务器的方法

    说明: 1.原文地址:http://www.krizna.com/ubuntu/setup-ftp-server-on-ubuntu-14-04-vsftpd/ 2.今天要做一个网络日志的迁移程序,搬 ...

  4. Ubuntu 14.04 上安装 Gurobi

    参考: Installing Gurobi 7 on Linux Ubuntu 14.04 上安装 Gurobi 1.在gurobi上创建一个账户,并登陆: 2.从gurobi optimizer上下 ...

  5. 在Ubuntu 14.04 上安装 FTP 服务

    1. sudo apt-get update 2. sudo apt-get install vsftpd 3. adduser sammy Assign a password when prompt ...

  6. 如何在 Ubuntu 14.04 上安装 Elasticsearch,Logstash 和 Kibana

    介绍 在本教程中,我们将去的 Elasticsearch 麋鹿堆栈安装 Ubuntu 14.04 — — 那就是,Elasticsearch 5.2.x,Logstash 2.2.x 和 Kibana ...

  7. 怎样利用Heartbeat与Floating IP在Ubuntu 14.04上创建高可用性设置

    提供 ZStack社区 内容简单介绍 Heartbeat是一款开源程序,负责将集群基础设施容量--包括集群成员与消息收发--交付至客户server. Hearbeat在高可用性server基础设施其中 ...

  8. 如何在Ubuntu 16.04上安装Nginx

    原文链接https://www.digitalocean.com/community/tutorials/how-to-install-nginx-on-ubuntu-16-04 介绍 Nginx是世 ...

  9. Ubuntu 14.04上安装caffe

    本来实在windows 10上尝试安装caffe,装了一天没装上,放弃; 改在windows上装ubuntu的双系统,装了一个下午,不小心windows的系统盘被锁死了,也不会unlock?只好含泪卸 ...

随机推荐

  1. SQL 数据类型、约束、索引及视图

    一.数据类型:整数:int,bigint,smallint小数:float,real,decimal(长度,精度),numeric(长度,精度)字符:char(n),varchar(n) 8000英文 ...

  2. 共享器 TS ERROR WINDOWS-FAILED 错误解决方法

    问题:TS  ERROR WINDOWS-FAILED 原因:微软操作系统自动更新补丁(KB956572)与终端机软件有冲突. 解决方法: .打开“开始菜单”: .打开“控制面板”: .打开“添加/删 ...

  3. 如何启用Oracle EBS Form监控【Z】

    前言: 有时候,因某些需要,必须知道Oracle的Form被使用的情况,以方面我们做出决策: 例如,如果某个Form被使用的次数非常多,那么,这个Form的相关SQL代码就应该优先处理,以减少服务器负 ...

  4. C#XML操作详解

     添加引用 using System.Xml; 创建XML文件 XmlDocument xmldoc=new XmlDocument(); //加入XML的声明段落:<?xmlversion=& ...

  5. sql 设计反模式

    ---恢复内容开始--- 1.乱穿马路 ---- > 目标 : 存储多值属性. 1) 错误方法: 使用格式化的逗号分割列表. 1-> 不适合查询,定位数据,无法运用聚合函数进行分组,不利于 ...

  6. Linux学习sed命令

    sed 是一种在线编辑器,它一次处理一行内容.处理时,把当前处理的行存储在临时缓冲区中,称为“模式空间”(pattern space),接着用sed命令处理缓冲区中的内容,处理完成后,把缓冲区的内容送 ...

  7. chrome误删书签恢复。

    由于手残本来想添加网页到书签文件夹的,结果点了删除. 但是整个人就炸了,里面有我好多链接. 于是立马Google了一下,发现不少朋友和我一样,都是误删了书签或者书签文件夹. 但是chrome并没有书签 ...

  8. Java中Overload和Override的区别

    由于项目正式收工,闲来无事突然发现以前的文档上有一个问题介绍的不是很详细 override(重写,覆盖) ​​ 1.方法名.参数.返回值相同. ​2.子类方法不能缩小父类方法的访问权限. 3.子类方法 ...

  9. 迁移到gitbook

    现在要迁移到gitbook啦, 一些note类分享就只在gitbook发了, 其他一些比较长的分享会第一时间发到gitbook,但也会在这边同步 我的gitbook

  10. myeclipse 环境配置优化,不断跟新整理中

    myeclipse 环境配置,不断跟新整理中1.General --->Workspace ---> UTF-8 工作环境编码2.General --->Editors --> ...