赞
踩
本地环境
git
,Node.js
,hexo
…服务器环境
git
,Nginx
,创建 git 用户
连接服务器:
ssh -v root@ip
因为 yum 源仓库的 Git 版本更新不及时,所以采用源码包进行安装。
yum install curl-devel expat-devel gettext-devel openssl-devel zlib-devel
yum install gcc perl-ExtUtils-MakeMaker
通过命令 git --version
可以看到,Git 当前的版本号为 1.8.3.1
,太过于陈旧,所以需要先把它移除了。
yum remove git
cd /usr/local/src // 选择文件保存位置
wget https://mirrors.edge.kernel.org/pub/software/scm/git/git-2.39.0.tar.gz // 下载链接
tar -zxvf git-2.39.0.tar.gz // 解压
注:
当我们使用 wget命令下载不安全的https 域名下的内容时会提示如下内容:
cannot verify pkg.jenkins.io's certificate, issued by ‘/C=US/O=Let's Encrypt/CN=R3’
Issued certificate has expired. To connect to pkg.jenkins.io insecurely, use `--no-check-certificate'.
修复:
sudo yum install -y ca-certificates
版本以及之后版本可到此进行查看。解压后,会在当前目录下自动生成一个名为 git-2.39.0
的文件夹,里面就是解压出来的文件。可通过命令 ls
进行查看。
cd git-2.39.0 // 进入文件夹
make prefix=/usr/local/git all // 编译源码
make prefix=/usr/local/git install // 安装至 /usr/local/git 路径
打开环境变量配置文件
vim /etc/profile
在文件底部添加以下配置
PATH=$PATH:/usr/local/git/bin // git 的目录
export PATH
刷新环境变量
source /etc/profile
最后再使用 git --version
查看版本号,已经为 2.39.0
adduser y.lin
passwd git
chmod 740 /etc/sudoers
vim /etc/sudoers
在英文输入法下,按Esc然后按shift和冒号,输入set nu
就可以显示行号
找到以下内容
## Allow root to run any commands anywhere
root ALL=(ALL) ALL
在它下面添加一行
y.lin ALL=(ALL) ALL
保存并退出,将权限修改回来
chmod 400 /etc/sudoers
本地中,使用 Git Bash/powershell
创建密钥
# 本地 windows
ssh-keygen -t rsa
切换至 y.lin
用户,创建 .ssh
文件夹以及 authorized_keys
文件并将本地的 id_rsa.pub
文件内容粘贴到里面
su y.lin
mkdir ~/.ssh
vim ~/.ssh/authorized_keys
修改权限
cd ~
chmod 600 .ssh/authorzied_keys
chmod 700 .ssh
在本地 Windows 上,使用 Git Bash
测试是否能连接上服务器
ssh -v y.lin@ip
其中 SERVER 为服务器 ip 地址。若出现以下错误提示,检查本地密钥位置是否存在 known_hosts
文件,将其删除重新测试。测试结果为,不需要密码直接进入
创建一个目录用于作为网站的根目录
su root
mkdir /home/hexo # 此目录为网站的根目录
赋予权限
chown y.lin:y.lin -R /home/hexo
注意需要 root 权限
yum install -y nginx // 安装
systemctl start nginx.service // 启动服务
使用 yum 安装的 nginx 在新版的 CentOS 中,需要使用 systemctl
,而不是直接使用 service start nginx
此时通过服务器的公网 IP 地址访问,可以看到 nginx 的欢迎页面,表示安装成功,如下图
使用 nginx -t
命令查看位置,一般为 /etc/nginx/nginx.conf
。
使用 vim /etc/nginx/nginx.conf
命令进行编辑,修改配置文件如下:
server {
listen 80 default_server;
listen [::]:80 default_server;
server_name yelin.fun; # 修改为自己的域名
root /home/hexo; # 修改为网站的根目录
# Load configuration files for the default server block.
include /etc/nginx/default.d/*.conf;
location / {
}
error_page 404 /404.html;
location = /40x.html {
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
}
}
root
处的网站目录,需要自己创建,也就是部署上传的位置
注意使用 nginx -t
命令检查配置文件的语法是否出错。然后使用 systemctl restart nginx.service
命令重启服务即可
创建一个裸仓库,裸仓库就是只保存 git
信息的 Repository
, 首先切换到 git
用户确保 git 用户拥有仓库所有权,一定要加 --bare
,这样才是一个裸库.
su root
cd /home/git # 在 git 用户目录下创建
git init --bare blog.git
这时,git
用户的 ~
目录下就存在一个 blog.git
文件夹,可使用 ls
命令查看。再修改 blog.git
的权限
chown git:git -R blog.git
在这使用的是 post-receive
这个钩子,当 git
有收发的时候就会调用这个钩子。 在 blog.git
裸库的 hooks 文件夹中,新建 post-receive
文件
vim blog.git/hooks/post-receive
填入以下内容,其中 /home/hexo
为网站目录,根据自己的填入,保存退出
#!/bin/sh
git --work-tree=/home/hexo --git-dir=/home/git/blog.git checkout -f
在本地中,和部署到 pages
服务一样,需要先 hexo g
命令生成静态文件,通过 hexo s
命令能够正常进行本地访问,并且确保已经安装了 hexo-deployer-git
_config.yml
hexo 根目录下的 _config.yml
文件,找到 deploy
deploy:
type: git
repo: git@SERVER:/home/git/blog.git # 用户名@服务器Ip:git仓库位置
branch: master # 分支
之后按照正常的流程进行部署即可
hexo clean
hexo g
hexo d
hexo 根目录下的 _config.yml
文件,找到 deploy
deploy:
type: git
repo: git@SERVER:/home/git/blog.git # 用户名@服务器Ip:git仓库位置
branch: master # 分支
之后按照正常的流程进行部署即可
hexo clean
hexo g
hexo d
在SSL证书管理下载nginx证书
将文件上传服务器的 /etc/nginx/conf
目录
编辑 Nginx 根目录下的 nginx.conf
文件
通过执行以下命令验证配置文件问题
nginx -t
成功
重载nginx
nginx -s reload
即可重新访问网页
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。