如何搭建博客【3】

3.3k 词

这段时间在网上看了不少教程,但是发现问题还是很大,所以决定来综合一下。

所以下面讲的有很多是参照别的博主的帖子,只用来交流学习。

首先我们来搭建nginx

第一步当然是安装啦

1
yum install -y nginx

然后等进度完成后就是启动

1
2
启动Nginx && 使Nginx开机自动启动 
systemctl start nginx && systemctl enable nginx

配置nginx

1
vim /etc/nginx/nginx.conf

修改第42行左右,将root的目录改为 存放网页文件夹的目录。

这个地方你博客的文件目录在哪就填哪里,因人而异啦

我用的就是安装在/home/website/blogs里面

然后就是服务器上的node.js 安装,是不是很熟悉呢,对的我们在用户机上安装过的呢。

此处,我们使用node.js提供的rpm安装方式,对node.js进行安装。 其中的setup_13.x 这里根据自己的需要或新版本填写。(注意centos 6不支持node.js12及更高版本)

1
2
3
4
5
6
7
8
9
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

我们可以先新建一个目录用来放安装包

1
2
3
cd /home
mkdir package
cd package

下面的操作如下:

将复制的链接粘贴在wget 后面

wget https://mirrors.edge.kernel.org/pub/software/scm/git/git-2.25.0.tar.gz

1
# 下载依赖环境包

yum install gcc-c++ perl-ExtUtils-MakeMaker
yum install yum curl-devel expat-devel openssl-devel zlib-devel

‘’’
有些教程会说安装gettext-devel这是不对的。
因为gettext依赖于git,安装的时候会导致自动安装低版本的git。
‘’’

1
#将压缩包解压至/usr/local/目录

tar -xzvf git-2.25.0.tar.gz -C /usr/local/

1
#进入解压目录,配置安装

cd /usr/local/git-2.25.0/
make configure
./configure –prefix=/usr/local/git/
make profix=/usr/local/git/ #要安装git的目录
make install

1
# 在执行完install后 /usr/local/目录下会出现上面配置的git文件夹

配置环境变量

1
2
3
4
#配置环境变量* vim /etc/profile 
在最后一行添加: export PATH=$PATH:/usr/local/git/bin
:wq保存并退出,
输入如下指令,使修改生效。 source /etc/profile

输入

git –version 其实应该git -v就行吧,就是查看版本号,如果能查询到你所安装的git就可以啦

然后配置git

1
2
 创建git用户 adduser git	
设置git用户密码passwd git

然后修改git的权限

修改 /etc/sudoers 文件: vim /etc/sudoers

在 root ALL=(ALL) ALL 下面添加

git ALL=(ALL) ALL

然后ctrl +c 输入:wq! 强制退出,此处必须强退

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
	#切换到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

然后此处可以用本地的电脑去链接到git服务器了

打开本地电脑的cmd, 输入:ssh -v git@服务器公网IP
回车之后,输入刚才设置的git密码。

之后建立一个git仓库

1
2
3
4
cd /home
mkdir website && cd website #创建工程目录
mkdir repos && cd repos
git init --bare blog.git #创建名为blog的仓库

然后配置hooks

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
 修改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

设置权限
# 赋予该文件可执行权限 ==!!!!非常重要!!!!==
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

1
git clone git@服务器IP:/home/website/repos/blog.git E:\blogs

检测本地E盘有没有一个blogs 里面有一个隐藏的.git文件

如果有 那么恭喜你成功了

然后就是修改你本地config.yml里的地址了,改成你服务器git库的地址

1
2
3
4
deploy:
type: git
repo: git@服务器IP:/home/website/repos/blog.git
branchL master

这个界面相信大家应该很熟悉

然后重启nginx

1
service nginx restart

以上参照了soul.Top在CSDN上的一篇博文

地址为 : https://blog.csdn.net/weixin_43869778/article/details/104066144

但是中途出了点错误

不知道是我操作失误还是如何

于是我增加了下面几步

1
2
3
ln -s /usr/local/git-2.25.0/bin-wrappers/git-upload-pack /usr/bin/git-upload-pack 

ln -s /usr/local/git-2.25.0/bin-wrappers/git-receive-pack /usr/bin/git-receive-pack

我去他的位置把他原来的删除掉之后又重新的给这两个pack移到了那个位置,这才能正常的传输。

由于我操作的时候没有及时的写博文,所以就不能够给大家分享我操作的照片。

以后又有新的操作尽量还是出过程图吧。