手动部署 - [OneinStack]

安装所需软件

apt update && apt install wget curl git vim -y

安装oneinstack

前往oneinstack官网选择合适的软件,再复制安装命令到SSH上执行

  • PHP >= 7.2.5

    • PHP缓存 Opcache (可选,推荐)

    • fileinfo

    • redis

  • MySQL 5.5+

  • Redis 无版本要求

安装时间视机器配置而定,vultr 2C2G 安装大概20分钟左右

安装完成后会输出nginx等软件的存放位置,安装后别忘记重启

Install.png

创建网站

SSH连接到VPS后输入下方命令,创建网站

  1. 三个选项分别是使用HTTP,使用自己的证书,以及申请免费证书

  2. 输入网站域名

  3. 网站目录,直接回车网站目录默认位于/data/wwwroot/网站域名

  4. 是否需要添加更多域名

  5. 是否需要HTTP重定向到HTTPS

  6. 申请证书使用的邮箱

creat-website5998a3999d9ff7b7.png

自动申请完证书后,还有几步

  1. 是否需要热链接保护

  2. 是否需要添加伪静态规则

  3. 添加哪种伪静态规则(这里直接回车,自带的laravel规则和proxypanel所需的不同)

  4. 是否允许记录访问日志

ssl.png

删除禁用函数

删除以下禁用函数:

  • proc_open

  • proc_get_status

  • symlink

phpDisableFunctions.png

删除后重启PHP

修改网站运行目录

在root开头那行末尾添加/public,别忘了末尾的分号

nginx48f87e1f222f1e13.png

添加伪静态

添加以下伪静态规则

重启nginx

创建数据库与用户

登录并创建数据库

首先使用以下命令登录mysql,并输入密码(密码是啥?请看安装oneinstack小节)

创建数据库,查看数据库是否创建成功

创建数据库用户

创建名为ProxyPanel的用户,密码为ProxyPanel(自行更换密码),并给ProxyPanel用户ProxyPanel数据库的所有权限以及所有数据库的使用权限

安装面板

编辑.env

参照下方含义进行编辑

安装依赖

输入下方命令安装PHP Composer,安装过程很简单,就不多赘述.

再运行以下代码安装依赖

导入数据库

必要环境设置

设置定时任务

设置队列管理 Horizon

设置广播 Reverb

【广播】 应用于内容的实时同步,目前用于用户支付结果查询,管理节点页面节点连通性,地理位置更新,重启结果等,需要内容实时在页面显示的场景。

大致步骤:

  1. 编辑目录下 .env 文件中 REVERB_ 开头参数;

  2. 清理缓存 php artisan optimize:clear && php artisan optimize

  3. 重新编译前端js和重启reverb,npm run build && supervisorctl restart reverb

  4. 添加/修改网站nginx配置文件

通用修改/存在参数

env参数

BROADCAST_DRIVER

reverb

REVERB_APP_ID

随机数字id

REVERB_APP_KEY

随机字符串

REVERB_APP_SECRET

随机字符串

REVERB_SCHEME

可选,值为http/https

方案A 广播使用与面板同子域名

通知和面板都是使用:proxypanel.ddo.jp;← 域名是为了方便理解使用的案例

  • 配置env,REVERB_PATH, 用于分流正常访问和通知访问;

作用
备注

REVERB_PATH

Reverb 服务器期望接收连接的 URL 路径。在您的配置中为 REVERB_PATH=,表示没有路径前缀。

例如:/eventcastsing

REVERB_HOST

proxypanel.ddo.jp

修改nginx配置中第4行需要按照REVERB_PATH值修改


方案B 广播使用与面板使用不同子域名

  • 面板使用:proxypanel.ddo.jp;← 域名是为了方便理解使用的案例

    • 通知使用:b.ddo.jp 或者 proxypanel.work.gd

  • 配置env,REVERB_HOST;

作用
备注

REVERB_HOST

proxypanel.work.gd

优化

每次修改 .env 后,请运行以下代码,重新预加载必要文件

更新

面板

数据库

最后更新于

这有帮助吗?