如何搭建个人博客?
53 个回答
分享我自己录制的视频教程~ 手把手带你从0搭建个人网站,小白可懂的保姆级教程 | 2种方法让你拥有个人博客 ⛽️
Docsify快速搭建个人博客 https://mp.weixin.qq.com/s?__biz=MzIyNDU2NTc5Mw==&mid=2247483681&idx=1&sn=ebde89bf6d333b423f9d2b7445295c12&chksm=e80c4e6fdf7bc779b57a24bcd12fc108209aa981f5420d4fad0fe6357fb624dae3d517585e14&mpshare=1&scene=1&srcid=&from=groupmessage&ascene=1&devicetype=android-28&version=2700043b&nettype=WIFI&abtest_cookie=BQABAAoACwASABMAFQAHACOXHgBWmR4AwJkeANyZHgD0mR4AA5oeAAuaHgAAAA%3D%3D&lang=zh_CN&pass_ticket=CPLao4itX%2BOCHnwFDUyCeXsVMSnpdCNAGMdVKfNOsLQuA6LXyj2ItIGJWrwa6m8B&wx_header=1
如何搭建个人博客,其实是很简单的!搭建个人博客可以分为以下几个步骤:
- 选择博客平台或自建博客:可以选择使用博客平台,如WordPress、Blogger等,或者自己搭建博客。
- 选择技术和语言:如果选择自建博客,需要选择搭建博客的技术和语言。可以选择使用Java技术和相关框架,如Spring Boot和Thymeleaf等。
- 确定博客主题和样式:可以选择使用现成的主题和样式,也可以自己设计。
- 搭建博客后台:使用Java技术和相关框架,如Spring Boot和Spring Security等,搭建博客后台,实现博客文章的管理和发布等功能。
- 实现博客前台:使用Java技术和相关框架,如Thymeleaf和Bootstrap等,实现博客前台的展示和交互等功能。
- 前后端分离的话,建议使用VUE插件化开发
前提功能的话,还是还是要准备服务器功能:
购买域名和虚拟主机
首先,你需要购买一个域名和虚拟主机,这是搭建个人博客网站的最基本步骤。你可以在各大域名注册商(如 GoDaddy、Namecheap等)购买一个自己的域名,然后再选择一个稳定可靠的虚拟主机提供商(如 AWS、阿里云、腾讯云等)购买一个虚拟主机。
我是在腾讯云(并没有赞助啊)上购买域名和虚拟主机。
选择博客系统
搭建博客的下一步是选择一个博客系统。目前比较流行的博客系统有 WordPress、Hexo、Typecho等。这些博客系统各有优缺点,你可以根据自己的需求和技术水平选择合适的系统。
我选的是Typecho,因为看着页面简洁、干净,并且腾讯云的虚拟主机有这个Typecho的博客系统可以一键安装,简单,无脑,赞一个。可以省掉第三步哦。
下面是一个使用Java技术和Spring Boot框架搭建个人博客的例子:
- 创建一个Spring Boot项目,并添加相关依赖,如Spring Web、Spring Data JPA等。
- 设计数据库结构,创建博客文章表和用户表等。
- 创建相关实体类和DAO层代码,实现对博客文章和用户的数据库操作。
- 创建后台管理页面,实现文章的管理和发布功能。
- 创建前台展示页面,实现博客文章的展示和交互功能,如评论、点赞等。
- 部署项目到服务器上,访问博客网址,即可浏览博客。
需要注意的是,搭建个人博客需要一定的技术和开发经验,如果您没有相关经验,可以选择使用现成的博客平台。
下面是一个使用Java和Spring Boot框架搭建个人博客的例子:
创建Spring Boot项目
使用Spring Initializr创建一个新的Spring Boot项目,选择Web和JPA依赖,并添加Thymeleaf和Spring Security等相关依赖。
知乎旗下的职业教育品牌「知学堂」app,里面有当前市面常见编程语言的免费教学视频,当然也包括 C 语言,像 C 语言核心技术,有计算机二级需求的真题精讲等等,有理论也有实践,链接在下面了——
创建数据库表
创建一个博客文章表和一个用户表,用于存储博客文章和用户信息。可以使用MySQL等数据库管理系统,执行如下SQL语句:
CREATE TABLE article (
id INT PRIMARY KEY AUTO_INCREMENT,
title VARCHAR(100) NOT NULL,
content TEXT,
author VARCHAR(50) NOT NULL,
created_time TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
updated_time TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP
);
CREATE TABLE user (
id INT PRIMARY KEY AUTO_INCREMENT,
username VARCHAR(50) NOT NULL UNIQUE,
password VARCHAR(100) NOT NULL,
email VARCHAR(100) NOT NULL,
created_time TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
updated_time TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP
);
创建实体类和DAO层代码
创建Article和User实体类,分别对应文章和用户信息。创建对应的ArticleRepository和UserRepository接口,继承自JpaRepository,实现对文章和用户信息的数据库操作。
@Entity
@Table(name = "article")
public class Article {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Integer id;
@Column(nullable = false)
private String title;
@Column(columnDefinition = "TEXT")
private String content;
@Column(nullable = false)
private String author;
@Column(name = "created_time", nullable = false, updatable = false)
@CreationTimestamp
private LocalDateTime createdTime;
@Column(name = "updated_time", nullable = false)
@UpdateTimestamp
private LocalDateTime updatedTime;
// getters and setters
}
@Entity
@Table(name = "user")
public class User {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Integer id;
@Column(nullable = false, unique = true)
private String username;
@Column(nullable = false)
private String password;
@Column(nullable = false)
private String email;
@Column(name = "created_time", nullable = false, updatable = false)
@CreationTimestamp
private LocalDateTime createdTime;
@Column(name = "updated_time", nullable = false)
@UpdateTimestamp
private LocalDateTime updatedTime;
// getters and setters
}
@Repository
public interface ArticleRepository extends JpaRepository<Article, Integer> {
List<Article> findAllByOrderByCreatedTimeDesc();
}
@Repository
public interface UserRepository extends JpaRepository<User, Integer> {
User findByUsername(String username);
}
创建后台管理页面
创建一个AdminController类,处理后台管理页面的请求和响应。使用Thymeleaf模板引擎,创建后台管理页面的模板,实现文章的管理和发布功能。
@Controller
@RequestMapping("/admin")
public class AdminController {
@Autowired
private ArticleRepository articleRepository;
@GetMapping("/articles")
public String listArticles(Model model) {
List<Article> articles = articleRepository.findAllByOrderByCreatedTimeDesc();
model.addAttribute("articles", articles);
return "admin/articles";
}
@GetMapping("/articles/new")
public String newArticle(Model model) {
model.addAttribute("article", new Article());
return "admin/articles";
}
@PostMapping("/articles")
public String createArticle(@ModelAttribute Article article) {
articleRepository.save(article);
return "redirect:/admin/articles";
}
}
创建前端页面
创建前端页面,使用HTML、CSS和JavaScript等技术,实现博客的浏览和展示功能。可以使用Bootstrap等前端框架,简化前端开发流程。
创建安全配置
创建一个SecurityConfig类,配置安全相关的参数和权限控制,保护博客系统的安全性。
@Configuration
@EnableWebSecurity
public class SecurityConfig extends WebSecurityConfigurerAdapter {
@Autowired
private UserDetailsService userDetailsService;
@Override
protected void configure(HttpSecurity http) throws Exception {
http.authorizeRequests()
.antMatchers("/", "/articles/**").permitAll()
.antMatchers("/admin/**").hasRole("ADMIN")
.and()
.formLogin()
.loginPage("/login")
.permitAll()
.and()
.logout()
.logoutUrl("/logout")
.permitAll();
}
@Autowired
public void configureGlobal(AuthenticationManagerBuilder auth) throws Exception {
auth.userDetailsService(userDetailsService).passwordEncoder(passwordEncoder());
}
@Bean
public PasswordEncoder passwordEncoder() {
return new BCryptPasswordEncoder();
}
}
再比如前后端分离的一个系统:
- 前端主要技术栈
Web 端使用 Vue + ElementUI , 移动端使用 uniapp + ColorUI。
- 后端主要技术栈
后端使用 SpringCloud + SpringBoot + Mybatis-plus进行开发,使用 Jwt + SpringSecurity 做登录验证和权限校验,使用 ElasticSearch 和 Solr 作为全文检索服务,使用 Github Actions完成博客的持续集成,使用 ElasticStack 收集博客日志,文件支持上传本地、七牛云 和 Minio.
现在我们公司主要需要开发一款在线购物商城平台,比如:
一款在线购物商城平台需要使用多种技术来支持前后端的开发,以下是可能使用的技术举例:
前端技术:
- HTML/CSS/JavaScript: 前端开发的基础技术,用于构建网页的结构、样式和交互效果。
- Vue.js/React/Angular: 前端框架,提供了更好的组件化、数据驱动、状态管理等开发方式,可以提高开发效率和代码质量。
- Axios: 前端 网络请求库,可以发送 HTTP 请求到后端 API 接口,获取和提交数据。
- Webpack: 前端构建工具,可以将多个 JavaScript 文件打包成一个或多个 bundle 文件,减小文件体积、提高加载速度。
后端技术:
- Java/Python/Node.js: 后端开发的常见语言,用于编写服务器端应用程序。
- Spring Boot/Django/Express.js: 后端框架,提供了路由、数据库、认证授权等基础功能,可以加快后端应用程序的开发速度。
- MySQL/Redis/MongoDB: 数据库,用于存储用户信息、商品信息、订单信息等数据。
- JWT/OAuth2: 认证授权技术,用于实现用户登录、权限控制等功能。
Nginx: 反向代理服务器,用于负载均衡、静态资源缓存、HTTPS 加密等功能。
以上仅是一些可能使用的技术,实际情况会根据具体的需求、团队经验和预算等因素而有所不同。在搭建技术栈时,需要综合考虑以下因素:
需求
商城平台需要具备哪些功能,比如商品展示、购物车、订单管理、支付等功能,需要根据需求确定开发的功能和特点。
技术选型
根据团队的技术水平、项目需求和市场趋势等因素选择适合的技术,不要盲目追求新技术,也不要忽视已有的成熟技术。
架构设计
商城平台需要考虑高并发、高可用、安全性等问题,需要合理的架构设计来满足这些需求。
开发工具
为了提高开发效率,我会选择使用IntelliJ IDEA作为我们的开发工具。IntelliJ IDEA是一款强大的Java开发IDE,具有良好的代码提示、调试和版本控制等功能,可以帮助我们快速地开发出高质量的代码。
开发流程
为了提高开发效率和团队协作,我会采用敏捷开发模式。我们可以把开发周期划分为几周的 迭代周期,在每个迭代周期中,团队成员需要进行需求评审、设计评审、代码评审等工作,并且需要定期进行项目演示和回顾,及时修正偏差和优化开发流程。
技术框架
为了快速地搭建系统并且保证系统的稳定性和扩展性,我会选择使用Spring框架。Spring框架是一个流行的开源Java框架,可以帮助我们快速搭建系统并且提供丰富的扩展性和可靠性。
数据库
考虑到我们需要存储大量的产品和用户数据,我会选择使用MySQL数据库。MySQL是一个流行的关系型数据库管理系统,具有高效的查询和事务处理能力,可以满足我们对数据存储和管理的需求。
缓存
为了提高系统的访问速度和稳定性,我会选择使用Redis作为我们的缓存系统。Redis是一个开源的内存数据库,具有高效的读写性能和优秀的可靠性,可以为我们提供快速的数据读取和缓存机制。
消息队列
为了支持异步消息处理和高并发场景,我会选择使用Kafka作为我们的消息队列系统。Kafka是一个高性能、分布式的消息队列系统,可以帮助我们实现消息的异步处理和实时数据处理等功能。
记得前端事件我还写过一个后端的开源项目,这里大家可以去参考一下
Spring Boot + Vue + Shiro 实现前后端分离、权限控制可用于毕设:
总的来说,以上是我从0搭建公司的后端技术栈的一个例子。
当然从零开始搭建公司的后端技术栈需要考虑很多因素,包括业务需求、技术选型、数据库选择、开发工具、开发流程和规范等等。 这篇文章只是提供了一些思路和指导!
补充
博客可以设置百度统计、谷歌分析、不蒜子统计、Gittalk留言板等功能,这些功能需要自己申请账号,实现起来比较简单,具体自己百度。
学习编程给大家推荐知乎旗下的职业教育品牌「知学堂」这款APP,不仅有各种编程语言如Python、Java、C++的基础语法,还有丰富的可以写入简历的实战项目,无论是职场进阶还是求职,都很适合,链接在下面了——
我是架构师小于哥
@终端研发部
我会偶尔出来写写代码,分享程序员职场经验、技术编程小技巧,希望我的分享能够给大家带来一些帮助哈,笔芯~
这是我使用 Hexo 发布的第一篇博客。
对于不懂技术的我来说,搭建这个博客一波三折,幸好中间有一位热心网友 @无声 的相助,这个博客才得以搭建起来。
看着一个博客从 0 到顺利诞生,那种感觉可能就像是
- 产品经理看着自己做的第一个产品顺利上线
- 准备要当妈妈的女人听到孩子第一声啼哭的那个瞬间
那种感觉不言而喻,虽累但成就感满满,一切值得。
我之前曾写过两篇技术小白搭建博客的文章:
这两篇文章都用到了同一个网站 GitHub,这个网站是世界上最大的代码托管平台,可用来托管代码,也可以用来存放文章数据,作为托管博客的站点,省去购买域名和租用服务器的钱。
但使用这个方法存在一个弊端:访问时打开的速度很慢,需要使用网络代理,才能以正常的速度打开网站。
此外,在没有购买域名和租用服务器的情况下,搭建的博客网址通常是「GitHub用户名. http://github.io」, http://github.io 后缀的网站以前虽然打开的速度慢,但至少还能访问。
但在不久前,我想起自己许久没更新的博客,想打开看一下,发现 http://github.io 后缀的网站也打不开了。显而易见的是,它也被加入了大陆屏蔽的列表。
正是这个问题,促使我萌生了再次搭建新博客的念头,我想搭建一个存在时间尽可能长、且能在国内正常访问的博客。
搭建博客的流程
购买域名
域名可以理解为我们平常所说的网址,例如 http://baidu.com,我购买的域名是 penghh.fun。
这个域名是从腾讯云购买的,网站会提供各式各样的域名后缀,如.com、.net、.cn 等,在顶部的搜索框输入你想注册的域名,下面会返回加上不同后缀的域名及价格。
域名是按年收费的,可只买一年,也可一次性买好几年,一次性购买多年的价格会划算一些。
如果你像我一样,不确定一年之后是否有精力维护博客,那最好就只买域名的 1 年使用期。
购买域名时的注意点:不要购买域名后缀为中文的域名。
租用一台服务器
在进行下一步域名备案之前,我们需要先租用一台服务器。
服务器可以理解为一台 24 小时不关机的电脑,如果你将博客的数据存放在上面,它就能随时随地被访问,无需担心电脑是否处于开机状态,且服务器能同时接收多个客户端的请求,因此它可以实现多人同时访问一个网站。
下图是我租用的服务器配置,应该是最便宜的服务器,一年的费用为 99 元。
腾讯云服务器: https://cloud.tencent.com/act/double11/go
域名备案
如果你的网站想在国内正常访问,需要向互联网管理局提交备案,获得备案号后才能正常访问。
我是通过腾讯云提交备案的,在手机上通过小程序「腾讯云网站备案」提交网站名称和网站的备注信息等,网站名称存在着很多隐藏的限制,例如不能出现「分享」、「工具」等涉及诱导分享或商业性质的字样,我因为网站名称命中敏感词、描述不清而被驳回了三次。
网站名称最后还是腾讯的客服根据备注信息帮我起的——「个人电子产品使用心得」,与我最开始想设置的「效率工具指南」相去甚远。
此外,备案时还需要提交一个紧急联系人电话,可以将其设置为你的对象、家人或朋友,后续腾讯云客服在审核的过程中也会联系你留的紧急联系人电话,因此最好事先与紧急联系人打个招呼。
提交的备案信息通过腾讯云审核后,客服会将你的信息提交到管局,正常情况下 10 个工作日之后就能收到审核的结果,顺利的话就能拿到网站的备案号。
备案要点:耐心!耐心!耐心!尤其是在我们这个国家。
配置域名解析
之前我对域名的理解是,只要在浏览器地址栏中输入域名 penghh.fun,就能打开我的博客,但后来发现输入 www.penghh.fun 和 penghh.fun 是不一样的,在未正确配置域名解析的情况下,penghh.fun 打开失败,而 www.penghh.fun 则打开正常。
咨询了网友 @无声 后,找到了解决方法,需要在服务器的 DNS 解析页面新增一条值为 @ 的主机记录,这里的 @ 代表直接解析域名 penghh.fun,将其指向与 www.penghh.fun 相同的 IP。
完成配置后,之后无论是否输入带有 www. 的网址,都可以正常访问网站,打开同一个页面。
安装 Hexo 框架
搭建博客有两个比较多人用的框架:Hexo 和 Hugo,我选择的是 Hexo。
关于 Hexo,引用 IIssNan 介绍 Hexo 时说的一段话:
Hexo 是高效的静态站点生成框架,它基于 Node.js。通过 Hexo 你可以轻松地使用 Markdown 编写文章,除了 Markdown 本身的语法之外,还可以使用 Hexo 提供的 标签插件 来快速的插入特定形式的内容。
安装 Hexo 框架之前,需要先安装其他环境或软件: Git Node.js
Git,是一个版本控制软件,后面在将博客 push 到 GitHub 仓库时会用到。
Node.js 目前已集成到包管理工具 npm 中,因此只要你安装了 npm,就会附带安装 Node.js。
关于如何在本地安装 Hexo 框架,可以参考 Up 主 @CodeSheep 的视频教程,视频讲解得非常详细,说是一个保姆级教程也不为过。
教程地址: 手把手教你从0开始搭建自己的个人博客 |无坑版视频教程| hexo
配置服务器
在搭建博客的整个流程中,我觉得配置服务器对我来说是最难的,一方面是配置时需要在服务器和本地之间分别进行操作,你需要分清某个命令是要在服务上还是在本地上操作,但这东西一来二去就把我搞晕了,另一方面,配置服务器时全程用的是黑黢黢的命令行窗口,而不是我们常用的图形化界面。
为了弄清在服务器上输入的某行命令产生了什么效果,例如是否在正确的路径下创建了文件夹,我们需要使用一些远程连接软件,将本地的电脑与服务器连接起来,通过软件查看服务器端生成的文件。
Mac 电脑:远程连接软件推荐使用 Royal TSX Windows 电脑:远程连接软件推荐使用 Xshell
关于 Royal TSX 的用法,可以查看 Up 主 @老郭种树 的视频:
怎样在Mac上SSH和FTP?完美替代XShell是哪个软件?item2吗?Royal TSX! 没有比它更好
不一边输命令,一边查看生成的文件,我觉得心里特没底,特别没有安全感。
最终,服务器的配置还是网友 @无声 帮我弄好的,因此我少了这一步的实践,想了解的朋友,可以查看 @千古壹号 写的一篇搭建博客的文章:
hexo+阿里云搭建博客网站
部署到 GitHub
我的博客不是直接从本地部署到服务器的,它相比前者中间多了一步:部署到 GitHub。后面再通过 GitHub 的 Actions 命令自动部署到服务器。
之所以要加多这一步(指部署到 GitHub),我的理解是,将 GitHub 作为一个备份的方案,它可能可以解决的问题有:
- 本地的博客文章数据丢失了
- 换了新的电脑
- 服务器欠费未缴清
对于前两个问题,只需要通过 git pull 或 git clone 命令,就能将之前提交到 GitHub 的博客文章恢复到本地,无需担心数据丢失或迁移带来的麻烦。
第三个问题,由于 GitHub 是免费的,即便后面你不想租服务器了,将博客文章暂存到 GitHub 上,其实也是可以正常浏览的哈哈哈哈。
使用 GitHub Actions 实现博客自动部署到服务器
GitHub Actions 是 GitHub 提供的一个自动化工作流,它有点类似于 iPhone 上的「快捷指令」。
在 GitHub 仓库根目录中创建一个工作流文件,即将博客自动化部署到服务器的配置文件,之后你每次将本地的博客提交到 GitHub,就会自动触发 GitHub Actions 执行,稍等一小会,它就会将所有更改同步到远端的服务器。
这时,刷新一下之前停留的博客页面,就可以看到刚刚更新的博客文章了。
能让程序自动化的,千万不要手动操作,正如 Perl 编程语言的作者 Larry Wall 所说的:
程序员的三大美德:懒惰,急切,傲慢。
懒才是第一生产力。
可能会用到的命令行
查看 Git/Node.js 的版本号
git --version(也可以简写成 git --v) node --version(同理可以简写成 node --v)
路径操作
进入 blog 文件夹:cd blog 进入 blog 文件夹下的子文件夹 posts:cd blog/posts 返回根目录:cd 返回上一级目录:cd ..
显示当前路径
pwd
在当前路径下创建一个新的文件夹
mkdir+空格+文件夹名称
查看当前路径下所有文件的管控状态
ls -l *注:上面的两个字母是 L 的小写
获取 Git 的 ssh 公钥
cat ~/.ssh/id_rsa.pub
博客 push 到 GitHub
git add . git commit -m"附带的信息,例如在某个时间点编辑了博客" git push
Vim 编辑器模式下的操作 & 命令行
快捷键 i:i 是 insert 的缩写,表示插入 :q——退出 :wq——保存并退出
命令行虽然可能不像我们现在用的图形化界面那么直观,不那么易于理解,但通过输入短短的几行英文,就能实现某个看起来有些复杂的操作,那个感觉有时真的妙不可言,给人一种「我是上帝,正在造物」的错觉。
写在最后
搭建这个新的博客,最要感谢的还是我在即刻偶然认识的一位网友 @无声,他很耐心地帮我解决了大部分问题,如博客部署到服务器、使用 GitHub Actions 实现博客自动化部署,即便他晚上工作到 10 点多才下班,依然很有耐心地帮我解决了遇到的所有问题。
这也让我看到了一个技术人身上那种不屈不挠、誓要把问题解决的韧劲,他在帮我搭建博客的过程中,同样会遇到最初不知道怎么解决的问题,但他没有因为这是我的事情就草草地放弃了,反而是愈战愈勇。
一个人之所以强大,不止是来自于强健的体魄,更重要的可能是拥有一颗「大心脏」,能扛得住各种磨难、不畏难,甚至是主动挑战困难,这也是我一直以来佩服做技术的人的原因。
原本是想写一个详细的搭建 Hexo 博客教程,但写的时候发现自己还是不够耐心,就写了这篇比较笼统的文章,因为我自己其实也没有完全理清一些操作的意图或者命令,有些命令随着终端的关闭也消失了。。。好吧,这都是我的借口。
以上,希望有帮助。
本博客使用了优雅的 Fluid 主题,在此对开发这个主题的开发者 zkqiang 表示衷心的感谢。
这个希望对你有帮助
三步
1.下载源码
2.购买网站空间
3.上传源码
视频教程:
五分钟倒数计时。
三步完成免费个人博客搭建, 这是一篇小白也能看懂的文章,本文主要针对mac OS ,Windows 除了软件安装方式和命令有些区别(装了git bash也一样),其他基本一样。
你可能会经常看到类似于这样的博客:
typecho个人博客搭建,->视频教程.
使用WordPress搭建个人博客->视频教程
:
具体得看视频
下面说一个Github依赖的博客系统。比较难
在4分50秒以后你也能够有一个类似的blog了。
有简书了为什么还需要个人博客呢,除了装逼,当然还有个人博客更加自由,不受任何第三方管理,并且还能够自定义成自己喜欢的样子。还有,如果你是个程序猿,那就更没有理由不自己搭建一个独立博客了。
好了,不BB了。抓紧时间开始。
1. 创建Github 域名和空间
1.1注册
首先你需要注册一个 Github账号,已有的可以下翻去1.2 创建仓库
,注意username,这会影响到你的域名,你的域名将会是 http://username.github.io ,所以认真的取个名字吧。
Create account
注册过程可能需要验证你的邮箱,其他就不在赘述。
1.2 创建仓库
然后需要创建一个仓库(repository) 来存储我们的网站,点击首页任意位置出现的 New repository
按钮创建仓库, Respository name 中的username
.github.io 的username
一定与前面的Owner 一致,记住你的username
下面会用到。
Create reponsitory
第一步就已经完成了,下面是安装。
2. 安装
Hexo 可以说是目前最流行的博客框架了,基于Nodejs,更多信息可以google,下面需要安装的工具包括 Git,Nodejs,Hexo。(Windows 用户自行搜索这些工具,直接安装即可,试过基本没啥问题)
- 安装Git
我就想问问,还有谁没装Git么?
// 如果已安装HomeBrew 无需执行此行
$ /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
$ brew install git // 安装Git
你也可以通过下载 安装程序来安装
- 安装Nodejs
先安装nvm,这是Nodejs版本管理器,可以轻松切换Nodejs版本。 这里有两种方式安装。如果使用curl的方式安装,安装完成之后一定要重启终端。
1. Homebrew 安装方式,此安装方式无需重启
$ brew install nvm
$ mkdir ~/.nvm
$ export NVM_DIR=~/.nvm
$ . $(brew --prefix nvm)/nvm.sh
2. curl安装方式 $ curl https://raw.github.com/creationix/nvm/master/install.sh | sh
安装完成后,重启终端 并执行下列命令即可安装 Node.js。
$ nvm install 4
- 安装Hexo
以上所有都安装完成之后再安装Hexo
$ sudo npm install hexo-cli -g
所有必须工具已经安装完成,下面我们就可以生成博客,上传至我们的Github 仓库了。
3. 编写,发布
接下来我们需要用Hexo初始化一个博客,然后更改一些自定义的配置,或者加上自己喜欢的主题,写上第一篇文章,然后发布到自己的个人Github网站(username
.github.io)。
- 创建博客
将下面的 username 替换成你自己的username(其实也无所谓,作者强迫症),执行成功后,会创建出一个名为 http://username.github.io 的文件夹。
$ hexo init http://username.github.io
- 更改配置
主题安装
为了使博客不太难看,我们需要安装一个主题,切换至刚刚生成的Hexo 目录,安装主题
$ cd http://username.github.io
$ git clone https://github.com/iissnan/hexo-theme-next themes/next
这里选了一个极简的主题,也是Hexo众多主题中最受欢迎的一个。上面出现的喵神的主题 在 这里。Hexo也有 更多主题供你选择。
基础配置:打开文件位置 http://username.github.io/_config.yml
修改几个键值对,下面把几个必须设置的列出来按需求修改,记得保存, 还有注意配置的键值之间一定要有空格。 更多设置...
title: dimsky 的 9 维空间 //你博客的名字
author: dimsky //你的名字
language: zh-Hans //语言 中文
theme: next //刚刚安装的主题名称
deploy:
type: git //使用Git 发布
repo: https://github.com/username/username.github.io.git // 刚创建的Github仓库
主题配置:
主题配置文件在 http://username.github.io/themes/next/_config.yml
中修改,这里略过。 设置详情
- 写文章
所有基础框架都已经创建完成,接下来可以开始写你的第一篇博客了
在 http://username.github.io/source/_posts下创建你的第一个博客吧,例如,创建一个名为FirstNight.md的文件,用Markdown大肆发挥吧,注意保存。
如:
--- title: First Night --- > 我有一头**小毛驴**,可是我从来都不骑。
- 测试
$ hexo s
测试服务启动,你可以在浏览器中输入 https://localhost:4000 访问了。
- 安装 hexo-deployer-git自动部署发布工具
$ npm install hexo-deployer-git --save
- 发布
测试没问题后,我们就生成静态网页文件发布至我们的Github pages 中。
$ hexo clean && hexo g && hexo d
如果这是你的第一次,终端会让你输入Github 的邮箱和密码,正确输入后,骚等片刻,就会把你的博客上传至Github 了。以后在每次把博客写完后,执行一下这个命令就可以直接发布了,灰常苏胡。
- 5分钟应该快到了
是不是很快,恭喜你能走到这一步,你的博客已经完成了,在浏览器中输入 http://dimsky.github.io 就能够访问了。
最后应该是类似这个样子的
这是从我们文库复制过来的教程,从购买域名到优化博客都有了
一键直达 博客主机引导 - 优网主机|帮助文库
1、 购买域名
2、 购买主机 (有免费主机)
3、解析域名
- 阿里云域名解析
- Godaddy域名解析
4、 设置SSL证书
5、 登陆WordPress
6、 把WordPress切换成中文
7、 加速WordPress
8、 让WordPress更安全
如果是想学习开发技术可以从头开发,如果只是想记录自己的学习心得、管理自己的内容,建议使用新一代的博客平台 —— “WRITE-BUG数字空间”,专注大学生内容管理和交流的新一代社区!
在学习过程中,为了节约不必要的时间,高效的创作工具和管理工具是必不可少的!传统的博客创作和管理功能比较单一,所以推荐个新一代的博客创作平台,拥有超高颜值、超完备的创作和管理工具 —— 【WRITE-BUG数字空间】!
【WRITE-BUG数字空间】专注于大学生的知识管理和交流,界面UI紧随潮流、符合大学生的审美;功能更是完备!(ps:非常适合程序猿同学)
- 提供聊天大厅,即时群聊、畅所欲言
- 提供协同编辑的云文档,支持6大常用文档(思维笔记、流程图、markdown、word、ppt、excel)
- 提供任何内容皆可批注的云批注笔记,可以批注paper、批注代码、批注博文等等,方便管理、查阅
- 提供GIT的代码仓库,内置代码质量评估系统,一键可以为代码体检,找到代码的潜在问题(特别适合程序猿同学哦)
- 。。。。
以上功能都是以插件服务方式提供,同学可以自由选择组合,形成自己独特的“数字空间”(学习圈)!还可以随时随地找到自己感兴趣的“数字空间”,无需申请加入,直接开聊、参与讨论!
【WRITE-BUG数字空间】非常适合用作个人或者小团队知识库,助力高效创作、高效管理。高效的创作、管理为你节省大量不必要的时间,专注在知识管理上。
来看下截图感受下吧:
其实如果你关注的是写东西,开个知乎专栏,或者去国内好点的bsp免费申请一个博客就可以开始写了。很多人自己搭了博客,还不是最终放弃,这些人占99.99%,你有幸是那0.01%吗?
如果嫌国内的乱,也可以把家安在国外好点的主机上,比如国外非常优秀的虚拟主机: Fastcomet , Siteground 域名主机都是一站式服务,自己省点力气,专注内容建设就行了。
这里有 fastcomet演示视频, siteground演示视频。
如果目的并不是写作,而是学习博客搭建的技术,那么找个性价比高的VPS,随你折腾,决定要写东西了,有需要再在后台点两下就能升级了。这是我的 优质国外vps推荐。
如果你对技术一窍不通,不要去用VPS,用虚拟主机。
如果主机商提供域名注册主机购买的一站式服务,就在主机商直接注册域名,省不少管理负担。如果主机商不提供域名注册,可以在 Namecheap上买个域名,多一个手动域名指向主机IP的操作,网上搜一搜。
这是我的网站: 煮鸡妈妈 里面有联系页面,有问题可以讨论。
比较方便的办法,可以用 Docker 快速部署一个博客应用。不用搞各种服务器配置、数据库配置等,可以参考这篇短文章:
Docker容器快速部署 技术人成长 - 聊技术,话成长
linux deploy+busybox+juicessh=linux
linux + 博客系统 + 内网穿透 = 个人博客
成本极低,仅一台闲置的安卓设备
个人博客地址: http://zkeeer.space
个人博客已运行,里面有详细介绍搭建方法
欢迎来玩
安卓机配置
- 联想 黄金斗士s8 (s898t 3G版)
- 操作系统 Android 4.2
- 核心数 四核
- CPU型号 联发科 MT6589T
- CPU频率 1.5GHz
- GPU型号 Imagination PowerVR SGX544
- RAM容量 1GB
- ROM容量 8GB
- 电池类型 可拆卸式电池
- 电池容量 2000mAh
服务器(安卓机)实体位置
博客页面
自己写一个呗。
搭建个人博客考虑以下几点:
- 搭建一个博客需要的知识、时间。
- 域名、资源储存、网站托管的费用。
- 搭建博客去哪里找源码、什么博客平台。
- 博客需要实现什么功能。
- 博客作用、运营博客的目的。
- ...
很多回答都推荐wordpress这种博客,漂亮好用,但是相对于只是玩玩搭建博客的人来说,成本未免太高,不单单服务器的费用,不懂点php这种最好的语言还有前端,怎么把网站弄得漂漂亮亮。
只是想通过搭建博客过把瘾的人,其实可以入手hexo,typecho等博客,因为这些都是一键打包生成纯静态网站页面的博客系统。不像wordpress这种需要服务器渲染,需要数据库等等管理数据。
github、gitee、coding免费提供静态网页托管,只需要把hexo打包好的网站文件放上去托管就ok了,一分钱不花,域名都不用买。
明说也不怕打脸,很多人搭建博客完全是为了显摆+折腾,天天都是美化主题、装各种花里胡哨的插件,乐此不疲[狗头]。
如果搭建个人博客?
少搞主题,自己写一个博客。
可以参考一下 怎么样建立自己得博客?
各位好,我是 老张 !看完这篇文章你可以学会安装WordPress,并使用WordPress搭建博客网站。
当然WordPress还有很多用途,全球42%的网站使用WordPress搭建,小到个人网站大到《财富》500强公司,老张给客户定制企业网站也使用WordPress。
煽情的话就不说了,直接进入主题。
对了,老张买了一个GeneratePress主题,有500个站点授权,如果你是看本教程搭建的WordPress网站可以在老张的个人网站 WP老张 向老张免费索取,自己去买要300多人民币呢。
先说好哈,等你要安装主题的时候再问老张要。只有500个授权,目前已经用了50多个了,来晚了不一定有。
1、注册一个域名
如果网站是房子那么域名就是到你房子的路或者房子的门牌号,通过域名可以访问网站。
我们可以通过云厂商的来注册域名,例如国内的 腾讯云、 阿里云、 百度云 等,国外的 Godaddy、 Name 域名注册商来注册域名。
需要注意注意的是在国内厂商注册的域名一般都要实名认证后才能使用,而在国外厂商注册的域名注册后就能使用,如果是.cn后缀的域名那无论在哪里注册都需要实名认证。
以在阿里云注册域名为例,输入自己想要的组合,点击查询域名
如果域名可用,那么我们就可以加入清单并付费,如果不可用那就只有再换别的组合试试
国内注册的域名需要实名认证,这个在域名注册后在域名列表里会有提示,我们根据提示来填写实名认证信息,提交审核通过后域名就能使用了
2、安装WordPress
正常情况下我们使用云主机安装WordPress需要做以下步骤:
- 购买云主机
- 购买域名、实名认证(1-2个工作日通过)、解析域名
- 云主机安装管理面板
- 云主机安装Nginx、MySQL、PHP、FTP等
- 在云主机管理面板创建网站和数据库
- 下载WordPress并上传到云主机
- 访问域名填写数据库信息,管理员信息等安装WordPress
看看吧,光是上面这些步骤就够写好多个教程了,这都2021年了,老张可忍不了这些。
老张告诉你一个不用买主机、配置主机、配置数据库... 等上面落七八糟步骤就能创建一个可访问的WordPress网站的方法。
当然如果你想自己操作完全可以购买云主机去安装,阿里云,腾讯云,华为云都可以。
WPBox是基于腾讯云和Docker容器的WordPress网站托管平台,不需要自己手动安装WordPress,即买即用非常方便。
进入WPBox网站
选择合适的套餐,点击立即安装,购买成功后可以在WPBox用户中心 - 服务 - 网站服务下看到你的应用,点击更多下的打开网站后台,可以进入WordPress安装页面
补全管理员信息即可完成安装,十分方便。
登录后台查看
到这里,你的WordPress网站就已经安装成功了。
是不是不过瘾,还想干点什么?老张很贴心的给你准备了一个免费课程,老张可以肯定这是全网最完整的WordPress入门教程。
另外老张还写了一个用WordPress搭建B2B外贸网站的教程,学完这个教程你可以去帮别人建站,接单赚钱了,课程依旧免费。