Linux 上配置 Laravel 环境

实验环境

  • 阿里云 ECS 服务器: Ubuntu 14.04 LTS 64位
  • 使用 lnmp.org 提供的 Linux+Nginx+Mysql+Apache+php 一键安装包,已安装 lnmpa
  • 其他条件满足(Git 工具和 ssh 私钥、composer 工具、bower 工具)

部署步骤

将 php 命令添加到系统环境变量中

# 往 /etc/enviroment 文件中添加: 
/usr/local/php/bin

#(该路径为 php 命令所在目录,前面一定要包含冒号)。

修改 php.ini

# 将 proc_get_status,proc_open 从 disable_functions 中去掉。
disable_functions = proc_get_status,proc_open;

# 修改为
*disable_functions = proc_get_status,proc_open;

添加虚拟主机

sudo lnmp vhost add
# 自动生成以下两个文件:
# /usr/local/nginx/conf/vhost/域名.conf
# /usr/local/apache/conf/vhost/域名.conf

修改 nginx 配置文件

# /usr/local/nginx/conf/vhost/域名.conf
root laravel的根目录/public

# 比如使用 composer create-project laravel/laravel laravel 命令生成的 laravel 目录

修改 apache 配置文件

# /usr/local/apache/conf/vhost/域名.conf
open_basedir laravel 根目录
Document root laravel 根目录/public
Directory laravel 根目录/public

克隆代码到本地

git clone git@github.com/zhonger/zhonger.github.io
sudo ln -s zhonger.github.io laravel 根目录

# 给 storage 文件夹读写权限
chmod 777 -R storage

# 安装相关 php 依赖和前端依赖
composer install
bower install

  就这样,laravel 就可以正常运行在 lnmpa 环境中了。

问题解决

问题一

问题

打开空白,使用浏览器控制台查看 network 为 500错误

解决方法

检查是否使用 composer 安装好 php 函数依赖;
检查 storage 文件夹是否有读写权限;
检查 apache 的虚拟主机配置文件中的 open_basedir 和 Directory 目录是否正确。

问题二

问题

composer install 命令执行返回 proc_open()proc_get_status() 两个函数不能正常使用?

解决方法

修改 php.ini 中 disable_functions()

问题三

问题

页面 css 和 js 资源不能正常引用?

解决方法

修改 nginx 的虚拟主机配置文件的 root 目录为 laravel 应用程序的根目录,而非 public 目录。

版权声明:如无特别声明,本文版权归 Mr Li 所有,转载请注明本文链接。

(采用 CC BY-NC-SA 4.0 许可协议进行授权)

本文标题:《 Laravel 5.2 在 LNMPA 一键安装包环境下的部署 》

本文链接:https://lisz.me/tech/php/laravel-lnmpa.html