系统环境分析 操作系统:Linux -- CentOSWEB程序:Nginx后端语言:PHP数据库:mariadb 或 mysql内容程序:根据自己网站类型选择对应的,就比如上文提所提到的 博客、论坛等环境部署 源码部署,这是博主所推荐的,如果您是想学习技术,喜欢折腾的话,可以自己尝试每一个都手动编译源码安装,如 Nginx 、PHP 、Mariadb 等(博主一开始为了学习Linux,也是这样部署的)如果您只是想要一个环境,那么有太多的选择了,比如使用 宝塔 或者 lnmp 脚本。这些都是一键自动化部署,其中宝塔是web方式,基本上鼠标点点就可以管理自己的主机和站点,而lnmp脚本则都是命令行操作,博主现在使用的也是这个脚本,因为它是源码部署,相对来说好管理些。应用部署 如果您的应用是诸如PHP这种程序,那么您可以直接解压至Nginx目录下的html里就可以,然后配置对应的Nginx config即可,这种程序一般浏览器访问 install.php 脚本即可开始安装,当然根据程序需要,一般需要配置好应用程序的PHP配置文件,例如数据库信息等。域名申请及备案 如果您的云服务是香港或者外国的可以不用备案;这个步骤一般在您的云服务提供商网站上都有对应的操作流程指导,只需要根据他们的说明文档进行操作即可;现在备案都是云备案,全程电子核验,不像以前还需要幕布啥的;一般备案周期是20天左右,这个看当地管局的效率,备案申请期间,您的网站必须开启,同时确保页面是正常的,哪怕您放一个helllow world 页面也行;有些省份还要求必须公安备案,按照操作流程即可;站点启用https 几乎从2024年4月25日起,国内各大云服务厂商都不支持1年的免费ssl证书了,都是90天。如果是单域名的话影响不太大,因为都有自动续签方法,但如果子域名比较多就有点蛋疼……就像博主一样……因为免费的ssl证书一般都不是通配的证书,也就是说每当您启用一个新域名,就得申请一张证书
目前博主发现 JoySSL 的证书是支持通配符的,这样我的子域名就可以使用同一张证书了,虽然免费的也是90天,但管理上也方便了。感兴趣的小伙伴可以使用他们家的,目前看是都可以申请泛域名证书。 mysql.webpssl.webp 如果您的站点不配置ssl,那么浏览器访问的时候就会提示不安全。使用CDN解析 CDN解析我个人认为主要两个目的(小业务,即个人业务):① 隐藏真实服务器的IP,防止攻击;② 防止doss 攻击;③ 加快静态资源加载,提升访问效率;目前国内已经没有免费的CDN厂商了,之前百度是免费的,每个月1000G流量,贼爽;后来也停止了免费业务。目前博主使用的火毅盾CDN,一年10块不到,还是稳定的,小伙伴们也考虑下。CDN解析配置步骤:① 现在CDN厂商做好解析配置;② 再到域名服务商那里做cname解析。有无CDN解析访问流程 无CDNgraph LR 客户端 --> 服务端
有CDN(客户端感知不到服务端存在,以为实在和服务端交互,实际是和CDN节点交互)graph LR 客户端 --> CDN节点 --> 服务端
安全优化
服务器部署 ddos-deflate 防护程序,主要是防止恶意刷流量,这个作用是当CDN厂商直接回源时最后一道防护,需要注意的是需要定期把CDN厂商的节点及时加入白名单。SSH端口修改,不要使用默认的22端口。Nginx 配置过滤一些指定的请求header,防止爬虫(当然不是百分百,毕竟header可以造假);配置防止直接IP访问业务。关注安全报道以及云服务厂商的安全告警,对高危漏洞进行及时处理。全站启用 HTTP2(如果CDN厂商支持HTTP3,也可以直接启用HTTP3),以及gzip压缩。全站图片使用webp格式,减少带宽压力,加快访问速度。Nginx 关闭版本显示,PHP也是一样,这样做有助于提供防护,因为攻击者不知道您使用的是哪个版本。