环境要求

  • 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

  1. git clone https://账号:密码@e.coding.net/scsys/scsys.git

注意:上述中的账号及密码请联系开发人员获取

压缩包

从官方提供的链接进行下载,解压并命名为 scsys

注意:下载链接请联系相关人员

二、修改配置文件

1、生成配置文件

cd scsys

cp .env.example .env

2、编辑配置文件

注意以下所涉及的 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

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