Justin's Words

在 Nginx 安装 Laravel

环境: Ubuntu 14.04

安装后端必要组件

1
2
sudo apt-get update
sudo apt-get install nginx php5-fpm php5-cli php5-mcrypt git

组件简单解释:

  • nginx: Nginx HTTP 服务器,具体配置看这里:Nginx restore in Ubuntu
  • php5-fpm: PHP5 处理器主件,必要配置看这里:运维笔记(二)
  • php5-cli: PHP5 命令行支持
  • php5-mcrypt: PHP5 算法支持
  • git: Git 版本控制系统

启动 MCrypt 扩展:

1
sudo php5enmod mcrypt

重启 php5-fpm 使扩展生效:

1
sudo php5enmod mcrypt

自定义 Nginx 根目录,首先你得配置好 Nginx

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

修改 root /path/to/yoursite 即可,因为我们使用 Laravel 所以根文件夹应该指向 application/public,把 Nginx 默认根目录也改了看个人喜欢,如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
server {
listen 80 default_server;
listen [::]:80 default_server ipv6only=on;

root /var/www/laravel/public;
index index.php index.html index.htm;

server_name localhost;

location / {
try_files $uri $uri/ index.php?$query_string;
}
...
}

这里有个插曲,就是我配置 try_files $uri $uri/ index.php?$query_string 后,Laravel 的路由功能竟然不起作用,除了 / 外其他全部 404,后来我在这里 找到解决方法,如下配置即可解决:

1
2
3
location / {
try_files $uri $uri/ /index.php;
}

安装 Composer 和 Laravel

安装 Composer

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

执行完后在 ~ 文件夹下会创建文件 composer.phar,移动该文件到 /usr/local/bin/ 使全局命令生效:

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

通过 Laravel 安装工具安装 Laravel

1
composer global require \"laravel/installer=~1.1\"

你将可以如下生成一个基于 Laravel 框架项目:

1
~/.composer/vendor/bin/laravel new laravel_project

为了方便,建议把 ~/.composer/vendor/bin/laravel 软链接到 /usr/local/bin/laravel

1
sudo ln -s ~/.composer/vendor/bin/laravel /usr/local/bin/laravel

在 HTTP 服务器(也就是 Nginx)根目录下,创建一个新的基于 Laravel 框架的项目:

1
sudo laravel new blog

通过 Composer Create-Project

这个我试了超级慢,在国内嘛你懂的

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

修改 app/storage 权限使其具有写入权限

1
sudo chmod -R 777 /var/www/laravel/app/storage

访问

现在访问你的域名或 IP 应该就能看到 You have arrivedLaravel 的大 Logo 了 laravel