首页 > 其他分享 >阿里云ECS搭建hexo记录(带踩坑)

阿里云ECS搭建hexo记录(带踩坑)

时间:2024-08-26 10:54:09浏览次数:9  
标签:git hexo etc server blog nginx ECS conf 搭建

前言

之前因为coding的便捷,把个人博客部署在coding page上,最近收到来自coding官方的短信,表示coding静态网站已经升级了,旧版即将在5月30日下线。新版的coding与腾讯云合并,部署page需要收费,想着反正也是要花钱,不如多花点心思和时间上手一个云服务器,选择自己部署网站,于是选择了阿里云。

搭建过程

首先,我们需要在阿里云购买服务器,这里的话,我选择的是阿里云的ECS共享性 n4,1核2G。性能无约束,对于我们这种简单的个人博客。完全足够,关键一年的费用也不算太贵,省下几顿饭的钱,选择用云服务器搭建个人网站,成功的那一刻也是很有成就感的。
话不多说,我讲一下我搭建的过程,我采用的是阿里云Centos下nginx+hexo方式搭建。
关于如何去配置云服务器,网上有相应的教程给到大家,找到最新的几篇文章,大家可以参照着去研究一下。
在使用之前,不要忘了先去阿里云控制台把你服务器的80端口打开,不懂可以百度,下面最基本的几个过程我讲一下:

一、建立博客安放的目录

举个例子,你打算把博客放到/home/www/blog

cd /home
mkdir www
mkdir /blog

二、安装nginx

输入yum install -y nginx
然后依次输入:

systemctl start nginx
systemctl enable nginx

之后你就可以用你的公网ip查看默认的网页了,阿里云的nginx默认页面可能是centos,这个没有关系,因为只要你能看见nginx默认页面或者阿里云centos欢迎页面基本上就表示的nginx安装成功,可以访问服务器内的网站了。

三、配置

到这一步,我发现网上有一些教程可能不是很可靠,会导致最后服务器访问不到你的hexo网页,只能访问nginx默认欢迎页,这个是一个大大的坑,说不定你就会踩到它,这个在后半部分我会介绍我的解决办法,先看大多数网友的操作:

(一)nginx默认网址重定向

①先在/etc/nginx/目录下创建一个文件夹 叫 vhost

cd /etc/nginx 
mkdir vhost 
cd vhost 
vim blog.conf 

②编辑 blog.conf配置文件,在里面增加下面的内容:

server{ 
​	listen    80; 
​	root  /home/www/blog; #这里填博客目录存放的地址 
​	server_name  xxx.xxx.xxx.xxx;#这里填域名,暂时没有域名就填阿里云的公网ip
	location /{ 
​	} 
} 

保存退出,按esc键,然后输入:wq
③打开/etc/nginx/目录下的nginx.conf文件
vim /etc/nginx/nginx.conf, 增加一行代码

# Load modular configuration files from the /etc/nginx/conf.d directory. 
# See http://nginx.org/en/docs/ngx_core_module.html#include 
# for more information. 
include /etc/nginx/conf.d/*.conf; 
include /etc/nginx/vhost/*.conf; # 增加这一行代码
server { 
​	listen     80 default_server; 
​	listen     [::]:80 default_server; 
​	server_name  _; 
​  	root       /usr/share/nginx/html
​​ 	# Load configuration files for the default server block. 
	include /etc/nginx/default.d/*.conf;
    	location / {
    	}

    	error_page 404 /404.html;
    	location = /404.html {
    	}

    	error_page 500 502 503 504 /50x.html;
    	location = /50x.html {
    	}
  }

保存,并退出

(二)安装node.js以及git

安装node.js

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

安装完成后执行node -vnpm -v如果打印版本号则安装成功
安装git:
yum install git
配置git用户:adduser git
修改用户权限:chmod 740 /etc/sudoers
对sudoers文件作出修改:vim /etc/sudoers
然后增加一行git ALL=(ALL) ALL

## Allow root to run any    commands anywhere
     root    ALL=(ALL)       ALL
     git     ALL=(ALL)       ALL   #增加这一行
## Allows members of the 'sys' group to run networking, software,
## service management apps and more.

保存并退出
设置git用户的密码: sudo passwd git
本地建立SSH信任关系
目前每次对git仓库进行操作都需要输入密码,不太方便。但是我们已经配置了SSH,就可以通过建立SSH信任关系来免去输入密码的步骤(没有配置ssh的话先在本地电脑里输入ssh-keygen -t rsa ,生成公钥文件):
切换到git用户,然后在~目录下创建.ssh文件夹

su git
cd ~
mkdir .ssh
cd .ssh
touch authorized_key

修改它的权限

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

回到电脑桌面,打开git bash,输入以下代码:

ssh-copy-id -i ~/.ssh/id_rsa.pub git@server_ip # 建立信任关系
ssh git@server_ip # 试一下能不能登录

如果不能登录或者还是要输入密码,就说明前面的操作有误,再检查一下吧。

现在我们要创建一个git的仓库,并且新建一个post-receive文件,操作如下:

cd ~
git init --bare blog.git
vim ~/blog.git/hooks/post-receive

对post-receive文件添加如下内容:
git --work-tree=/home/www/blog --git-dir=/home/git/blog.git checkout -f
保存并退出,授予该文件可执行权限
chmod +x ~/blog.git/hooks/post-receive
至此我们就完成了所有关于服务器端的配置。

四、上传博客文件,完成部署

hexo博客搭建步骤这省略了,可以到网上参照教程去搭建。
在hexo主目录下(注意:不是主题目录),找到并打开_config.yml:
找到deploy做出如下修改:

deploy:
  type: git
  repo: 
  	github: https://github.com/yourname/yourname.github.io.git
  	aliyun: git@这里改为服务器公网IP:/home/git/blog.git       
  branch: master

保存并退出
在主目录下,打开git bash,输入:

hexo clean
hexo d -g

到此结束

开始踩坑

部署到这一步,按理讲应该可以访问我们的博客了,最后发现,还是只能访问nginx的欢迎页,我的解决办法是回到配置的第3步:
root /usr/share/nginx/html #改成你博客的地址

 server { 
​	listen     80 default_server; 
​	listen     [::]:80 default_server; 
​	server_name  _; 
​  	root       /home/www/blog;  #改成你博客的地址
​ 	# Load configuration files for the default server block. 
	include /etc/nginx/default.d/*.conf;
    	location / {
    	}

    	error_page 404 /404.html;
    	location = /404.html {
    	}

    	error_page 500 502 503 504 /50x.html;
    	location = /50x.html {
    	}
  }

如果配置好后网页打开提示403,这是权限不够的问题,如果你的博客放在/home/www/blog那么你就要 在/home目录下 使用chmod -R 777 ./www
检查配置文件/etc/nginx/nginx.conf,将第五行的user,做修改:

# For more information on configuration, see:
#   * Official English Documentation: http://nginx.org/en/docs/
#   * Official Russian Documentation: http://nginx.org/ru/docs/
#nginx
user root;#把“user nginx”改为“user root”
worker_processes auto;
error_log /var/log/nginx/error.log;
pid /run/nginx.pid;

# Load dynamic modules. See /usr/share/doc/nginx/README.dynamic.
include /usr/share/nginx/modules/*.conf;

然后重启nginx:systemctl restart nginx,再次刷新网页,问题解决。
如果可以访问了,恭喜你成功了!

标签:git,hexo,etc,server,blog,nginx,ECS,conf,搭建
From: https://www.cnblogs.com/jasonspace/p/18380578

相关文章

  • mPLUG-Owl3环境搭建&推理测试
    ​引子多模态的大模型也写了很多篇,阿里系的之前有一篇Qwen-VL的相关部署,感兴趣的童鞋请移步(Qwen-VL环境搭建&推理测试-CSDN博客)。今天这个mPLUG-Qwl3,更新换代也很快,这都第三代,据说,这个专门用来理解多图、长视频,OK,让我们开始吧。一、模型介绍论文作者来自阿里mPLUG团队,他们一直......
  • 第8篇 vue开发环境搭建
    window系统上部署vue的开发环境1.安装nodejs1.1下载并安装node.js在浏览器中打开nodejs官网https://nodejs.org/zh-cn/,选择需要的版本直接点击即可下载,可以选择长期支持的版本【自由选择】然后就是一系列的“下一步”2.检查nodejs是否安装成功打开cmd,输入命令n......
  • Qt+OpenCascade开发笔记(二):Qt引入occ库,搭建工程模板发布Demo
    前言  OpenCASCADE是由OpenCascadeSAS公司开发和支持的开源软件开发平台,旨在为特定领域快速开发程序而设计。它是一个面向对象的C++类库,提供了丰富的几何造型、数据交换和可视化等功能,成为许多CAD软件的核心组件。  本篇描述搭建Qt开发occ环境过程。Demo  注意......
  • 2024年云南省职业院校技能大赛中职组“网络搭建与应用”赛项竞赛样卷
    2024年云南省职业院校技能大赛中职组“网络搭建与应用”赛项竞赛样卷文章目录2024年云南省职业院校技能大赛中职组“网络搭建与应用”赛项竞赛样卷第一部分:网络理论测试(100分)第二部分:网络建设与调试(400分)第三部分:服务搭建与运维(500分)竞赛说明一、竞赛内容分布......
  • ZBlog搭建的网站有的时候会提示【JavaScript加载失败】
    经常会有朋友反映,自己通过ZBlog搭建的网站偶尔会出现【JavaScript加载失败】这样的提示。那么,当遭遇此种状况时究竟应当如何应对呢?首先,您需要仔细检查自己所使用的浏览器版本是否太过陈旧(例如像IE6/7/8之类的旧版本),或者是否因为所使用的插件出现错误从而损坏了系统的JS文......
  • YOLOv8超详细环境搭建以及模型训练(GPU版本)
    目录1.安装CUDA和cuDNN1.1安装CUDA1.1.1查看当前你的电脑显卡支持的最高CUDA版本,后面的安装不能超过它1.1.2下载CUDA(官网或者百度网盘)1.1.3安装CUDA11.81.2配置cuDNN1.2.1下载cuDNN(官网或者百度网盘)1.2.2配置cuDNN2.安装Anaconda2.1下载Anaconda2.2安装Anacon......
  • 2024玩儿转TikTok之环境介绍及独立使用住宅ip搭建,最便宜的网络,20元/月,刚刚更新最新教
    郑重申明:本文章只对合法合理做tiktok视频运营的用户做学习交流使用,有其他使用不当的违规违法行为后果自负!网络的环境测试,必须是独立住宅ip,网络环境优良,tiktok发布作品才能有流量1、选择服务器我选择的服务器:https://ipraft.com/?i71b7cf​​​然后下载FinalShell连接......
  • 使用Cloudflare Worker搭建自己的AI绘画工具
    demo:https://aidraw.foxhank.top0.前言Cloudflare公司推出了workers-ai,可以免费在Cloudflare的全球网络上运行由无服务器GPU提供支持的机器学习模型。WorkersAI可以Cloudflare网络上使用自己的代码运行机器学习模型,也就是说,只要写一个js代码,就可以免费调用cloudfl......
  • 向量数据库Faiss的搭建与使用
    Faiss(FacebookAISimilaritySearch)是一个高效的向量相似性搜索库,专为高维向量数据的搜索和聚类设计。以下是如何搭建和使用Faiss的详细步骤。1.环境准备安装依赖首先,确保你的开发环境满足Faiss的要求。Faiss支持Python,假设你要使用Python版本。安装Anaconda或Miniconda(......
  • 怎么实现用frp搭建一个自己的内网穿透服务
    使用frp搭建一个自己的内网穿透服务包括以下几个步骤:配置frp服务器(服务端)和frp客户端。Frp是什么:frp(FastReverseProxy)是一款高性能的反向代理应用,广泛用于内网穿透、跨网络访问等场景。以下是frp的一些常见应用场景:1.内网服务的外网访问frp可以将内网中的Web......