部署环境:阿里云centos7.3,本地win10html
实列列表->操做->更多->网络和安全组->安全组配置,点击配置规则,查看是否开放了4000和80端口node
没有配置的直接点击右上角的【添加安全组规则】便可,受权对象通常配置0.0.0.0/0
,即对全部访问者开放。nginx
推荐直接使用命令安装,也能够去官网下载tar包而后解压。git
yum install git
复制代码
curl --silent --location https://rpm.nodesource.com/setup_10.x | bash -
sudo yum install -y nodejs
复制代码
git --version
node --version
复制代码
adduser git
复制代码
chmod 740 /etc/sudoers
vim /etc/sudoers
复制代码
git ALL=(ALL) ALL
复制代码
chmod 400 /etc/sudoers
复制代码
sudo passwd git
复制代码
su git
mkdir ~/.ssh
vim ~/.ssh/authorized_keys
复制代码
ssh-keygen -t rsa
复制代码
键入这个命令后,会提示让你给这个公钥配置密码,咱们的目的就是免密登陆,不用理会,一路回车便可。npm
而后将win10中生成的id_rsa.pub文件中的公钥复制到authorized_keysvim
随后修改目录权限权限windows
chmod 600 ~/.ssh/authorized_keys
chmod 700 ~/.ssh
复制代码
ssh -v git@服务器公网IP
复制代码
回到root用户centos
安装安全
su // 回到root
yum install nginx -y
复制代码
systemctl start nginx
systemctl enable nginx
复制代码
vim /etc/nginx/conf.d/default.conf
复制代码
sudo mkdir -p /usr/share/nginx/html/blog
sudo chown -R git:git /usr/share/nginx/html/blog
复制代码
su git
cd ~
git init --bare blog.git
复制代码
vim ~/blog.git/hooks/post-receive
复制代码
#!/bin/sh
git --work-tree=/usr/share/nginx/html/blog --git-dir=/home/git/blog.git checkout -f
复制代码
chmod +x ~/blog.git/hooks/post-receive
复制代码
Hexo是经常使用于搭建博客系统的框架,支持markdown编辑,可以实现博客的自动部署bash
sudo npm install -g hexo-cli
复制代码
mkdir ~/hexo
cd hexo
hexo init blog
复制代码
cd blog
npm install hexo-deployer-git --save
npm install hexo-server
复制代码
hexo-deployer-git用于Git自动部署,hexo-server用于本地简单的服务器。
hexo s -g
复制代码
这个是Hexo的默认主题,若是想换个主题。推荐使用Next主题,选择喜欢的主题后,里面的wiki有详细的主题配置教程。
brew install nodejs
复制代码
hexo new "Hello Saturaday"
复制代码
vim source/_posts/Hello-Saturday.md
复制代码
保存退出后,hexo s -g
再次访问域名,就可看到新编辑的内容了
按照上数部署后,虽然能够访问博客,可是一旦断开了链接,这个服务就中止了,所以须要编辑一个运行脚本,保持服务的运行。
vim start.sh
hexo s & > log.txt
:wq
chmod 777 start.sh
复制代码
vim run.sh
nohup ./start.sh 2> run.txt
:wq
chmod 777 run.sh
复制代码
vim stop.sh
ID=`ps -ef | grep "hexo" | grep -v "grep" | awk '{print $2}'`
echo $ID
echo "---------------"
for id in $ID
do
kill -9 $id
echo "killed $id"
done
echo "---------------"
:wq
chmod 777 stop.sh
复制代码
./run.sh
复制代码