当前位置:首页 > CN2资讯 > 正文内容

一文带你学会如何部署个人博客到云服务器,并进行域名备案与解析!

3天前CN2资讯

哈喽,大家好呀!这里是码农后端。之前我给大家介绍了如何快速注册一个自己的域名,并创建一台自己的阿里云ECS云服务器。本篇将介绍如何将个人博客部署到云服务器,并进行域名备案与解析。

1、域名备案

注册了域名并购买了云服务器之后,就可以申请备案了。

备案地址:https://beian.aliyun.com/

根据国家法律规定,如果服务器在中国内地(大陆),必须完成ICP备案才可对外提供服务;如果服务器在中国香港、中国澳门、中国台湾及其他国家和地区,则不需要进行工信部ICP备案,仅需要完成公安联网备案。

当使用阿里云中国大陆境内节点的服务器时,可以直接在阿里云备案管理系统中提交ICP备案申请。

备案流程如下:

ICP备案申请审核通过后,管局(工信部)会给我们一个ICP备案号,我们需要将备案号在网站底部标明。网站在工信部备案成功后,还需要在网站开通之日起30日内登录全国公安机关互联网站安全管理服务平台提交公安联网备案申请。

按照《非经营性互联网信息服务备案管理办法》(原信息产业部令第33号令),互联网信息服务提供者应当在网站开通时,在网站首页底部中间位置放置备案号,并按要求链接至信息产业部备案管理系统网址https://beian.miit.gov.cn,供公众查询核对。

2、配置安全组(重点)

这步针对的是在创建和购买ECS服务器时,安全组设置那里没有勾选开通IPv4的80端口的情况,如果勾选了,这一步可以忽略。

原因:由于要通过80端口访问nginx服务,而阿里云默认是禁止80端口访问权限的,所以我们要为实例手动添加安全组,让阿里云给相应的端口和IP放行。

注:nginx服务的默认端口为80,若不进行手动配置,将无法通过“公网IP+端口”的方式访问我们的ECS服务器。

配置步骤如下:

1)点击阿里云首页右上方头像旁边的控制台,进入概览页面,点击云服务器ECS,进入云服务器ECS的控制台。

2)点击左侧菜单中的“安全组”可查看安全组列表,点击“创建安全组”按钮,创建一个新的安全组。

3) 为新建的安全组添加安全组规则,在入方向解除端口和IP限制,添加好后点击安全组进行查看,如下。

4)最后再为我们的实例添加该安全组即可,至此,安全组配置完成。

3、博客上云

博客上云,即将个人博客部署到阿里云服务器上。

3.1 安装nginx

这里我们直接选择官方提供的远程连接工具,来操作我们的云服务器,完成相关的部署工作。

使用密码认证的方式登录

登录进去后,在终端执行如下步骤命令:

1)安装nginx依赖环境,安装期间如有提示,一律选yes。

yum install gcc-c++ yum install -y pcre pcre-devel yum install -y zlib zlib-devel yum install -y openssl openssl-devel

注意是一行一行执行,直接无脑复制黏贴敲回车就ok了。

2)下载nginx安装包。

wget -c https://nginx.org/download/nginx-1.10.1.tar.gz

3)将安装包解压到/usr/local目录下。

tar -xvf nginx-1.10.1.tar.gz -C /usr/local

4)进入/usr/local目录,确认nginx解压到该目录下。

cd /usr/local ls

5)进入nginx-1.10.1目录,会发现该目录下有一个configure文件,执行该配置文件。

cd nginx-1.10.1/ ls ./configure

6)编译并安装nginx。

make make install

7)查找nginx安装目录。

whereis nginx

nginx: /usr/local/nginx

8)进入安装目录。

cd /usr/local/nginx ls

9)进入/usr/local/nginx/sbin目录,启动nginx。

cd sbin ./nginx

没有任何报错消息就说明启动成功。通过“公网IP+端口”的方式进行访问,成功访问到如下的nginx欢迎页面。

注:可以使用./nginx -s stop命令停止服务

3.2 配置nginx服务器路由

1)首先为hexo创建一个部署目录 /home/www/hexo。

mkdir -p /home/www/hexo

2)进入/usr/local/nginx/conf目录,打开该文件夹下的nginx.conf配置文件。

cd /usr/local/nginx/conf ls vim nginx.conf

进入后按 i键由命令模式切换到编辑模式,使用上下光标移动定位。将其中的部署根目录(root)修改为 /home/www/hexo;将域名(server_name)修改为 zhengyquan.cn,并查看监听端口(listen)的系统默认值是否为80(不用修改)。

如果暂时没有域名,就先填阿里云实例的公网ip,后面有域名再改回来;

上述修改完成后,按Esc由编辑模式切换到命令模式,再输入:wq命令保存并退出编辑器。

3.3 安装node.js

1)返回家目录,安装node.js。

cd ~ curl -sL https://rpm.nodesource.com/setup_10.x | bash - yum install -y nodejs

2)查看安装结果,打印版本号即为安装成功。

node -v npm -v

3.4 安装Git

1)使用yum命令安装Git,安装过程中如出现提示一律选yes。

yum install git

2)安装成功后,查看版本号。

git --version

3.5 创建git用户

为了实现博客的自动部署,我们后面要使用公钥免密登录服务器。为了安全起见,最好不要使用root用户免密登录。因此,我们要创建一个新的git用户,用于远程公钥免密登录服务器。

1)创建git用户。

adduser git

2)修改git用户的权限。

chmod 740 /etc/sudoers

3)打开文件。

vim /etc/sudoers

进入后按 i键由命令模式切换到编辑模式。找到 root ALL=(ALL) ALL,在下面添加一行 git ALL=(ALL) ALL。修改完成后,先按Esc,由编辑模式切换到命令模式,再输入:wq命令保存并退出编辑器。

4)保存退出后改回权限。

chmod 400 /etc/sudoers

5)设置git用户的密码。

sudo passwd git

设置密码,需要输两次,第二次是确认;为了安全,密码输入过程中不会显示。设置好后就可以使用git用户远程登录阿里云服务器了。

3.6 配置ssh免密公钥登录

使用git用户免密公钥登录阿里云服务器的原理:

在本地计算机生成一个公钥文件和一个秘钥文件(类似于一个钥匙配一把锁),然后使用FTP工具将公钥文件上传到阿里云服务器,并公钥安装到authorized_keys列表中去(即:将公钥文件的内容拷贝到authorized_keys文件中去)。这样本地计算机便可以通过ssh方式免密连接我们的阿里云服务器了。

具体操作步骤如下:

1)在服务器端将当前登录用户切换到git用户,然后在~目录(根目录)下创建.ssh文件夹,用来存放公钥。

#su git $ cd ~ $ mkdir .ssh

注:# 表示 root 用户(超级管理员),$ 表示非 root 用户。

2)在本地计算机桌面右键打开GitBash,在本地生成公钥/私钥对。出现提示就按回车键,完成后会在C:\Users\ASUS\.ssh创建两个文件,分别为:id_rsa(私钥)和id_rsa.pub(公钥)。

$ cd ~ $ cd .ssh $ ssh-keygen

3)在本地计算机上给私钥设置权限。

$ chmod 700 ~/.ssh $ chmod 600 ~/.ssh/id_rsa

4)下载并安装FTP工具,可以用的是阿里云官方提供的FileZilla。安装过程非常简单,直接无脑安装即可。官方文档:https://help.aliyun.com/zh/cloud-web-hosting/user-guide/use-filezilla-management-files

FileZilla是一款方便高效的FTP客户端工具。通过FileZilla连接云虚拟主机后,可以对云虚拟主机上的网站文件进行上传、下载、新建和删除等操作。

5)打开FileZilla,使用git用户通过22端口远程连接到阿里云服务器,将客服端生成的公钥上传到服务器的~/.ssh目录下,如下图

6)上传完成后返回服务器端,继续以git用户的身份进入服务器~/.ssh目录,新建一个authorized_keys文件,并将id_rsa.pub文件中公钥的内容拷贝到该文件中。使用命令行操作命令如下

注:该步骤既可以用命令行操作,也可使用FTP工具操作。

$ cd ~/.ssh $ cp id_rsa.pub authorized_keys $ cat id_rsa.pub >> ~/.ssh/authorized_keys

7)在服务器上设置文件权限:

$ chmod 600 ~/.ssh/authorized_keys $ chmod 700 ~/.ssh

现在,当使用ssh远程登录服务器时,将不会提示您输入密码(除非您在创建密钥对时输入了密码)。

8)在本地计算机上使用ssh方式连接我们的云服务器。

$ ssh -v [email protected](阿里云公网IP)

$ ssh [email protected](阿里云公网IP)

连接成功如下

3.7 配置Git仓库

1)在服务器上使用git用户创建一个Git仓库,并在该仓库中新建一个post-receive钩子文件。

$ cd ~ $ git init --bare hexo.git $ vi ~/hexo.git/hooks/post-receive

2)进入后按 i键由命令模式切换到编辑模式。输入:

git --work-tree=/home/www/hexo --git-dir=/home/git/hexo.git checkout -f

目的:让钩子文件删除/home/www/hexo目录下原有的文件,然后从blog.git仓库 clone 新的博客静态文件到/home/www/hexo目录下。

设置好后,先按Esc由编辑模式切换到命令模式,再输入:wq命令保存并退出编辑器。

3)授予钩子文件可执行权限。

$ chmod +x ~/hexo.git/hooks/post-receive $ cd ~ $ sudo chmod -R 777 /home/www/hexo

4)前往阿里云云服务器ECS控制台,重启ECS服务器实例,至此完成了所有关于服务器端的配置。

4、其他配置

4.1 客服端hexo配置

1)在个人本地的博客目录下,找到_config.yml配置文件,对deploy参数进行修改,如下图。

2) 在本地计算机配置Git全局变量。输入以下命令:

$ git config --global user.email "[email protected]" $ git config --global user.name "zhengyquan"

3)使用git将上述修改推送到我们的云服务器上,一键三连,命令如下

hexo clean hexo hexo generate hexo deploy

如下即代表推送成功。

之后,便可以使用公网IP+端口访问博客主页了,如下图。

4.2 域名绑定

等备案通过后,将域名与ECS服务器实例的公网IP进行绑定。进入阿里云控制台首页,在资源概览页面点击域名,进入域名控制台,点击左侧域名列表,选择域名进行解析,配置域名解析如下。

注:如果使用www不行,就试试@。我自己就是使用www前缀解析后访问域名出现问题,后面改为@就OK了。

域名解析后,需要耐心等待一段时间。

域名解析后并不会立即生效,需要一定的解析时间,一般来说生效时间为24小时。具体还要看各地区的服务器运营时间和工作效率,一般都在6-24小时以内。可以通过ping域名来检测域名是否已经生效。如果域名超过24小时还未生效,就说明解析出问题了。

好了,以上就是今天这篇文章的全部内容了。如果你想及时看到我的文章,只需做这几个动作:点星标、点在看(包括赞)、评论、分享,我就会经常出现在您的常读列表,后面更新都会提醒。感谢大家的关注和支持,祝大家生活美满,学业有成,事业蒸蒸日上!

往期精彩文章推荐(点击下方蓝字即可阅读!)

往期推荐

小满小满,幸福满满!

参营有奖|30分钟快速上手ES Serverless!鹅厂大牛带你玩转日志分析

SQL Server数据库常见的迁移方式有哪些?2分钟带你快速了解!

SQL Prompt:高效开发的SQL Server数据库必备插件!


    你可能想看:

    扫描二维码推送至手机访问。

    版权声明:本文由皇冠云发布,如需转载请注明出处。

    本文链接:https://www.idchg.com/info/19297.html

    分享给朋友:

    “一文带你学会如何部署个人博客到云服务器,并进行域名备案与解析!” 的相关文章

    美国服务器CN2线路速度解析:如何选择稳定高速的网络体验?

    随着互联网的快速发展,越来越多的企业和个人站长选择在美国部署服务器,以满足全球用户的需求。服务器的速度和稳定性始终是用户最关心的问题。尤其是在选择美国服务器时,CN2线路因其低延迟、高稳定性的特点,成为了许多用户的首选。美国服务器CN2线路的速度到底多少才算正常?本文将为您详细解析。一、什么是美国服...

    RackNerd虚拟主机服务评测:高性价比的选择与多样化方案

    RackNerd是一家相对年轻但极具潜力的虚拟主机商,自2017年成立以来,一直致力于为客户提供高性价比的服务。作为我在寻找虚拟主机时发现的一家重要供应商,他们的服务范围非常广泛,包括虚拟主机、VPS主机、独立服务器以及服务器托管等,我着实被他们多样的产品所吸引。 RackNerd不仅限于某个特定地...

    香港节点:全球数据传输的关键连接点

    在讨论香港节点时,最直接的概念就是它们作为互联网的关键连接点。这些节点不仅仅是简单的数据传输站,更是互联网生态系统中不可或缺的一部分。香港节点能够发送、接收或转发信息,确保数据流在全球范围内的高效流动。想象一下,在这个信息高度互联的时代,没有这些节点,我们是多么难以获取实时信息和全球数据。 香港节点...

    UCloud优:云计算服务平台的领先者与优势分析

    UCloud优的基本介绍 谈到UCloud,首先让我想起它成立的背景以及它是如何从一颗种子成长为今天的云计算巨头。UCloud,或者说优刻得科技股份有限公司,于当时顺应了数字化转型的浪潮。这是一个中立、安全的云计算服务平台,专注于为各行各业提供云服务。它的创立背景与各种市场需求紧密相连,尤其是企业对...

    水牛VPS:高性能虚拟专用服务器的最佳选择与比较

    水牛城VPS,顾名思义,是在美国纽约州布法罗市托管的虚拟专用服务器。这种服务器因其独特的地理位置和优越的技术配置,吸引了众多用户,特别是需要高性能和灵活性的网站和应用程序。这类服务的定义非常简单,但其特点却非常丰富。通常来说,水牛城VPS提供了良好的网络带宽、灵活的存储选项,以及能够根据用户需求进行...

    DirectAdmin安装全攻略:快速安装与配置指南

    DirectAdmin是一款由国外开发的虚拟主机管理系统。我第一次接触它时,就被其强大的功能和用户友好的界面所吸引。它不仅可以管理服务器,还能帮助我轻松设置EMAIL、DNS、FTP等。这种集中管理的方式大大提高了我的工作效率,尤其是对那些需要频繁处理服务器配置的用户来说,DirectAdmin无疑...