提问
1、您想不想拥有一个自己的网站,没事的时候发布点啥,然后闲暇的时候可以分享给你周边的朋友、同事? 2、想不想某一天在百度或者必应等搜索引擎里一搜某些关键字内容,排在前面的是您的网站? 3、在信息化的今天,您想不想有用一个属于自己的邮箱,而不再是那些 qq.com
、163.com
、@123.com
?
其实这些都不是什么问题,也没太大难度。
开个网站需要准备哪些
- 域名
- 域名,就是类似于您所了解知道的比如:qq.com 、baidu.com 、iqiyi.com 等等之类。域名的存在主要是为了方便人们记忆,不然您的记住一串无聊的IP地址,比如 36.152.44.95 百度
- 云服务器
- 服务器,就是比您家的电脑高级点,甚至有时候您的电脑都比它强。这个取决于您的业务需求。
- 因为我们中国大陆互联网法规是不允许私家在家搭建服务器的,为了内容合规,所以都需要租用云服务器,其主要原因有三:①
法规政策硬性要求
;②您家宽带没有公网IP,外部访问内网比较麻烦,这就阻碍了站点分享
;③网站不备案时运营商不放开HTTP端口如 80 和 443
; - 云服务器选择,国内的有 百度云 、腾讯云 、阿里云 、华为云 、七牛云 、又拍云等等;国外的就更多了。如果只是中国内地提供服务,那么选择国内的云服务器即可,速度快,而且也方便;如果是考虑国际性问题,就选择国外的或者中国香港的。两者最大的区别就是中国内地的云服务器需要备案使用,而国外的或者中国香港属地的服务器不备案就能使用。 博主使用的就是腾讯云的服务器,也已完成相关备案,网站底部有对应的备案号可以查验。
- 内容(重中之重)
- 您要搭建一个怎样的网站?比如
博客
、知识库
、论坛
、商城
等等。 - 找到合适自己的网站程序,比如博客使用 typecho(博主的网站就是这个)、论坛使用 Flarum 或 Discuz!X 等等。
- 定期更新您的网站内容,如博客文章、论坛帖子等。
- 您要搭建一个怎样的网站?比如
部署搭建
- 系统环境分析
- 操作系统:Linux -- CentOS
- WEB程序: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天,但管理上也方便了。感兴趣的小伙伴可以使用他们家的,目前看是都可以申请泛域名证书。
- 如果您的站点不配置ssl,那么浏览器访问的时候就会提示
不安全
。
- 使用CDN解析
- CDN解析我个人认为主要两个目的(
小业务,即个人业务
):① 隐藏真实服务器的IP,防止攻击;② 防止doss 攻击;③ 加快静态资源加载,提升访问效率; - 目前国内已经没有免费的CDN厂商了,之前百度是免费的,每个月1000G流量,贼爽;后来也停止了免费业务。目前博主使用的火毅盾CDN,一年10块不到,还是稳定的,小伙伴们也考虑下。
- CDN解析配置步骤:① 现在CDN厂商做好解析配置;② 再到域名服务商那里做cname解析。
- 有无CDN解析访问流程
- 无CDN
graph LR 客户端 --> 服务端
- 有CDN(
客户端感知不到服务端存在,以为实在和服务端交互,实际是和CDN节点交互
)
graph LR 客户端 --> CDN节点 --> 服务端
- CDN解析我个人认为主要两个目的(
- 安全优化
- 服务器部署
ddos-deflate
防护程序,主要是防止恶意刷流量,这个作用是当CDN厂商直接回源时最后一道防护,需要注意的是需要定期把CDN厂商的节点及时加入白名单。 - SSH端口修改,不要使用默认的22端口。
- Nginx 配置过滤一些指定的请求header,防止爬虫(当然不是百分百,毕竟header可以造假);配置防止直接IP访问业务。
- 关注安全报道以及云服务厂商的安全告警,对高危漏洞进行及时处理。
- 全站启用
HTTP2
(如果CDN厂商支持HTTP3,也可以直接启用HTTP3),以及gzip
压缩。 - 全站图片使用
webp
格式,减少带宽压力,加快访问速度。 - Nginx 关闭版本显示,PHP也是一样,这样做有助于提供防护,因为攻击者不知道您使用的是哪个版本。
- 服务器部署