系统
本人使用的是 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)
开始部署
初次部署
创建站点
cd 到网站目录,克隆你的项目
git clone git@你的Git项目地址.git
记得把克隆的项目从项目文件夹剪切到网站根目录
修改运行目录
克隆完成后需要安装项目需求的包裹
composer install
提示如下错误:
意思是 composer 版本太低,请提示升级 composer
composer selfupdate
再次执行仍然报错,提示如下错误:
意思是没有启用 PHP 的 fileinfo 扩展,我们来启用一下
再次执行仍然报错,提示如下错误:
意思是我们禁用了proc_open
函数,我们取消一下禁用
再次执行composer install
没问题了,如图所示
创建创建.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 serve
关闭维护状态,更新完毕
php artisan up