环境要求
- Nginx 1.8+
- PHP 7.2+
- Mysql 5.7+
- Redis 3.0+
- Git
- NodeJs 14.0+
PHP 必要扩展
- fileinfo
- redis
- imagemagick
- exif
操作路径:软件商店-PHP-安装扩展
PHP 宝塔禁用函数
在宝塔上默认禁用了相当多的安全函数,除以下之外其他建议不作添加:
- passthru
- exec
- system
- chroot
- chgrp
- chown
- shell_exec
- popen
- ini_alter
- ini_restore
- dl
- openlog
- syslog
- readlink
- symlink
- popepassthru
操作路径:软件商店-PHP-禁用函数
安装
一、获取源码
可以通过以下两种方式进行项目源码获取:
- Git「推荐」
- 压缩包
Git
git clone https://账号:密码@e.coding.net/scsys/scsys.git
注意:上述中的账号及密码请联系开发人员获取
压缩包
从官方提供的链接进行下载,解压并命名为 scsys
注意:下载链接请联系相关人员
二、修改配置文件
1、生成配置文件
cd scsys
cp .env.example .env
2、编辑配置文件
注意以下所涉及的
http://localhost
请修改成您的域名地址
- 修改根目录下
.env
文件 ```域名配置
APP_URL=http://localhost MIX_ECHO_APP_URL=http://localhost
数据库配置
DB_HOST=127.0.0.1 DB_PORT=3306 DB_DATABASE=scsys DB_USERNAME=root DB_PASSWORD=
- 修改 `resources/client/src/config/env.production.js` 文件:
```javascript
// 正式环境配置
module.exports = {
title: '码商客户端', //项目名称
baseUrl: 'http://localhost', // 正式项目地址
baseApi: 'http://localhost/api/client', // 正式api请求地址
APPID: '',
APPSECRET: '',
$cdn: '',
laravelEchoUrl: 'http://localhost', // laravel-echo 服务器地址
laravelEchoPrefix: 'scsys_database_' // laravel-echo 推送的前缀
}
三、执行安装
#源切换为阿里云
composer config -g repo.packagist composer https://mirrors.aliyun.com/composer/
#安装源码
COMPOSER_MEMORY_LIMIT=-1 composer i
# 生成应用密钥
php artisan key:generate
# 生成JWT接口授权密钥
php artisan jwt:secret
#优化加载
sh optimize.sh
#服务端
npm i
npm run prod
#码商客户端
cd resources/client
npm i
npm run build
四、导入数据库
在根目录下运行以下命令进行数据库导入,请注意:请保持数据库为空的状态!
php artisan migrate
php artisan db:seed
五、守护进程
使用前请先安装 Supervisord
- 自定义安装:守护进程-中文配置 官网
- 宝塔面板安装:https://www.bt.cn/bbs/thread-34611-1-1.html
1、Horizon 队列
自定义安装示例配置:
[program:scsys-horizon]
process_name=scsys-horizon
command=/www/server/php/72/bin/php /www/wwwroot/scsys/artisan horizon
autostart=true
autorestart=true
user=root
redirect_stderr=true
stdout_logfile=/usr/local/scsys-horizon.log
stopwaitsecs=3600
宝塔面板安装示例:
名称:scsys-horizon
运行目录:/www/wwwroot/scsys
启动命令:php artisan horizon
进程数:1
请注意 PHP 执行文件、命令执行目录必须是绝对路径! 查看php文件路径:php —ini
2、LaravelEchoServer 实时服务器
在项目根目录运行以下命令安装 LaravelEchoServer 前端插件:
cd /www/wwwroot/scsys
npm install -g laravel-echo-server
在项目根目录运行以下命令获取 LaravelEchoServer 安装目录:
which laravel-echo-server
# 得到以下路径:/usr/local/bin/laravel-echo-server
自定义安装示例配置:
[program:scsys-laravel-echo-server]
process_name=scsys-laravel-echo-server
command=/usr/local/bin/laravel-echo-server start --dir=/www/wwwroot/scsys/
autostart=true
autorestart=true
user=root
redirect_stderr=true
stdout_logfile=/usr/local/scsys-laravel-echo-server.log
stopwaitsecs=3600
宝塔面板安装示例:
名称:scsys-laravel-echo-server
运行目录:/usr/local/bin/
启动命令:/usr/local/bin/laravel-echo-server start --dir=/www/wwwroot/scsys/
进程数:1
五、定时任务
自定义添加
输入命令:crontab -e
编辑器内新增以下内容:*/1 * * * * /www/server/php/72/bin/php /www/wwwroot/scsys/artisan schedule:run >>/dev/null 2>&1
宝塔面板添加:
任务类型:SHELL 任务名称:Scsys 执行周期:N分钟-1分 脚本内容:/www/server/php/72/bin/php /www/wwwroot/scsys/artisan schedule:run