WEB服务器使用宝塔面板后必须要做的几项配置要点。
文章目录[隐藏]
现在很多新手站长们的站点Linux 服务器都装的是宝塔面板,毕竟宝塔面板非常适合新手,能够快速、方便、高效的搭建网站生产环境,明月在给客户代维也经常碰到使用宝塔面板的用户就发现不少新手可能是基础知识匮乏原因不能很好的配置宝塔面板的初始配置,为此专门在视频号上开过直播讲过的,今天又重新整理汇总了一下,分享给大家,希望可以帮助到新手站长们更好、更安全的运用宝塔面板。
注:我们今天主要是讲 Linux 下的宝塔面板哦,不包含 Windows 版的!
一、Linux 发行版的选择
多年代维经验下来,明月一般都是建议 CentOS Linux 发行版作为站点服务器操作系统的,原因其实很简单,主流选择永远不会错的,并且实践也证明宝塔面板在 CentOS 7、8 版上表现也是最稳定的。所以,新手来说 Linux 发行版就选择 CentOS 即可,至于版本 7.x 和 8.x 都是可以的。至于宝塔面板安装方式,我推荐在 Linux 控制终端采用【Centos 安装脚本】,至于 LNMP(Linux+Nginx+MySQL+PHP)的安装建议有条件就采用编译安装兼容性、稳定性最好(还能顺便评估一下服务器配置性能,无非就是有点儿花费时间,但使用 Linux 就是要接受编译安装这种形式,因为 Linux 下这是非常常见和必要的安装方式)。
建议新手们通过百度、谷歌多搜索和学习一些 Linux 以及 CentOS 发行版的基础命令、基础概念了解学习一下,这对你后期更好的使用宝塔面板有很大的助力。
二、LNMP 环境搭建的注意事项
LNMP 环境主要就是搭建站点的生产环境,对我们网站的上线、运行、安全防护都有很大的影响,所以要注意下面几个事项:
1、Nginx 配置优化
这里其实只有一点,就是根据你服务器内核 CPU 个数对 Nginx 进行设置,如下图:
你 2 核的就在修改 worker_processes 值为:2,上图所示服务器是 16 核的,所以就填上了 16,这里主要是为了让 Nginx 更好的利用并行多 CPU 运算能力,提高 Nginx 的效能。
一般出于安全上的考虑最好在 Nginx 配置文件防止默认配置导致暴漏域名,因为有些无良爬虫可通过 HTTPS 访问扫描全网 IP,暴露证书、同时暴露你的域名,即使你套了 CDN 也逃不掉。只需要在 Nginx 配置文件里添加一段如下语句即可:
server
{
listen 443 ssl http2;
ssl_reject_handshake on;
}
具体位置如下图所示:
最后保存配置即可。
注意:ssl_reject_handshake
需要 Nginx 至少是 1.91.x 以上版本才支持哦!
2、一定要开启 Nginx 的站点日志
站点日志的作用非常重要,哪怕你自己看不懂也要记得开启站点的日志记录,因为这在出现问题、故障、安全防护需要的时候都能用上,便于更快的找到问题所在。
比较可惜的是不知道宝塔官方是基于什么考虑竟然默认关闭了站点日志记录,只保留了error_log
的记录,这明显是不够的,所以明月建议大家手动配置站点 Nginx 配置文件开启站点的日志也就是access_log
,只需要在宝塔面板——【网站】——对应站点【设置】——【配置文件】里error_log /www/wwwlogs/www.mydomain.com.error.log;
这段上面添加如下代码即可:
access_log /www/wwwlogs/www.mydomain.com.log;
完成后就是如下图这样:
这就开启了www.mydomain.com站点的日志记录,保存配置文件后就可以在宝塔面板——【日志】——【网站日志】里看到这个域名站点的实时日志了,如下图所示:
你宝塔里每个站点都建议参照这样开启日志记录功能,因为这对后期的维护真的非常非常重要。
最后,为了不让日志日积月累的越来越大占用服务器存储空间,还需要在宝塔面板——【计划任务】里添加一个叫【日志切割】的定时计划任务来防止日志文件过于庞大,具体配置可以参考如下图所示:
然后“添加任务”就可以在下面的任务列表里看到这个计划任务了:
具体切割行为很抽象,大家可以自行百度、谷歌搜索学习理解,这里就不赘述了。总之,只要你开启了站点日志就一定要做日志切割,否则要不了多久你的服务器存储空间就报警了。
3、PHP 配置和扩展的选择
PHP 作为网站系统运行的解释语言,关乎网站系统运行效率直接影响网站速度的响应速度的,所以服务器上 PHP 的配置也要注意,并且不必要的 PHP 扩展就不要随便安装,要遵循不使用就不安装的原则,常见的 WordPress 加速优化里一般只需要使用 PHP 扩展 OPCache 和 Memcached 即可,PHP 扩展里就只安装这两个扩展即可,很多新手还喜欢安装 Redis 扩展,这是完全没有必要的,甚至非常的画蛇添足带来很大的安全隐患,Redis 并不是单服务器使用的,就算使用也不见得比 Memcached 性能提升有多少,对于我们大部分站点来说 Memcached 足够用了。
注:OPCache 主要是用来缓存 PHP 代码加快 PHP 代码运算性能的,所以一般保持默认配置即可,也是 PHP 必装的扩展。而 Memcached 扩展是需要 WordPress 插件如:WP Super Cache 的配合或者主题自身支持来使用的。
PHP 的配置无非就是根据你服务器的内存来灵活调整的,理论上内存大于 4G 的话就建议采用“静态”的运行模式,并发方案以内存的二分之一为最佳(全部内存的话会频繁出现 502 故障),具体配置可参考如下图所示:
一般就需要根据实际情况调整箭头所指的即可。
3、MySQL 建议关闭二进制日志
因为 MySQL 关系着 WordPress 网站系统的并发能力,所以建议关闭 MySQL 的二进制日志记录提高 MySQL 运行效率,如果服务器内存够大,建议给 MySQL 跟多的内存使用权限,具体配置如下图所示:
WordPress 能出来多大内容的瓶颈其实就是在 MySQL 上的,所以 MySQL 不建议大家随意去调整,如需处理百万级、千万级内容的 WordPress 可以单独咨询明月咨询相关解决方案。
二、宝塔面板的安全设置
因为宝塔面板拥有你服务器最高 root 权限,所以一定要做好宝塔面板的安全设置,单独的宝塔面板账号密码保护能力有限,有条件明月一般都是建议限制固定 IP 或者 IP 地址段才能访问宝塔面板的,这就需要大家要做到固定网络和固定电脑来访问宝塔面板,如果你固定电脑使用的是宽带 IP 地址每次路由器重启都会变化,可以借助ipip.net网站查询自己 IP 来获得你所在地宽带运营商的 IP 地址段(会有多个)并保存记录填写在宝塔面板——面板设置——授权 IP 里(如下图所示位置):
这里要注意如果你变更了宽带运营商的话,记得要及时修改哦,否则可就无法访问宝塔面板了,只能 SSH 登录服务器运行宝塔命令来重置了!
当然宝塔面板的安全还有很多方式,你也可以根据自己的情况灵活选择哪个方式,这个授权 IP 明月感觉是成本最低的,安全效果也是最好的。
1、端口的开放和关闭
一个服务器安全与否跟开放的端口有很大的关系,所以我们在使用宝塔面板的时候一定要注意端口安全,依旧是要遵循不必要的端口就不要开放的原则,像宝塔面板登录端口就不建议使用默认的,最好是自己指定一个只有自己知道的端口,并且这个端口也仅限固定的 IP 和 IP 地址段才能请求,就跟上面讲的一样。端口的配置在宝塔面板——安全——系统防火墙下就可以配置,如下图所示:
可以在上图这里修改宝塔面板登录端口(当前是 34720)和仅限指定 IP 或者 IP 地址段才能访问。
另外,如果你使用 Memcached 这个 PHP 扩展,就需要关闭 Memcached 默认端口 11211 的出/入请求,因为 Memcached 是服务器本地自用的,根本就不需要外界的访问请求,一旦开启了 11211 外部请求权限很容易被利用漏洞获取服务器 root 权限入侵的。所以明月一般都是建议关闭的,如下图所示:
同理如果你使用了 Redis 也是要关闭 Redis 默认端口的出/入请求。
如果你的站点已经申请了 SSL 证书实现 HTTPS 并强制 HTTPS 请求,明月建议最好直接关闭 80/8080 端口,因为这两个端口是恶意爬虫最喜欢扫描的,会带来很多的安全隐患,HTTPS 端口是 443,因为我们已经强制站点 HTTPS 了,所以只需要保留 443 端口即可,不给对方留任何的安全缝隙。
2、宝塔面板的 Nginx 防火墙
这个宝塔面板的 Nginx 防火墙其实非常的鸡肋,可以说当你用到的时候基本也就晚了,并且效果非常有限,尤其是在面临 CC 攻击的时候,一句话:弱爆了!原因很简单,这个防火墙再牛逼依然是需要你服务器来运行和运算的,但凡攻击量稍微大一点就能让你服务器宕机,一个简单免费的 CC 攻击工具就能做到这个效果。所以在明月眼里这个防火墙就是形同虚设。
三、宝塔面板之外的安全防护意识
宝塔面板的最大作用就是让我们方便的配置、部署 Linux 服务器,绕过那繁琐的命令行,所以一个站点或者说服务器的安全更多的是要依赖于外部的安全防护措施,兵临城下从来都不是一个好的安全策略。这就要说到明月经常给大家推荐的带有 WAF 的 CDN 服务了,因为至今为止放眼全球也只有 CDN 服务是可以真正防御 CC 攻击甚至 DDoS 攻击的,唯一取决于 CDN 服务商愿不愿意而已,很幸运的是 CloudFlare 可以免费的给我们提供这种服务,所以大家要想让宝塔面板下的站点更加的安全最好是用 CloudFlare,今天受限于篇幅明月就不多做赘述了,我的博客上已经有很多 CloudFlare 相关的介绍和教程了。
总之,大家要明白的是宝塔面板最大的优点就是让新手可以方便的部署和使用 Linux 服务器来运行我们的站点,但要想更加的安全宝塔面板能力有限,这并不是宝塔的错,只能说是黑客技术的问题,所以说并不是用了宝塔面板让网站上线就可以高枕无忧了,就现在的网络安全趋势,我们还是要更多的加强安全防御意识的。
共有 0 条评论