目前市场上最好的数字藏品系统,已有十几家平台使用,用户量超过百万,安全性得到有效验证。联系交流:qq:236056471
本次操作均在Linux Debian系统下进行,如您使用其他操作系统,请修改相关操作指令。
- 操作系统: Linux Debian
- 数据库: mysql8
- php版本:8.0
- php框架:laravel9
- redis
- nginx
- 首发+寄售+转增+铸造+空投+盲盒+合成+发售日历+专辑+邀请注册+排行榜+积分
- 免费接入微信、支付宝、连连支付、杉德支付(可对接其他三方支付)
- 支持私链、文昌链或者可接入其他链
- 支持h5+app
- 支持白名单优先购、注册送空投,或者满足邀请人数送购买资格
- 删除禁用的函数:
putenv
proc_open
proc_get_status
pcntl_alarm
pcntl_signal
symlink
- 安装扩展:redis、fileinfo
1、下载项目
git clone [联系qq 236056471获取代码]
2、使用composer安装
composer install
3、将根目录的.env.example文件复制一份并改名为.env
cp .env.example .env
4、建立好数据库,并在根目录.env文件里配置好数据库账号密码
DB_DATABASE=nft
DB_USERNAME=root
DB_PASSWORD=root
5、创建APP KEY
php artisan key:generate
6、生成 JWT secret key
php artisan jwt:secret
7、执行数据库迁移并创建默认数据
php artisan migrate --seed
修改.env文件里的如下配置项
WECHAT_MCH_ID=商户号
WECHAT_MCH_SECRET_KET=商户秘钥
WECHAT_MP_APP_ID=公众号的app_id
证书放置在项目根目录/cert/wechat
文件夹里,文件命名如下:
# 商户私钥
apiclient_key.pem
# 商户公钥证书
apiclient_cert.pem
修改.env文件里的如下配置项
ALIPAY_APP_ID=支付宝分配的 app_id
ALIPAY_APP_SECRET_CERT=应用私钥
证书放置在项目根目录/cert/alipay
文件夹里,文件命名如下:
# 应用公钥证书
appCertPublicKey.crt
# 支付宝公钥证书
alipayCertPublicKey_RSA2.crt
# 支付宝根证书
alipayRootCert.crt
以下配置均在后台自行设置
- 储存,支持阿里云OSS和腾讯云COS或者是本地储存(使用本地储存时需要执行
php artisan storage:link
创建软连接) - 短信,支持阿里云和腾讯云的短信服务
- 验证码,可关闭验证码或者使用腾讯滑块验证码
- 实名认证,支持阿里云市场的实名认证接口和悦保平台的认证接口
使用 php artisan queue:work
命令来启动队列处理相关业务,可按照下面的「Supervisor 部署」来管理和守护进程。
Supervisor 是 Linux/Unix
系统下的一个进程管理工具。可以很方便的监听、启动、停止和重启一个或多个进程。通过 Supervisor 管理的进程,当进程意外被 Kill
时,Supervisor 会自动将它重启,可以很方便地做到进程自动恢复的目的,而无需自己编写 shell
脚本来管理进程。
# Centos
yum install -y supervisor
# Debian
apt-get install supervisor
在/etc/supervisor/conf.d/
目录下创建一个 supervisord.conf
文件,内容如下:
# 新建一个应用并设置一个名称,这里设置为 laravel
[program:laravel]
# 进程名字
process_name=%(program_name)s_%(process_num)02d
# 进程数量(最大cpu数*4)
numprocs=1
# 设置命令在指定的目录内执行
directory=/您的网站目录
# 这里为您要管理的项目的启动命令
command=php artisan queue:work
# 以哪个用户来运行该进程
user=www
# supervisor 启动时自动该应用
autostart=true
# 进程退出后自动重启进程
autorestart=true
# 进程持续运行多久才认为是启动成功
startsecs=1
# 重试次数
startretries=3
# stderr 日志输出位置
stderr_logfile=/var/log/stderr.log
# stdout 日志输出位置
stdout_logfile=/var/log/stdout.log
运行下面的命令基于配置文件启动 Supervisor 程序:
supervisord -c /etc/supervisor/supervisord.conf
如果遇到 Another program is already listening on a port that one of our HTTP servers is configured to use
报错,说明已经启动了,先 kill
掉进程。
# 查找进程
ps aux | grep supervisord
# 结束进程
kill -9 进程ID
# 启动 laravel 应用
supervisorctl start laravel
# 重启 laravel 应用,多进程可在后面加上all重启所有进程
supervisorctl restart laravel [all]
# 停止 laravel 应用
supervisorctl stop laravel
# 查看所有被管理项目运行状态
supervisorctl status
# 重新加载配置文件(修改过配置文件需执行此命令重载配置,否则不生效)
supervisorctl update
# 重新启动所有程序
supervisorctl reload
使用 crontab
来定期执行任务,新增如下一条配置:
* * * * * cd /你的项目路径 && php artisan schedule:run >> /dev/null 2>&1
如果使用宝塔可以在计划任务里新增一条任务类型为Shell脚本
,执行周期为 1分钟
的任务,脚本内容如下:
cd /你的项目路径 && php artisan schedule:run
# 查看任务列表
crontab -l
# 添加任务
crontab -e
# 查看状态
/etc/init.d/cron status
# 重载配置
/etc/init.d/cron reload
# 重启服务
/etc/init.d/cron restart