最近一段时间一直在研究chatGPT,发现很多卖账号的,他们都用的是开源的独角数卡系统搭建的,我也搭建了一下,体验了一把,不得不说作者很棒,开源了一个开箱就可用的系统,而且颜值还很高,
下面记录一下我搭建的过程。
演示图
它有两套模版,颜值都很高哦,可以根据自己的需要选择其中的一款。
搭建准备
1、一台云服务器,也就是vps,建议选购 阿里云或者腾讯云服务器。
2、买一个域名
环境要求
## 基本环境要求
- (PHP + PHPCLI) version >= 7.2
- Nginx version >= 1.16
- MYSQL version >= 5.6
- Redis (高性能缓存服务)
- Supervisor (一个python编写的进程管理服务)
- Composer (PHP包管理器)
- Linux/Win (Win下未测试,建议直接Linux)
PHP环境要求
1. 必须安装fileinfo扩展、redis扩展
2. 终端需要支持php-cli,测试php -v(版本必须一致)
3. 需要开启的函数:putenv,proc_open,pcntl_signal,pcntl_alarm
4. 建议安装opcache扩展(非必需)
独角数据是采用框架 laravel,我们直接用 lnmp 一键安装包搭建环境,方便快捷,至于这个怎么用,我这里不说了,不是这篇文章的重点。
部署安装
下载独角数卡安装包(见最后),上传到服务器,解压。
#切换到网站目录
cd /home/wwwroot/dujiaoka
#重新命名
mv .env.example .env
#打开.env文件
vim .env
#编辑文件中数据库,redis,和邮件的配置。
# 网站url
APP_URL=https://www.example.com
# 数据库配置
DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=数据库名
DB_USERNAME=数据库用户
DB_PASSWORD=数据库密码
# redis缓存配置
REDIS_HOST=127.0.0.1
REDIS_PASSWORD=无密码填null
REDIS_PORT=6379
# 邮件服务配置
MAIL_DRIVER=smtp
MAIL_HOST=smtp服务器
MAIL_PORT=587
MAIL_USERNAME=邮箱账号
MAIL_PASSWORD=邮箱密码
MAIL_FROM_ADDRESS=发件人邮箱地址
MAIL_FROM_NAME=发件人名称
MAIL_ENCRYPTION=ssl
必须确保 MySQL 数据库配置、Redis 配置、发件人邮件服务配置等正确无误(正式上线后一定要将.env 配置里面的 APP_DEBUG 设置为 false)
nginx配置
server
{
listen 443 ssl http2;
#listen [::]:443 ssl http2;
server_name shop.xxzhuti.com;
index index.html index.htm index.php default.html default.htm default.php;
root /home/wwwroot/dujiaoka/public;
#ssl on;
ssl_certificate cert/full_chain.pem;
ssl_certificate_key cert/private.key;
ssl_session_timeout 5m;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_prefer_server_ciphers on;
ssl_ciphers "EECDH+CHACHA20:EECDH+CHACHA20-draft:EECDH+AES128:RSA+AES128:EECDH+AES256:RSA+AES256:EECDH+3DES:RSA+3DES:!MD5";
ssl_session_cache builtin:1000 shared:SSL:10m;
# openssl dhparam -out ssl/dhparam.pem 2048
#ssl_dhparam ssl/dhparam.pem;
include rewrite/laravel.conf;
#error_page 404 /404.html;
# Deny access to PHP files in specific directory
#location ~ /(wp-content|uploads|wp-includes|images)/.*\.php$ { deny all; }
include enable-php.conf;
location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$
{
expires 30d;
}
location ~ .*\.(js|css)?$
{
expires 12h;
}
location ~ /.well-known {
allow all;
}
location ~ /\.
{
deny all;
}
access_log /home/wwwlogs/shop.xxzhuti.com.log xxzt;
}
配置完成后,重启 nginx 。
使用 Supervisor 守护进程
作者说了,守护进程是必须要安装的,毫不犹豫安装。
安装 Supervisor:
# CentOS系统
yum install supervisor -y
# Debian/Ubuntu系统
apt-get install supervisor -y
vim 编辑工具修改配置文件 supervisord.conf,路径默认为 /etc/supervisord.conf
vim /etc/supervisord.conf
在配置文件末尾追加以下内容
[program:laravel-worker]
process_name=%(program_name)s_%(process_num)02d
command=php /home/wwwroot/dujiaoka/artisan queue:work --sleep=3 --tries=3
autostart=true
autorestart=true
user=www
numprocs=4
redirect_stderr=true
stdout_logfile=/home/wwwlogs/worker.log
注: user 需要与 nginx.conf 文件中的 user 保持一致;注意 command 使用自己网站根目录(绝对路径),如果 php 有版本之分可用 whereis 命令查找并使用对应版本的完整路径;numprocs 指令让 Supervisor 运行 4 个 queue:work 进程并监视它们,如果失败的话会自动重启,进程数量请根据 CPU 负载情况设定。
配置文件创建好了之后,可以使用如下命令更新 Supervisor 配置并开启进程:
supervisorctl reread
supervisorctl update
supervisorctl start laravel-worker:*
注: 通过改动.env 文件配置邮箱发信信息,则需要执行 supervisorctl reload 命令重启 Supervisor 进程才能使服务生效。
支付网关设置
支付选项 | 商户id | 商户key | 商户密钥 |
---|---|---|---|
支付宝官方(当面付、PC、wap) | 支付宝开放平台应用appid | 支付宝公钥 | 商户私钥 |
payjs | payjs商户号(mchid) | 空 | payjs密钥 |
码支付 | 平台商户号 | 码支付请求网址 | 密钥 |
微信官方 | 公众号或小程序appid | 商户号 | 商户api密钥 |
麻瓜宝 | 商户密钥 | 空 | 任意字符串 |
paysapi | 商户号 | 空 | 密钥 |
易支付 | 易支付 | 易支付请求网址 | 密钥 |
V免签 | V免签通讯密钥 | 空 | V免签地址 |