手动部署 - [宝塔]

安装宝塔

请参考官网教程https://www.bt.cn/bbs/thread-19376-1-1.html

安装软件

  • PHP >= 7.2.5

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

    • fileinfo

    • redis

  • MySQL 5.5+

  • Redis 无版本要求

4款面板需要的软件

配置PHP

安装扩展

  • fileinfo

  • redis

  • opcache (可选,推荐安装)

面板需要的2个PHP扩展

删除 禁用函数

  • putenv

  • pcntl_alarm

  • pcntl_signal

  • symlink

  • proc_开头函数

删除禁用函数页面

推荐优化

  1. 根据服务器的内存大小,适量的增加php配置中memory_limit的值

优化php的内存

添加网站 & 数据库

添加网站时,输入你要用的域名,同时创建数据库; 数据库MySQL utf8mb4

站点信息

记住自己的数据库名用户名密码

返回信息

删除网站目录下的宝塔默认文件。

网站目录

安装面板

生产环境下,请优先使用Release版本

版本选择

版本

简介

Master

最新版本,如果你想提前尝鲜新功能,可以使用本版本!同时你也可以通过我们提供的Demo站点来测试新版本,来加速我们推出Release版本

Release

稳定版本,每次Master版本稳定以后都会不定期推出的版本

Master版

cd /www/wwwroot/你的域名
例:cd /www/wwwroot/demo.proxypanel.ml

git clone https://github.com/ProxyPanel/ProxyPanel.git .

Release版

前往 GitHub 下载 Release版

1.下载任一压缩文件

下载文件

2.上传压缩包至网站根目录 并解压

上传文件

3.解压完毕后,可以删除压缩包

解压

4.将文件从ProxyPanel-xxx文件夹中剪切至域名根部文件夹,并删除ProxyPanel-xxx

最终面板文件

设置网站

以下内容,为宝塔面板设置

设置运行目录

站点管理-网站目录-运行目录至pubilc 和 取消防跨站攻击 并保存

设置伪静态

伪静态 - 选择laravel5;或者输入 并保存

location / {  
	try_files $uri $uri/ /index.php$is_args$query_string;  
}  
设置伪静态

设置SSL (可选)

SSL - 申请SSL

连接数据库

在SSH 网站根目录下运行,复制.env文件

cp .env.example .env

编辑.env

编辑以下内容

DB_HOST=127.0.0.1 数据库服务器IP/域名
DB_PORT=3306 数据库端口 默认为3306
DB_DATABASE=ProxyPanel 数据库名
DB_USERNAME=root 用户名
DB_PASSWORD=root 密码

安装依赖

请登录你的服务器SSH,运行以下内容

安装 Composer

apt-get install composer

未运行过以下代码,请先运行,进入网站根部文件夹

cd /www/wwwroot/你的域名
例:cd /www/wwwroot/demo.proxypanel.ml

再运行以下代码安装依赖

composer install --prefer-dist --optimize-autoloader --no-dev
安装依赖完毕

导入数据库

请按照 Mysql 版本选择运行命令

php artisan migrate --seed

必要环境设置

SSH 在网站根部文件下运行

php artisan key:generate
php artisan storage:link
chown -R www:www storage/ 
chmod -R 777 storage/

设置定时任务

宝塔:文件 – 目录

在 /home 下创建一个 www 目录,并将其权限设置为 777 www 。

在SSH中,运行并添加

crontab -e -u www

添加
* * * * * php /www/wwwroot/你的域名/artisan schedule:run >> /dev/null 2>&1

设置队列管理 Horizon

在SSH中,运行并添加

cat > /etc/supervisor/conf.d/horizon.conf <<EOF
[program:horizon]
process_name=%(program_name)s
command=php $(pwd)/artisan horizon
autostart=true
autorestart=true
user=www
redirect_stderr=true
stdout_logfile=$(pwd)/storage/logs/horizon.log
stopwaitsecs=3600
EOF

然后依次运行

# 重新加载 supervisor 配置
supervisorctl reread
supervisorctl update
supervisorctl start horizon

设置广播 Reverb

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

大致步骤:

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

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

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

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

    server {
        ...
    
        location / {
            proxy_http_version 1.1;
            proxy_set_header Host $http_host;
            proxy_set_header Scheme $scheme;
            proxy_set_header SERVER_PORT $server_port;
            proxy_set_header REMOTE_ADDR $remote_addr;
            proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
            proxy_set_header Upgrade $http_upgrade;
            proxy_set_header Connection "Upgrade";
    
            proxy_pass http://0.0.0.0:8080;
        }
    
        ...
    }

通用修改/存在参数

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

REVERB_APP_ID=510141
REVERB_APP_KEY=ti12342lbcrgjzazvua6
REVERB_APP_SECRET=kvjczliy123hrylnh56z
REVERB_SCHEME=https
REVERB_HOST=proxypanel.ddo.jp
REVERB_PATH=/eventcastsing

VITE_REVERB_APP_KEY="${REVERB_APP_KEY}"
VITE_REVERB_HOST="${REVERB_HOST}"
VITE_REVERB_PORT="${REVERB_PORT}"
VITE_REVERB_SCHEME="${REVERB_SCHEME}"
VITE_REVERB_PATH="${REVERB_PATH}"
REVERB_SERVER_PATH="${REVERB_PATH}"

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

server {
    ...

    location /eventcastsing/ {
        proxy_http_version 1.1;
        proxy_set_header Host $http_host;
        proxy_set_header Scheme $scheme;
        proxy_set_header SERVER_PORT $server_port;
        proxy_set_header REMOTE_ADDR $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection "Upgrade";

        proxy_pass http://0.0.0.0:8080;
    }

    ...
}

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

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

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

  • 配置env,REVERB_HOST;

作用
备注

REVERB_HOST

proxypanel.work.gd

REVERB_APP_ID=510141
REVERB_APP_KEY=ti12342lbcrgjzazvua6
REVERB_APP_SECRET=kvjczliy123hrylnh56z
REVERB_SCHEME=https
REVERB_HOST=proxypanel.work.gd
REVERB_PATH=

VITE_REVERB_APP_KEY="${REVERB_APP_KEY}"
VITE_REVERB_HOST="${REVERB_HOST}"
VITE_REVERB_PORT="${REVERB_PORT}"
VITE_REVERB_SCHEME="${REVERB_SCHEME}"
VITE_REVERB_PATH="${REVERB_PATH}"
REVERB_SERVER_PATH="${REVERB_PATH}"

更多设置&优化

设置

在面板文件中,编辑 .env

设置邮件

MAIL_DRIVER=smtp #或使用 mailgun
# SMTP设置
MAIL_HOST=smtp.exmail.qq.com
MAIL_PORT=465 #SMTP端口
MAIL_USERNAME=admin@proxypanel.ml #使用的邮箱地址
MAIL_PASSWORD=password #SMTP授权码
MAIL_ENCRYPTION=ssl
MAIL_FROM_ADDRESS=admin@proxypanel.ml #用户看到的发件人邮箱地址
MAIL_FROM_NAME=ProxyPanel #发件人名称

# Mailgun设置
MAILGUN_DOMAIN=
MAILGUN_SECRET=

优化

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

SSH:在网站根目录下,运行以下代码;Laravel 自带缓存常用内容来优化面板运行。

php artisan optimize

更新面板

Master版

sh /www/wwwroot/demo.proxypanel.ml/update.sh

Release版

下载最新的压缩包,重新安装

更新数据库

php artisan migrate

最后更新于

这有帮助吗?