以每月5美元的价格建立自己的博客[分步指南]
关于技术的博客很有趣。 拥有自己的博客可以帮助他人,提高自己的技能,甚至可以找到工作。 在热门技术网站上写博客很棒。 显然,您是在Hackernoon上阅读的,所以您知道我这样做。 很有趣。 但是,拥有您的OWN网站来管理您的内容也很重要。 这使您可以自由地完全按照自己的意愿做事,尝试奇怪的应用程序和模式并进行实验。
如果您按照本教程进行操作,则可以以每月5美元的价格拥有自己的静态托管博客。 您只需要一个域名。
注意:我不会得到Digital Ocean的任何补偿或认可,您可以在拥有虚拟机的其他低成本提供商中轻松地做到这一点。 他们只是我喜欢的那个。
创建新机器
我们将首先在以下位置创建一个虚拟机(称为“ Droplet”) 数字海洋。
单击“创建”,然后选择“液滴”。
我为此选择FreeBSD ,如果您决定选择Linux,则说明非常相似。
选择每月5美元的选项:
如果这是一个新博客,它将拥有足够的力量。 选择离您最近的数据中心区域。
对于身份验证,我使用ssh。 这仅意味着您需要在计算机上生成密钥并将密钥上载到Digital Ocean。 但这是与您的计算机进行通信的更安全的选择。
注意: 这是有关 如何 在Windows,Linux或Mac中 生成ssh密钥 的很好的教程 。
添加您的SSH密钥,就可以开始使用了。
创建DNS条目
您需要创建一些DNS条目。 我将Route53用于DNS,但是您也可以将Digital Ocean用于DNS。
只需确保您的域已映射到Droplet /服务器的IP地址即可。
登录系统
现在,让我们登录到Droplet。 由于我正在使用FreeBSD,因此我将对其进行更新。
freebsd-update fetch install
接下来,我们将安装Git和Nginx。
pkg install git
pkg install nginx
然后我们将运行rehash,因此命令可用。
rehash
添加防火墙规则
您将需要为防火墙设置一些规则。
使用以下命令来更改您的sysrc:
sysrc nginx_enable= "YES"
sysrc firewall_enable= "YES"
sysrc firewall_type= "workstation"
sysrc firewall_myservices= "22/tcp 80/tcp 443/tcp"
sysrc firewall_allowservices= "any"
然后启动防火墙。
sudo nohup service ipfw start >& /tmp/i pfw.log
启动Nginx:
sudo service nginx start
您应该看到以下内容:
现在,Nginx已通过HTTP连接启动并在您的计算机上运行。
设置您的开发机器
我们将使用Hugo生成静态网站。 根据您的开发机器环境,安装会有所不同,因此,无需重复每个平台(Windows / Mac / Linux / BSD)的安装说明,只需遵循以下说明即可:
您需要在系统上安装Golang 。
然后安装雨果
确保Git 也安装在此计算机上。
创建一个新的雨果网站
现在,让我们创建一个新的网站。 我的被称为“ sillyblog”,所以我运行以下命令:
hugo new site sillyblog
雨果(Hugo)并未为您的博客提供默认主题,因此您将需要找到自己喜欢的主题 。
然后,您只需将主题克隆到刚创建的文件夹内的/ themes文件夹中。
我正在使用“雨果黄昏”主题,所以它看起来像这样:
cd sillyblog/themes
git clone https: //github.com/gyorb/hugo-dusk.git
现在,我需要将该主题添加到我的config.toml文件中。 这将取决于您安装的主题的名称。 大多数情况下,它与.git文件的名称相同。
echo 'theme = "hugo-dusk"' >> config.toml
现在,让我们创建我们的第一篇文章:
hugo new posts/my-first-post.md
请注意,文件名是URL。 所以我的网址是
domain.com/posts/my-first-post/
对于SEO而言,记住这一点很重要。
打开文件content / helloworld.md
它看起来像这样:
---
title: "Helloworld"
date: 2020 -02 -29 T00: 24 : 30 -08 : 00
draft: true
---
您可以在这里编辑您的第一篇文章。
您想将草稿:更改为草稿:准备发布时为false。
hugo serve
太好了,现在我们在本地计算机上运行了一个博客。
您可以取消服务,并生成一个新站点,只需输入
hugo
您的网站将生成到“公共”文件夹中。
设置部署
创建一个github仓库
返回您博客的/ public目录(对我来说是“ sillyblog”)
初始化存储库。
git init
然后,进行第一次提交。
git commit -m "first commit"
您将需要在github上添加博客的远程来源。 对我来说,我将其命名为“ simpleblog”,但您的名字将有所不同。
git remote add origin https: //github.com/JeremyMorgan/simpleblog.git
然后将文件推送到Github。 (请注意,您可以根据需要删除Github步骤并将其直接推送到服务器)。
git push -u origin master
现在,您应该看到文件已推送到您的Github存储库。
设置我们的服务器
现在我们需要设置服务器。 为新站点创建一个文件夹,并将“ example.com”替换为您的网站名称。
mkdir -p /usr/local/www/example.com/html
确保并将Nginx的目录所有权更改为www。
sudo chown -R www:www /usr/local/www/example.com
现在,您可以将站点直接克隆到该文件夹中。 (这是每次发布时要执行的操作。)
git clone https: //github.com/JeremyMorgan/simpleblog.git /usr/local/www/example.com/html/
最后,您需要编辑nginx.conf,以便将域名定向到该文件夹。
vi /usr/local/etc/nginx/nginx.conf
并添加以下内容:(用您的域名替换我的域名)
server {access_log / var /log/nginx/sillyblog.jeremymorgan.com.access.log;error_log / var /log/nginx/sillyblog.jeremymorgan.com.error.log;listen 80 ;server_name sillyblog.jeremymorgan.com;location / {root /usr/local/www/sillyblog.jeremymorgan.com/html;index index.html index.htm;}}
}
这可能位于文件底部:
现在保存文件并重新加载Nginx:
service nginx reload
还有中提琴! 我们的网站开通了!!
但这是端口80上的HTTP 。 不能那样
安装Let's Encrypt for SSL
我们将使用Let's Encrypt安装证书。 关于Let's Encrypt的一件很酷的事情是cert是免费的(尽管您应该捐赠 ),而certbot几乎会为您完成所有配置。
您需要安装certbot:
pkg install py37-certbot-dns-digitalocean
pkg install py37-certbot-nginx
然后,使用--nginx标志运行它:
certbot certonly --nginx
它会问您一些问题:
然后它将自动对您的Nginx conf进行修改:
最后,该网站已启用,并带有https!
结论
在本教程中,我们:
- 设置Digital Ocean VM
- 已安装的Nginx
- 在我们的本地计算机上安装了Hugo
- 雨果创建了一个新站点
- 使用Git将其推送到我们的新服务器。
此工作流程可能有所不同,但这足以开始。 在此工作流程中,我们在本地计算机上构建工件,并使用Git存储工件并将其移动到服务器。 另一种(更好的)替代方法可能是将整个Hugo文件夹存储在git repo中,然后将其提交到服务器并在此之后构建工件。
我不想过多地加载本教程,但是在以后的教程中,我们将进行类似的设置,并对它进行一些CI / CD调整。
如果您进行了设置,请告诉我! 我一直在寻找有关我的教程的反馈。
From: https://hackernoon.com/build-your-own-blog-at-dollar5-a-month-a-step-by-step-guide-1gnv32yj
以每月5美元的价格建立自己的博客[分步指南]相关推荐
- 如何自己动手建立自己的博客网站
您可能想知道成为一个专业的博主是什么样子,但问题是您不知道如何写博客.您只能想到那些好处:设定自己的工作时间,做自己的老板,可以穿着睡衣在家里工作.但"如何做"这一部分仍然让很多人 ...
- 使用wordpress建立企业或博客网站新手教程
前言 wordpress个开源的,知名的,拥有无数的插件和主题的知名blog/CMS php程序.全球数百万的网站通过wordpress建立或修改. 现在非常多的企业网站使用wordpress来建 ...
- 阿里云ecs云服务器建立wordpress个人博客教程
最近流行自媒体,许多朋友也都想建立一个wordpress博客.建立个人博客我们一般都用虚拟主机的多,毕竟便宜,国外的也不需要备案.但是,如果想要长久做下去,博客速度快一些的,我还是建议大家用阿里云的e ...
- Hexo 建立你的博客
利用hexo建立你的博客 准备条件 node运行环境; git环境(需要去github上拉取代码,同时以后也可以用这个把代码push到github上去) 开始工作 1.全局安装hexo 如果npm太慢 ...
- 国际象棋简单ai_建立简单国际象棋AI的分步指南
国际象棋简单ai by Lauri Hartikka 通过劳里·哈蒂卡(Lauri Hartikka) 建立简单国际象棋AI的分步指南 (A step-by-step guide to buildin ...
- 在git上建立自己的博客
怎样在github上建立自己的博客呢,git上有教程,教程地址:https://hexo.io/zh-cn/docs/
- 3个月时间,5名黑客找出苹果55个漏洞,赚了5万多美元,还写了篇博客记录全程
大数据文摘出品 作者:刘俊寰.朱科锦.lin 昨天,翘首期待的iPhone12终于面世,不管是回归经典方框设计,还是首次推出小屏mini版,都让苹果玩家大呼过瘾. 不过,在今年这场别开生面的发布会之前 ...
- 美元汇率问题 酒馆浪人的博客
1251: 美元汇率(dollars) 时间限制: 1 Sec 内存限制: 128 MB 提交: 16 解决: 7 [ 提交][ 状态][ 讨论版] 题目描述 在以后的若干天里戴维将学习美元与 ...
- linux 建立vnc,51CTO博客-专业IT技术博客创作平台-技术成就梦想
vncserver的配置 vncserver:就是以图形化的方式去远程登录控制主机 由于linux的版本不一样安装的包也可能有所不同,其实就是名字不一样而已, 不管是linux的什么版本,如果你想安装 ...
最新文章
- python使用matplotlib可视化、自定义设置Y轴刻度标签字体的大小( setting axis ticks size in matplotlib y axis)
- python安装包为什么这么小-为什么你的Python包老是装不上?收下这个网站就对了...
- mingw msys 编译 libzip
- 《Linux》解决Linux端口被占用
- 小白入职AI数据工程师
- C语言之结构体(2)
- 虚拟化--051 vsphere linux搭建NTP服务器搭建
- 【转载】通过SQL获取MSSQL的数据库相关信息收藏
- matplotlib 设置标注方向,更改matplotlib中绘图的轴,标记和标签的颜色
- 【云原生之Docker实战】使用docker部署Wiznote私人笔记系统
- Sql Server 2005 64位安装包
- 旋转合并照片墙-特效照片墙
- 如何全备份android固件,如何一键备份安卓手机操作系统
- DirectX11 SDK下载地址
- How to Avoid Branching on the GPU 如何在GPU避免分支
- 51单片机C语言程序100例分析(1)IO+C语言+头文件
- python第三周笔记_第三周 day3 python学习笔记
- 网页制作期末大作业成品 HTML5+CSS大作业——简约个性高逼格博客(5页) web网页制作期末大作业模板
- android类加载
- Pix4D mapper如何添加最简单方式添加坐标系