MENU

Laravel部署到生产环境CentOS+宝塔面板过程整理

June 11, 2019 • Read: 47 • Laravel阅读设置

系统

本人使用的是CentOS,具体安装过程就不在本文体现了

宝塔面板安装

安装命令
$ yum install -y wget && wget -O install.sh http://download.bt.cn/install/install_6.0.sh && sh install.sh

准备工作

Git升级

查看当前版本

$ git --version
git version 1.8.1

当前版本过低

安装依赖软件

$ yum install curl-devel expat-devel gettext-devel openssl-devel zlib-devel asciidoc
$ yum install  gcc perl-ExtUtils-MakeMaker

卸载系统自带的低版本Git

$ yum remove git

编译安装最新的Git版本

$ cd /usr/local/src/
$ wget https://www.kernel.org/pub/software/scm/git/git-2.22.0.tar.xz
$ tar -vxf git-2.22.0.tar.xz
$ cd git-2.22.0
$ make prefix=/usr/local/git all
$ make prefix=/usr/local/git install
$ echo "export PATH=$PATH:/usr/local/git/bin" >> /etc/profile
$ source /etc/profile

检查Git版本

$ git --version
git version 2.22.0

生成Git秘钥

配置Git

$ git config --global user.name "Your Name"
$ git config --global user.email your@example.com

查看是否有密钥文件

ls -al ~/.ssh/

添加密钥

ssh-keygen -t rsa -C "your_email@example.com"

一路回车确认yes
再次查看秘钥文件是否创建

ls -al ~/.ssh

可以看到以下两个文件:

  • id_rsa —— SSH 秘钥的 私钥 (Private Key)
  • id_rsa.pub —— SSH 秘钥的 公钥 (Public Key)

开始部署

初次部署

创建站点
WX20190621-130731.png

cd到网站目录,克隆你的项目

git clone git@你的Git项目地址.git

记得把克隆的项目从项目文件夹剪切到网站根目录

修改运行目录
WX20190621-141323.png

克隆完成后需要安装项目需求的包裹

$ composer install

提示如下错误:

意思是composer版本太低,请提示升级composer

$ composer selfupdate

再次执行仍然报错,提示如下错误:

意思是没有启用PHP的fileinfo扩展,我们来启用一下

再次执行仍然报错,提示如下错误:
WX20190621-111714.png

意思是我们禁用了proc_open函数,我们取消一下禁用
WX20190621-112330.png

再次执行composer install没问题了,如图所示
WX20190621-112718.png

创建创建.env环境文件

$ cp .env.example .env

设置为nginx/Apache的实际的用户组,宝塔的是www

$ chown -R www:www *

设置权限

$ chmod -R 755 *
$ chmod -R 777 storage

生成新的app key

$ php artisan key:generate

修改数据库信息

[...]
DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=homestead
DB_USERNAME=homestead
DB_PASSWORD=secret
[...]

数据库迁移

$ php artisan migrate

如果有种子文件(seeder)的话,继续运行

$ php artisan db:seed

以上两个命令可以合并

$ php artisan migrate --seed

如果你用了Laravel Mix来编译前端文件,那么你还需要

$ yarn install

$ npm run dev

更新部署

先自己手动备份数据库的全部内容,可以用MySQL的Dump

停掉网站

$ php artisan down

更新代码及数据库

$ git pull
$ php artisan migrate

各种清空缓存和重建缓存

$ php artisan clear-compiled
$ php artisan cache:clear
$ php artisan config:cache
$ composer dump-autoload --optimize

关闭维护状态,更新完毕

$ php artisan up
无标签
最后编辑于: June 24, 2019