部署環境:阿里雲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
複製代碼