Laravel框架已经成为很多人编写应用的第一选择,有人把它当作API,有人把其他的JS框架通过mix制作界面灵活的CSR应用,更有人把它制作成一个CLI应用。 同时Laravel也提供Homestead,很好的解决开发环境搭建这繁琐的步骤。

就当应用搭建完成,需要发布到服务器时,我们也会碰到一些在开发中没碰到的问题。有人会说还是去用Forge , 但是你总有时候需要自己搭建吧?一味的回避并不是解决问题的办法。 这里会提供一个无脑工作包,只需拷贝和复制就能完成部署。

首先先更新下

sudo apt-get upgrade

可以去看下Laravel的官方配置需求 https://laravel.com/docs/5.5/installation (我使用的是5.5lts)
sudo apt-get install -y git curl wget zip unzip

个人使用的是apache
sudo apt-get install apache2
sudo systemctl status apache2

这部分是需要对URL重写的一个设定
sudo a2enmod rewrite
sudo systemctl restart apache2

安装Mysql
sudo apt-get install mysql-server
mysql_secure_installation
apt-get install python-software-properties
add-apt-repository ppa:ondrej/php
安装PHP7
sudo apt-get purge php7.*

apt-get install php

apt-get update 

如果你只安装php7,你会漏掉Laravel需要的mbstring和xml parser,千万不要遗漏,会导致composer无法安装
sudo apt install php-xml
sudo apt-get install php-mbstring
安装composer
curl -sS https://getcomposer.org/installer | sudo php -- --install-dir=/usr/local/bin --filename=composer
sudo chown -R $USER $HOME/.composer
cd /var/www/html

把project克隆到html文档下
git clone https://github.com/your-git-project.git

cd /var/www/html/your-project

由于vender是.gitignore,所以每次都是需要安装一次
composer install

生成一个 .env文件

touch .env

把.env.example的内容复制到.env,然后保存

需要生成appkey(生成就是)
php artisan key:generate

对, 还有最后一步,就是把服务器指到应用目录
cd /etc/apache2/sites-available
nano 000-default.conf
DocumentRoot /var/www/html/yourproject/public

Please re-write apache2.conf as well!!

重启你的服务器

sudo service apache2 restart

here you go motherfucker! thanks

 

完工