【部署】如何用心仪的域名访问博客?记录上线过程
经过大半个月的折腾,看到自己的博客成功上线并能够访问,感到非常欣喜。尽管之前写过类似的文章,但貌似不见了,因此我决定重新写一篇,作为总结,并顺便为博客注入新的活力。
写在之前:
说明一下,我已经完成了 Github/Gitee Pages 和 Hexo 等搭建工作,因此不会再详细描述这些步骤。最初,我的博客是为了分享给家人和朋友看的,由于他们可能没有梯子等工具,因此如果网站加载速度缓慢,会严重影响他们对网站的评价。(我正好也准备面试性能优化这方面的知识,可以在后面展开讨论,但在这篇文章中就不详述了。)
接下来,我将总结一下,我是如何从零开始搭建博客的。
准备工作
选择并购买服务器
首先打开浏览器,进入搜索引擎,输入:“云服务器选择 -广告 -推广
”,进行比价。因为之前我购买域名和服务器时使用的是阿里云,所以这次我也继续选择了它。
如何选择?
在选择云服务器时,对于个人开发者来说,最重要的是价格便宜且性价比高。通常来说,2 核 2G 的云服务器,一年大约 200 元左右是可以接受的。这里就不多说了,选择的原则是服务器距离自己的地理位置较近,配置适中,价格可以接受。
你需要知道的有这些
- 公网 IP
进入云服务器控制台,进入实例(就是你买的服务器)页面。记住公网 IP 即可,之后用 SSH 或 XShell 等填的服务器地址就是这个
- 服务器 root 密码
可根据需要自行重置
- 镜像操作系统
网上资源和教程都很多,选择较新稳定的版本即可。个人用的是 Ubuntu 20.04 64 位
远程登录
推荐使用 XShell、Xftp。前者可以在 Windows 界面下用来访问远端不同系统下的服务器,实现远程控制终端的目的。后者 Xftp 是一个功能强大的 SFTP、FTP 文件传输软件,方便用于远程传输项目、资源文件等。
域名和备案
对应云服务商都可以查询、购买域名,选择自己喜欢的域名即可。需要注意的是,这只是一个开始,想要使其能正常访问需要进行备案和解析。这里就不展开了。现在备案不需要购买那些幕布了,只需要身份证,比以前方便得多,全部可以在线完成。
部署相关配置
到这里开始正式搭建环境了。打开XShell
进入购买的服务器.
升级服务器软件包,安装必要的软件
1 | # 这里选的centos所以是yum |
安装 nvm
直接上文档,这里用 Git install 的方式
1 | cd ~ |
顺便设置 git 的 username 和 email
1 | git config --global user.name "xxx" |
安装 nginx
1 | yum install nginx # 安装nginx |
配置 nginx
1 | cd /etc/nginx/conf.d # 目录切换到nginx的配置路径 |
1 | # fileName: blog-fridolph-top.conf |
之前下的 Xftp
现在就可派上用场了,我一般是根据项目类型放到 服务器 /home/
路径下,填上对应的项目名方便整理。
再执行
1 | nginx -t |
再到云服务器的控制台,解析域名,添加@、www、blog、*
等对应记录即可
遇到的问题
服务器里的中文路径,浏览器访问不能正常展示( 我以前怎么没遇到过这问题?
解决方案 hexo 的话使用
hexo-uuid
插件,生成的文章用 uuid 来代替原有的中文路径
折腾了半天的 nginx 配置,发现即便是拿 utf-8 重新保存,打开还是有编码问题。中文支持确实不友好,这也侧面提醒了我们在服务端使用尽量用英文+数字吧,减少潜在的坑。
升级 HTTPS,添加 SSL 证书
- 服务器安装 certbot 安装相关依赖
1 | # 增加epel源 |
1 | # 按80端口写好对应的conf 能访问即可 |
执行命令扫描 Nginx 所有配置,输出信息,都是英文看不懂自己谷歌,跟着选就好了。
1 | certbot --nginx |
看到上面这个提示就说明成功了
再重启下即可
nginx 不生效问题
注意路径填写,我之前使用 /root/
根路径下的都不生效 - - 不知道为啥,浪费了好多时间,建议用 /usr
或者 /home
看个人喜好吧
配置成功了但访问不到
如果是阿里云有默认安全策略,查看一下是否开启了 80 和 443 端口
大功告成
网站可以访问啦,接下来就是优化问题,后续有时间再开新坑吧!