# 宝塔安装ModStart

# 宝塔三步快捷安装

# ① 搜索一键安装包

登录宝塔后台系统,进入软件商店 → 一键部署,搜索 “ModStart”。

# ② 填写安装信息

点击“一键安装”,输入安装信息(域名、数据库等)

  • 域名:example.com
  • 根目录:/www/wwwroot/example.com
  • 数据库:example_com
  • 选择PHP版本:5.6.x

# ③ 使用界面安装向导

提交后进入到安装向导

# ④ 安装完成

进入安装引导程序,输入管理用户和密码,完成安装

引导程序:http://example.com/install.php

# 注意事项

# 伪静态配置

# 解禁函数

  • shell_exec
  • proc_open
  • putenv

操作指引

# 宝塔配置MySQL队列调度

  • 执行以下操作前提前进入网站根目录,如 cd /www/wwwroot/example.com
  • 执行 artisan 命令前请参照 开发教程 → 开发使用常见问题 → 如何运行 /www/server/php/xxx/bin/php artisan xxx 命令

① 生成数据库队列表迁移文件

在执行该步骤前,请先检查迁移文件 database/migrations/xxxx_xx_xx_xxxxxx_create_jobs_table.php 是否存在,如果已存在直接跳过第①步

# 运行该命令之前请检查是否存在迁移文件 database/migrations/xxxx_xx_xx_xxxxxx_create_jobs_table.php
# 如果存在直接跳过该步骤
/www/server/php/xxx/bin/php artisan queue:table
# 运行该命令之前请检查是否存在迁移文件 database/migrations/xxxx_xx_xx_xxxxxx_create_failed_jobs_table.php
# 如果存在直接跳过该步骤
/www/server/php/xxx/bin/php artisan queue:failed-table
1
2
3
4
5
6

这一步会生成数据库迁移文件 database/migrations/xxxx_xx_xx_xxxxxx_create_jobs_table.phpdatabase/migrations/xxxx_xx_xx_xxxxxx_create_failed_jobs_table.php

② 执行数据库迁移文件

/www/server/php/xxx/bin/php artisan migrate
1

③ 修改配置文件 .env 配置队列驱动为数据库

QUEUE_DRIVER=database
QUEUE_CONNECTION=database
1
2

④ 运行队列进程测试运行

如果队列中有任务,以下命令会自动执行一个任务,查看是否报错,无报错表示配置成功

Laravel5

/www/server/php/xxx/bin/php artisan queue:work database --queue=default --sleep=5 --memory=4096 --tries=1
1

Laravel9

/www/server/php/xxx/bin/php artisan queue:work database --queue=default --once ---sleep=5 --memory=4096 --tries=1
1

⑤ 配置进程守护插件

安装守护进程supervisor

添加守护进程

  • 启动命令:/www/server/php/xxx/bin/php /www/wwwroot/example.com/artisan queue:listen database --queue=default --sleep=5 --memory=4096 --tries=1 --timeout=86400
    • xxx 是PHP的版本号
    • default 为队列名称,默认为 default,还有其他队列如文档转换 FileConvert
  • 进程数量:可以根据系统的并发数填写,可以默认填 1

安装检查完成后检查确保进程状态为 已启动

如果堡塔防入侵插件,默认的 www 用户可能会被禁止执行任何程序,需要额外再配置一下 php 程序为白名单即可。

# 宝塔安装常见问题

# Q:环境提示PHP未禁用危险函数

安装系统时通常会需要解禁 system,exec,passthru,shell_exec,popen,proc_open 等危险函数。部分集成环境会提示危险函数风险,通常可以如下方式解决:

该函数在通常只是在系统 系统安装/系统升级/模块安装/模块升级/模块禁用/模块删除 时使用到,日常系统的运行是不需要依赖该函数的,因此可以在常规运行中将危险函数加入到 disable_functions 中,只需要在必要的情况下再打开。具体为什么使用到这些函数可以参考 Q:安装环境检查提示缺少 xxx 函数

# Q:限制目录问题 open_basedir restriction in effect

宝塔系统运行提示 open_basedir restriction in effect *** 这样的错误,通常是运行目录设置错误导致的,可对照下如下配置。

# Q:Windows版本下系统运行非常慢问题优化

提示:经测试,即使经过如上的优化过程,网站页面的执行时间也只达到 1000ms 左右。PHP 是为 Linux 而生,Windows 下 PHP 性能不如 Linux,强烈推荐使用 Linux 系统

检查数据库连接地址

Windows下数据库连接有域名解析问题,检查配置文件 <网站根目录>/.env,如果是 localhost ,修改为 127.0.0.1

# 如果配置是
DB_HOST=localhost
# 修改为
DB_HOST=127.0.0.1
1
2
3
4

安装opcache

Windows下PHP默认没有安装opcache,可通过宝塔软件商店安装

系统优化

① 打开 CMD 命令窗口 ② 进入到项目根目录,如 cd D:\wwwroot\example.com,默认如果是 C 盘需要切换盘符(执行 D:) ③ 运行 artisan 命令,如 D:\BtSoft\php\70\php.exe artisan optimize

提示:经测试,即使经过如上的优化过程,网站页面的执行时间也只达到 1000ms 左右。PHP 是为 Linux 而生,Windows 下 PHP 性能不如 Linux,强烈推荐使用 Linux 系统

# Q:正常配置过程中提示 Your request has been recorded. Tips from BT security !!!

如果开启了堡塔防入侵插件,默认会拦击非root用户的所有操作。可以通过增加需要运行的程序白名单即可

如要运行的命令为 /xxx/xxx start foo 填写 /xxx/xxx 到白名单即可。

# Q:宝塔启动错误 php / nginx 出现 error while loading shared libraries : xxx.so.x.x.x

通常是由于应用程序 php / nginx 找不到某个库导致。通常可通过 ① 手动安装库 ② 链接库 操作来完成,其中 ② 是可选步骤。

yum install -y xxx
ln -s /usr/lib64/libxxx.so.x.x.x /usr/lib64/libxxx.so.x
1
2
Last Updated: 19 hours ago