使用Nginx和Hexo框架搭建博客流程
该博文主要讲述了使用 Nginx 和 Hexo 框架搭建博客的过程。
一. 配置腾讯云服务器
1.购买云服务器
登录腾讯云官网,购买适当配置的云服务器,买2核2G就够用,系统选择Ubuntu 18.04
2.建立本地与云服务器的连接
先重置密码,用户名默认ubuntu就行。这里可以用密码登录。
ssh ubuntu@<ip>
然后输入密码就能登录。
但每次输密码很麻烦,换个方式,通过ssh密钥登录。
首先看本地是否已生成密钥(不是在云服务器环境中查看)
ll ~/.ssh
若已有密钥,会显示
-rw------- 1 soul soul 1679 Mar 19 23:56 id_rsa
-rw-r--r-- 1 soul soul 406 Mar 19 23:56 id_rsa.pub
若没有密钥,则需要生成密钥,运行以下代码:
ssh-keygen -t rsa
这里一路回车就会生成密钥。
接下来把公钥复制到服务器
ssh-copy-id -i ~/is_ras.pub ubuntu@<ip>
这时再用
ssh ubuntu@<ip>
就可以直接登录,直接跳过了输入密码的过程
这里还可以进一步简化登录流程,先在本地环境进入用户目录
cd ~
用vim打开.bashrc文件
vim .bashrc
找到alias的部分,添加一条
alias <别名>='ssh ubuntu@<ip>'
保存并退出,后面就可以直接在bash下敲<别名>直接与服务器建立连接
二. 在服务器上安装环境
首先安装nginx(用于为服务器上的HTTP提供服务),登录服务器,运行
sudo apt install nginx
这时在浏览器地址栏输入服务器的ip地址,就能看到nginx的默认页面
hexo,nodejs,npm,nvm的关系
hexo框架是用js写的,nodejs(也叫node)是js的运行时(runtime),可以理解成js的运行环境,npm是node的包管理器,nvm是npm的版本控制器,所以安装顺序为nvm,node(自带npm,不用单独安装),hexo
安装nvm
https://github.com/nvm-sh/nvm
其中nvm说明文档中的指令如下:
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.1/install.sh | bash
但是下载过程很慢,所以讲下载链接复制,在浏览器中打开,将其内容全部复制,使用vim复制到路径为:
/tmp/install.sh
这个tmp文件夹为Linux的临时文件夹,系统会随时将其清除。然后运行脚本:
bash install.sh
这时nvm下载完毕。
安装node
nvm install 16.3
安装hexo
https://hexo.io/zh-cn/index.html
在根目录下创建一个sites文件夹
cd ~
mkdir sites
在sites目录下让hexo在指定文件夹创建网站所需的文件
#我用了Tanblog这个文件夹名
hexo init <folder>
最重要的一个步骤来了,配置nginx
在服务器环境中进入nginx文件夹
cd /etc/nginx
先修改sites-available中的default文件
#这里的路径是通过hexo建站得到的文件夹路径
root /home/ubuntu/sites/myblog/public;
server_name <ip>;
后续每建立一个网站就新增一条信息并将sites-available软连接到sites-enabled
例如新增了一条newsite1
ln -s newsite1 sites-enabled
default默认被软连接到sites-enabled,所以不用再手动连接
sites-enabled文件默认被包含在配置文件nginx.conf,所以可以作为配置文件正常生效。不直接修改nginx.conf是为了不污染nginx的环境。