实验环境

阿里云ECS服务器:ubuntu14.04LTS 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_opendisable_functions中去掉

使用sudo lnmp vhost add命令添加虚拟主机,自动在/usr/local/nginx/conf/vhost/usr/local/apache/conf/vhost生成域名.conf

修改nginx中的“域名.conf”文件的root目录laravel的根目录/public(比如使用composer create-project laravel/laravel laravel命令生成的laravel目录)

修改apache中的“域名.conf”文件:open_basedir 后面的路径同上一步中的laravel的根目录,Document root和Directory后面的路径为“laravel根目录/public”,这是域名绑定的入口目录

使用git工具将github或oschina.net的代码克隆至域名绑定root目录,使用chmod 777 -R storage命令给storage文件夹读写权限
使用composer installbower install命令安装相关php依赖和前端依赖

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

问题解决

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

解决方法:
1.检查是否使用composer安装好php函数依赖
2.检查storage文件夹是否有读写权限;
3.检查apache的虚拟主机配置文件中的open_basedirDirectory目录是否正确;

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

解决办法:修改php.inidisable_functions()

问题三:页面cssjs资源不能正常引用?

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