宝塔面板常见问题解答:SSL证书、端口冲突、数据库连接不上的处理方法

王尘宇 问题解答 3

整理了几个宝塔面板使用中最高频的问题。每个都有解决方案,不用到处搜了。

Q1: Let's Encrypt SSL证书自动续签失败怎么办?

这是宝塔面板最常遇到的问题。报错通常是验证失败或连接超时。

先检查网站是否能从外网正常访问——SSL验证需要Let's Encrypt的服务器能从公网访问你的网站。如果在Cloudflare开了代理(橙色云朵),先关掉它或在Cloudflare把SSL设为Full模式。

然后检查网站根目录的.well-known目录是否存在且有写入权限。宝塔面板默认用的是文件验证方式,验证文件会临时放在这个目录下。如果没有就手动创建并设权限为755。到宝塔面板的SSL页面,点强制HTTPS旁边的关闭按钮先关掉强制HTTPS,再重新申请证书。续签成功后记得重新打开强制HTTPS。

如果还不行,可能是Let's Encrypt的请求频率限制——同一域名每周最多申请5次。等几天再试。

Q2: 网站提示ERR_CONNECTION_REFUSED

这种情况最常见的原因是Nginx或Apache没启动。到宝塔面板首页看服务状态,如果是停止状态就点启动。

如果服务是运行状态但还是连不上,检查端口是否被防火墙拦截。宝塔面板安全页面里确认80和443端口已放行。如果是阿里云或腾讯云的服务器,还要在云控制台的安全组里确认端口规则——这是最容易被忽略的环节。很多人只在宝塔里放行了端口,忘了云服务商的安全组也有一层防火墙。

Q3: 添加站点时提示端口80被占用

说明80端口已经被别的程序占了。SSH连上服务器执行lsof -i :80查看是什么程序占用了端口。大部分情况下是另一个Nginx或Apache实例占着。找到进程ID后用kill命令结束掉,然后重启宝塔的Nginx即可。

Q4: MySQL突然连不上了

先检查MySQL服务是否在运行。如果在运行但连不上,大概率是磁盘满了。MySQL在磁盘写满时会自动停止接受连接。用df -h检查磁盘使用率,清理日志和临时文件释放空间。

如果磁盘没问题,看MySQL错误日志(在宝塔面板的MySQL设置页面可以查看)。常见原因:innodb_buffer_pool_size设得太大导致内存不够、或者数据库表损坏需要修复。

紧急恢复步骤:停止MySQL,在/etc/my.cnf中加入innodb_force_recovery=1然后启动MySQL做数据导出;导出完成后去掉这个参数重启恢复。

Q5: PHP版本切换后网站白屏

切换到PHP 8.x后很多老代码不兼容。最常见的报错是函数已弃用或语法不兼容。先切回原来的PHP版本让网站恢复正常,然后检查PHP错误日志定位具体问题。

常见需要改的地方:create_function()在PHP 8.0中移除了需要改用匿名函数;each()函数也被移除了需要用foreach替代;魔术引号相关的代码全部删除。

如果用的是WordPress,确保主题和插件都更新到最新版本。WP 6.4以上对PHP 8.2的支持已经很好了。

Q6: 网站被挂马后怎么清理

先用宝塔面板的文件管理搜索最近修改的php文件,重点看js和uploads目录——木马文件通常藏在这两个位置。用宝塔的病毒扫描工具扫一遍全站。清理完后修改所有FTP和数据库密码、更新所有插件和主题到最新版、检查是否有可疑的管理员账号。

最后装一个Wordfence或宝塔自带的防火墙,至少能挡住大部分自动扫描攻击。

标签: 问题解答 宝塔面板 SSL证书 MySQL故障 网站安全

发布评论 0条评论)

  • Refresh code

还木有评论哦,快来抢沙发吧~