写个人博客的方式有很多,最普通的就是在CSDN、博客园、简书等平台进行创作和发布;当然,如果不希望受到这些平台对版式、管理的限制,也可以尝试建立个人的网站。如果想白嫖且有一定制作静态网站的基础,可以试试用Github发布个人博客。不过,单纯使用Github托管建立的网站的域名带有.github.io的后缀,如果想要自己的域名还是需要去申请域名和绑定DNS解析的,还有一个问题就是Github好像只能做静态网站。最个性化、最自由的方法是个人建站,从服务器开始一步步建站,不过难度也相对较大,相当于一次全栈开发,会需要一些对网络的基础知识,包括网络、网络安全、SEO优化等等……
本文主要介绍个人建站的操作和粗浅的分析,内容为本站点建立的过程实录和具体分析,如有错漏敬请指正。
服务器的选择
我的选择时租用腾讯云的服务器。腾讯云官网上经常有秒杀活动,我租的是轻量应用服务器(1核2G SSD50G内存 500G流量,北京)的价格大概是一年三四十,仅供参考。不想看废话就可以直接跳到下一节的域名备案解析了。
如果资金比较充裕的话,可以自己买一台性能很不错的服务器,除去购买的成本,每月交点电费擦擦机器就可以跑好久好久……不过一台普普通通的专业服务器的价格大概在一万左右,如果是企业级的服务器,可能要到上百万(捂紧我的小荷包)。
当然,专业的服务器说白了就是一台性能稍微好一点,适用场景稍微单一一点(比如说通常没有多媒体)的计算机罢了。其实,我们自己的计算机也可以用作服务器的。
如果只想在本地访问,可以使用本机服务器,使用Windows的IIS服务即可实现,当然也可以试试Linux系统和Apache、Nginx等服务器,开启防火墙后是可以通过局域网ip访问的。如果想用公网ip的话,还需要进行内网穿透等一系列麻烦的操作。
不过上一段是建立在ipv4的基础上的。随着如今ipv6的普及,可以让我们的ip地址不需要内网穿透也可以被广域网访问到,前提是用作服务器的PC和访问设备都要支持ipv6。此外,ipv6的地址好像一般是动态的,会经常有变化,如果想要稳定的域名,还是需要去备案一个域名并且需要DDNS进行动态域名解析。
如果已经决定了要去租用服务器,却又不知道该如何选择。接下来将介绍云服务器、虚拟主机和轻量应用服务器的概念和适用场景。
虚拟主机:把一台服务器虚拟化成多台,供不同用户同时使用,每个虚拟主机都有独立域名和完整的Internet服务器功能,相互独立,由用户管理。相当于与人合租一套房,优点是便宜,缺点是会相互影响,比如说一个虚拟主机被黑,一整台服务器都会崩溃。
VPS虚拟专用服务器 (Virtual Private Servers):功能和虚拟主机差不多,但每个用户是彼此隔离的,相当于买了一套房而非合租,可以独立地重启系统,具有更高的安全性和可靠性。
弹性计算:简单来说就是一种云资源的高效动态分配技术,可以让服务更加稳定。
云计算:这是一种分布式技术,据说其来源是因为过去一直将因特网画成一朵云。简单来说,云计算就是一个计算机群,合作完成计算,可以达到和超级计算机同样强大的网络服务,我们可以在任意位置的终端获取应用服务,而应用运行的位置是云的某一处。
云服务器CVM(Cloud Virtual Machine):普遍的虚拟云服务器的统称,是一种简单搞笑、安全可靠、处理能力可弹性伸缩的计算服务。
云服务器ECS(Elastic Compute Service):弹性云服务器,是CVM的一种。
轻量应用服务器:新一代开箱即用、面向轻量应用场景的云服务器产品,针对云计算新手或只有轻量计算需求的用户。可以理解为精简版云服务器,比云服务器便宜,但功能有一定限制,具体的可能需要看厂商。
综上,对于我这种预算较低,预期流量和负载较小,且主要目的是学习的人来说,租用轻量应用服务器是比较好的选择。此外,腾讯云提供系统镜像和技术支持等服务,非常值得小白考虑哦。如果只想用ip地址访问服务器,则可以直接进行LNMP安装。
创建实例时应选择Linux系统,关于Linux系统哪家强的问题见仁见智吧,我用的是CentOS 7.6。当然,腾讯云还提供其他的应用镜像,比如WordPress、Typecho,但Typecho的镜像用的数据库是MariaDB,装完后好像没有宝塔面板,再安装的话在数据库的问题上有些麻烦,因此若是想用Typecho+宝塔面板,最好还是自己安装。
域名备案及DNS解析
首先是需要注册一个域名,取名字的教程有很多,此处不予详述。
域名需要经过备案才能被解析到大陆服务器。但如果是海外或者香港的服务器,则不需要备案。
根据工信部《互联网信息服务管理办法》(国务院292号令)和工信部令第33号《非经营性互联网信息服务备案管理办法》规定,国家对经营性互联网信息服务实行许可制度,对非经营性互联网信息服务实行备案制度。未取得许可或者未履行备案手续的,不得从事互联网信息服务,即网站在未完成备案之前,不能指向中国内地服务器开通访问。如果需要在中国内地托管网站或者开通cdn服务,就必须向互联网提供商申请ICP备案。
域名备案可能需要一两天的审核时间,备案成功后就可以进行DNS解析了。腾讯云提供了免费的DNS解析服务,按照要求一步步做就行了。
关于域名还发生过一件很有意思的事。
你会发现它跳转到了北京大学的官网。。。
虽然是我考不上的学校……但这说明了几件很重要的事:
宝塔Linux面板和LNMP安装
到这一步,虽然已经有了服务器和域名,但若是在浏览器输入ip地址或域名,仍然是无法加载出网页的。这时,我们就需要建设一下服务器了。
LAMP=Linux+Apache+MySQL+PHP
LNMP=Linux+Nginx+MySQL+PHP(国外好像是LEMP)
LNMP/LAMP是一种网站服务器的架构,M也可以指MariaDB,P也可以指Perl或Python,但如果你选择使用PHP,那么MySQL绝对是最好的选择。二者的区别主要体现在Apache和Nginx的区别上:前者开源、稳定、模块丰富,但占用内存大、CPU开销大,对静态文件响应较慢;后者稳定、低消耗、轻量,但对php这种动态页面响应较慢。
现在也有LNMPA的架构,这种架构综合了Nginx和Apache(即用前者处理静态页面,后者处理动态页面),不过不能由LNMP直接升级,需要新装。
在安装完宝塔面板后,一键快捷安装LNMP就好了。(另一个选项的意思是要自己编译安装)
SSH远程登录、修改SSH端口和禁用root用户登录
这个时候,在浏览器中输入“http://xxxx(你的域名):8888”已经可以访问到宝塔Linux面板了。如果没有用其他远程登录的需求(比如VSCode远程登录、XShell远程登录),可以跳过这一节,想要登录终端可以去控制台一键登录登录或VNC登录。
开启SSH远程登录后,由于默认的端口22没有修改,且没有禁用root用户,可能会有机器人爆破服务器。为减小这一风险,建议修改SSH端口和禁用root用户。
首先在防火墙开放想要设置的SSH端口(最好挑10000~65535之间的端口号,10000以下容易被系统或一些特殊软件占用,或是以后新应用准备占用该端口的时候,却被你先占用了,导致软件无法运行。)
操作在这里已经成功了,还可以在宝塔面板上“安全
”的界面上更改SSH端口,已建立的连接不被影响。
使用XShell远程登录的话可以使用用户名和密码,也可以使用密钥,但如果是使用VSCode远程登录的话,就必须使用密钥了。
打开文件夹
C/user/.ssh/
,新建空白文本文档id_rsa
和id_rsa.pub
(注意没有.txt
后缀),此类文件可以用记事本、VSCode等编辑器打开。如果此前有过对该IP的登录,需要在
know_hosts
文件中删去该记录所在行并保存。登录服务器终端,切换为管理员,生成密钥。
ssh-keygen -t rsa
要是不想设置密钥的密码,一路回车就好了。
生成后会提示你密钥文件的位置,找到它们,把
id_rsa
和id_rsa.pub
的内容分别复制粘贴到第一步新建的文档中。可以试试在终端输入命令检查是否能成功连接:
ssh usrname@xxx.xxx.xxx.xxx(服务器IP地址) -p xxxxx(端口号)
以下是VSCode远程连接服务器的步骤:
下载VSCode并安装remote插件。
如图,点击SSH TARGETS右边的“+”号,就可以弹出这个框。
输入
ssh usrname@xxx.xxx.xxx.xxx(服务器IP地址) -p xxxxx(端口号)
选择刚刚保存的密钥文件。
连接成功,选择文件夹即可打开。
强制HTTPS
HTTPS协议比HTTP协议更安全。开启强制HTTPS可以自动将HTTP请求重定向到HTTPS请求。
打开宝塔面板,选择
网站
,点击域名(或者“设置”),选择SSL
,选择宝塔SSL
,点击申请。申请完成后证书会自动部署。如果已经有了SSL证书,可以先下载到本机,然后选择
其他证书
,将证书文件内容粘贴上去保存即可。点击右上角的
强制HTTPS
即可。
需要先安装SSL证书再开启强制HTTPS,否则你的网页会打不开……
Typecho安装
下载一个Typecho安装包,上传到服务器上并解压,根据文件路径浏览器中打开install.php即可按照安装指引一步步安装。
主题与插件
可以先去网上搜集一些好看的主题模板和插件,下载后上传并解压到对应Typecho软件目录下的usr/themes和usr/plugins下,完成后在Typecho管理页面选择"控制台-外观/插件"就可以启用了。后期有兴趣、有余力再自己整。
升级php7
如果最初安装的php版本是php5,而有些好看的主题或插件只支持php7,可以通过宝塔面板更改php版本。
首先打开宝塔面板,选择软件管理--运行环境
,找到PHP-7.x
,忽略“PHP是世界上最好的语言”,选择最右侧的安装。
安装完成后,选择网站
,点击域名(或者“设置”),选择PHP版本
,在PHP版本中PHP-7x
,点击切换
。此后可以在软件管理--运行环境
中选择将原来的php5.x服务关掉。(因为宝塔面板支持多个版本的php同时运行,以供不同的网站使用不同的php版本,开着不用会浪费不必要的资源。)
原文链接:https://blog.csdn.net/Script_M/article/details/123282542?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522165918471416782184697728%2522%252C%2522scm%2522%253A%252220140713.130102334.pc%255Fblog.%2522%257D&request_id=165918471416782184697728&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2~blog~first_rank_ecpm_v1~times_rank-6-123282542-null-null.nonecase&utm_term=%E5%85%8D%E5%A4%87%E6%A1%88cdn
原创文章,作者:优速盾-小U,如若转载,请注明出处:https://www.cdnb.net/bbs/archives/2023