前言一直想搭建自己的个人博客,现在终于有时间了,所以想写下自己的过程。整理一下过程,希望能给有相同想法的朋友一些帮助。阿里云服务器购买步骤关于云服务器操作配置安全组规则Nginx代理设置安装Git并在本地登录安装Node.大家都提供云服务器,但是阿里云的学生优惠还是很不错的,所以我就用阿里云作为自己的服务器,所以直接登录阿里云,完成学生认证,就买了。关于域名,可以按照阿里云域名的流程进行操作,因为没有可以IP直接访问的域名,所以这里不再赘述域名的操作。2、关于云服务器的操作和配置,安全组规则http协议要求访问80端口,阿里云默认不授权80端口访问,需要手动配置。打开阿里云服务器管理控制台->点击左侧安全组->点击右侧配置规则->点击添加安全组规则。如果不设置如图所示的设置,将无法正常访问,所以非常重要。Nginx代理设置使用yum命令直接安装Nginx,yum是CentOS中的Shell前端包管理器。基于RPM包管理,自动从指定服务器下载安装RPM包,自动处理依赖关系,一次性安装所有依赖的软件包,无需繁琐的反复下载安装。安装命令如下:添加CentOS7Nginx的yum软件库sudorpm-Uvhhttp://nginx.org/packages/centos/7/noarch/RPMS/nginx-release-centos-7-0.el7.ngx.noarch.rpm然后安装sudoyuminstallnginxNginx不会自动启动,所以输入:sudosystemctlstartnginx.service启动Nginx服务用浏览器访问你的ip地址或者域名看是否安装成功http://server_domain_name_or_IP/您将看到默认的CentOS7Nginx网页,该网页可用于信息和测试目的。它应该看起来像这样:如果您看到此页面,则您的Web服务器现已正确安装。如果弹出的页面不是这个,则证明失败。解决办法是更换yum源或者检查80端口是否可以访问。配置代理后,我们需要设置代理指向我们的博客首页,而不是默认页面。我们可以新建一个配置,通过include将其包含在nginx.conf中。这个文件的位置在etc/nginx/下。操作如下:在/etc/nginx目录下创建一个名为vhostcd的文件夹/etc/nginx/mkdirvhostcdvhostvimblog.conf编辑blog.conf文件内容server{listen80;根/home/www/网站;server\_name120.27.239.xxx//这个位置写填服务器的域名或者公网ip;location/{}}保存退出:wq打开/etc/nginx/目录下的nginx.conf文件vim/etc/nginx/nginx.conf在我们刚才写的blog.conf配置文件中,对应的路径rootpath创建博客目录:cd/homemkdirwwwcd/wwwmkdirwebsite这样我们就可以得到/home/www/website作为博客的根路径,对应配置文件中的路径。在本地安装Git并登录的目的是让我们可以在本地使用ssh连接到云服务器,然后使用命令行将博客推送到服务器。操作如下:安装git:yuminstallgitconfiguregituseraddusergit修改用户权限:chmod740/etc/sudoersvi/etc/sudoers找到这个位置,加入下面这句gitALL=(ALL)ALL保存退出并setsudoersfilepermissions改回原来的chmod400/etc/sudoers设置git用户密码sudopasswdgit然后重启服务器,重启后切换到git用户,然后在~目录下创建.ssh文件夹即可生成密钥。sugitcd~mkdir.sshcd.ssh生成公钥文件ssh-keygen,此时目录下会有两个文件,分别是id_rsa和id_rsa.pub,其中id_rsa.pub为公钥文件。我们复制一份cpid_rsa.pubauthorized_keys这个目录下会有一个authorized_keys文件,和id_rsa.pub一模一样。最后我们修改它的权限chmod600~/.ssh/authorized\_keyschmod700~/.ssh然后我们在本地(自己电脑)打开cmd,使用ssh连接服务器。出现以下字样表示登录成功。此时阿里云会提醒您登录异常。最好在异常事件处理中加上这个分类,这样以后就不会出现异常提醒了。如果ssh登录有问题,可以参考这篇文章。ssh登录时经常出现的几个错误及解决方法登录成功后,初始化一个git仓库,新建一个post-receive文件。操作如下:cd~gitinit--bareblog.gitvim~/blog.git/hooks/post-receive输入以下内容:#!/bin/bashgit--work-tree=/home/www/website--git-dir=/home/git/blog.gitcheckout-fsaveandexit并赋予文件可执行权限chmod+x~/blog.git/hooks/post-receive到此我们就完成了服务端的所有配置.3、关于本地主机的操作和安装Node.js下载地址:Node.js的安装过程基本直接,下一步就可以了。安装完成后,使用cmd查看是否安装成功。node版本号-vv10.16.2npm-v6.9.0表示安装成功。2.安装Hexo,把npm换成淘宝源,然后安装cnpmnpmconfigsetregistryhttps://registry.npm.taobao.orgnpminstall-gcnpm--registry=https://registry.npm.taobao.orginstallHexocnpminstall-ghexo-cli在本地选择一个目录初始化博客,例如在F:盘下创建一个Blog文件夹,hexoinit在该文件夹目录下完成hexo的初始化,安装两个插件npm初始化完成后安装hexo-deployer-git--savenpminstallhexo-server然后就可以在本机上查看hexo创建的模板博客了。hexo博客生成三部曲hexoclean//清除hexo缓存hexog//全拼hexo生成,生成hexo博客hexos//全拼hexoserver,本地访问hexo博客hexod//全拼hexodeploy,部署hexo到server3个用于本地测试,4个用于部署,只执行一个。配置hexo在刚才生成hexo的目录下,找到_config.yml并打开。找到deploy配置deploy如下:type:gitrepo:git@120.27.239.xxx(改成自己的公网ip):/home/git/blog.gitbranch:mastermessage:注意格式,type等这个设置设置冒号前两个空格,冒号后一个空格,保存退出。使用hexonew"hello,world"新建一个Markdown格式的博客,然后使用相关的编辑器编写,并部署。最后在服务器上重新运行nginx服务器nginx-sreload4.完成部署输入自己的公网ip或域名,查看博客部署是否成功。如果成功,打开服务器/home/www/website目录,文件结构应该是这样的吧。然后你可以根据自己的需要选择不同的hexo主题来生成属于自己的个性化博客。5.结语本博客的搭建主要参考了CodeSheep的搭建博客视频和这位大博主从头搭建Hexo博客并部署阿里云服务器(保姆??级教学)。一趟下来,发现很多操作都是linux的基本操作,所以在平时的学习过程中,还是要注意基础,多学习别人的经验,然后自己动手。更好的。俗话说:什么叫完美!
