在服务器的选择上,起初在阿里云和腾讯云之间纠结。经过对比后:
其次,我在整体操作的过程中,从域名的实名认证到备案花了差不多一个多礼拜。也就是说,这一个礼拜我服务器上的博客网站,外网是无法通过该域名来访问的。这点比较坑。
我在这篇教程中购买的是云翼计划中的服务器,因此服务器选购这里将基于云翼计划来讲(如果您无法使用云翼计划,只是玩玩的话那就买最便宜的服务器,或者更好的)。
这一步比较重要,因为外网需要通过一些特定的端口来实现对服务器的访问,因此需要开放这些端口。
在控制台界面中按下图的顺序,依次点击网络与安全,安全组,配置规则后,将进入到安全规则界面。如下下图
点击添加安全规则进行添加,具体添加内如如图所示:(注:分为入方向和出方向)
putty是用于远程登陆服务器的工具。 安装方式如下:
进入putty官网,选择合适的版本下载,并安装。
用于远程传输文件至服务器的工具
进入winscp官网,按照说明文档下载并安装。
我们需要nginx来搭建我们的服务器,因此直接使用yum命令进行安装。
yum install -y nginx
启动服务器:
启动Nginx && 使Nginx开机自动启动
systemctl start nginx && systemctl enable nginx
结果如下:
在这一步之后,我们使用浏览器来访问服务器的公网IP,就可以看到nginx生成的相应默认网页了。
vim /etc/nginx/nginx.conf
修改第42行左右,将root的目录改为 存放网页文件夹的目录。
此处,我们使用node.js提供的rpm安装方式,对node.js进行安装。 其中的setup_13.x 这里根据自己的需要或新版本填写。(注意centos 6不支持node.js12及更高版本)
curl -sL https://rpm.nodesource.com/setup_13.x | bash -
yum install -y nodejs
安装完成后进行测试:
node -v
v13.7.0
npm -v
v6.13.6
则表示安装成功
Git这里的 配置 及其重要,如果自己不是很明白的请严格按照我说的步骤去做。否则可能会遇到403问题。
在bash中输入命令
yum install git
cd /home
mkdir package
cd package
# 将复制的链接粘贴在wget 后面
wget https://mirrors.edge.kernel.org/pub/software/scm/git/git-2.25.0.tar.gz
# 下载依赖环境包
yum install gcc-c++ perl-ExtUtils-MakeMaker
yum install yum curl-devel expat-devel openssl-devel zlib-devel
'''
有些教程会说安装gettext-devel这是不对的。
因为gettext依赖于git,安装的时候会导致自动安装低版本的git。
'''
#将压缩包解压至/usr/local/目录
tar -xzvf git-2.25.0.tar.gz -C /usr/local/
#进入解压目录,配置安装
cd /usr/local/git-2.25.0/
make configure
./configure --prefix=/usr/local/git/
make profix=/usr/local/git/ #要安装git的目录
make install
# 在执行完install后 /usr/local/目录下会出现上面配置的git文件夹
#配置环境变量
vim /etc/profile
在最后一行添加:
export PATH=$PATH:/usr/local/git/bin
:wq保存并退出,输入如下指令,使修改生效。
source /etc/profile
git --version
如果出现如下图回应则代表安装正确。
# 创建git用户
adduser git
# 设置git用户密码
passwd git
#切换到git用户
su git
# 切换到~目录下,并新建.ssh 文件夹
cd ~ && mkdir .ssh
# 修改.ssh文件夹权限
chmod 700 .ssh
# 生成服务器公钥
ssh-keygen
cp id_rsa.pub authorized_keys
此时 ~/.ssh/目录下就会有三个文件夹,如下图所示:
最后我们修改其权限
chmod 600 ~/.ssh/authorized_keys
chmod 700 ~/.ssh
ssh -v git@服务器公网IP
在进行后续步骤前,有必要先说一下后续步骤中的目录结构:
我们在/home目录下新建了一个website文件夹用于存放:
- git仓库
- 存放静态网页
cd /home
mkdir website && cd website #创建工程目录
mkdir repos && cd repos
git init --bare blog.git #创建名为blog的仓库
1) 修改post-receive
vim /home/website/repos/blog.git/hooks/post-receive
在其中添加:
# work-tree=你存放hexo生成的blog的地址, git-dir=仓库(blog.git)地址
git --work-tree=/home/website/blogs --git-dir=/home/website/repos/blog.git checkout -f
#保存并退出
:wq
2)设置权限
# 赋予该文件可执行权限 ==!!!!非常重要!!!!==
chmod +x /home/website/repos/blog.git/hooks/post-receive、
# 改变blog.git目录的拥有者为Git用户
chown -R git:git blog.git #很重要
#创建一个用于存放hexo生成的网页的目录
mkdir /home/website/blogs
# 链接git仓库
chown -R git:git /home/website/blogs
# 配置权限
chmod -R 755 /home/website/blogs
git clone git@服务器IP:/home/website/repos/blog.git E:\test
检查E:\test目录下是否有一个.git(隐藏)文件夹。如果没有则搭建失败,返回查看少做了哪一步。
在执行make configure时报错:autoconf: command not found.
解决方案: 需要安装libtool:执行命令安装:
yum install install autoconf automake libtool
git init
git config user.name "your name"
git config user.email "your email"
ssh-keygen -R 服务器IP
设置缓存文件夹
npm config set prefix "D:\Develop\nodejs\node_global"
设置全局模块存放路径
npm config set cache "D:\Develop\nodejs\node_cache"
这两步设置成功后,使用npm install XX安装的模块就放在node_global里。
npm config set registry https://registry.npm.taobao.org
# 然后安装cnpm
npm install -g cnpm --registry=https://registry.npm.taobao.org
在cmd(管理员运行模式)中输入:
cnpm install -g hexo-cli
安装完成后使用
hexo -v
进行验证,结果如下:
建立一个存放blog的文件夹,并将cmd的路径改为该文件夹:
例如我放在E:\blog下,则在cmd中输入:
E:
cd blog
这样就进入E:\blog下了
接下来就是利用hexo生成blog文件夹下的内容了:
hexo init
如果出现以下错误,还是由于网速太慢导致的。
解决方法,按照提示输入:cnpm install
hexo s
打开E:\blog目录下的_config.yml文件,对其进行修改,形式如下:
deploy:
type: git
repo: git@服务器IP:/home/website/repos/blog.git
branchL master
npm install hexo-deployer-git --save
hexo clean
hexo g
hexo d
登录服务器在bash中重启nginx服务
service nginx restart
至此,网页就可以在浏览器上正常访问了。
在浏览器中输入公网IP,刷新就可以看到刚才上传的博客了。
从此一下为不成内容
hexo n "first blog"
可以看到在\source\_posts\下生成了我们新建的blog
这个.md文件可以直接用VScode编辑
hexo clean 清理
hexo g 生成
hexo s 启动,在进入localhost:4000 预览就能看到页面已经更新了。
hexo d 推送至服务器
下载主题到指定的themes/yilia文件夹
git clone https://github.com/litten/hexo-theme-yilia.git themes/yilia
下载完成后,需要在_config.yml中对主题进行配置
使用VS code或者记事本打开 _config.yml,修改theme项,改为下载的主题名字。
hexo clean
hexo g
hexo s
hexo d
在本地电脑下载jdk.
下载好jdk后,试用winscp上穿都/home/packages/下
tar -zxvf jdk-8u241-linux-x64.tar.gz -C /usr/local/
配置环境变量
vim /etc/profile
在最后添加:
export JAVA_HOME=/usr/local/jdk1.8.0_241
export JRE_HOME=${JAVA_HOME}/jre
export CLASSPATH=.:$JAVA_HOME/lib:$JRE_HOME/lib:$CLASSPATH
export PATH=$JAVA_HOME/bin:$JRE_HOME/bin:$JAVA_HOME:$PATH
完成后
source /etc/profile