在阿里云上抢到了6个月免费的主机,花钱买了注册了域名,搭建了这个博客。
1 域名注册
挑选喜欢的域名注册就好了。注册之后需要DNS解析。
记录类型 主机记录选 记录值 A @ ip地址 A www ip地址
这样域名在十几分钟之后就可以访问你的主机了。
2 配置服务器
Ubuntu
在服务器上选择ubuntu。
我一直使用Ubuntu,比较熟悉apt的安装方式和目录配置。
配置SSH登陆
在本地终端中输入
ssh root@ip地址
输入root密码即可登录你的阿里云主机。
每次输入密码太麻烦是吧?
本地终端
先进入./.ssh文件夹,没有的话就创建一个。
#查看是否有./.ssh
cd ~ && ls -a
#建立文件夹(有的话就不用了)
mkdir ~./.ssh
cd ~./.ssh
生成rsa秘钥
ssh-keygen -t rsa
按照以上的方法在服务器上建立~/.ssh文件夹,然后将公共秘钥考到服务器
scp id_ras.pub root@ip地址:/root/.ssh/id_rsa.pub
服务器终端
进入.ssh/文件夹然后将公共秘钥放入主机识别的文件中,然后销毁公共秘钥
cd /root/.ssh/
cat id_rsa.pub >> authorized_keys
rm id_rsa.pub
在本地终端中输入
ssh root@ip地址
即可直接登录服务器
LNMP
使用LNMP一键安装包安装配置服务器。
登陆服务器后,运行
apt-get install screen
然后运行
screen -S lnmp
安装LNMP
wget -c http://soft.vpser.net/lnmp/lnmp1.4.tar.gz && tar zxf lnmp1.4.tar.gz && cd lnmp1.4 && ./install.sh lnmp
运行安装脚本,一路默认设置,在配置MySQL时需要输入root密码。如果设置期间输入错误,可使用Ctrl+c推出安装,然后在到lnmp下载目录下运行
./install.sh
即可从新安装。
如果在出现提示"Press any key to install...or Press Ctrl+c to cancel"后,发现错了,呵呵……喝杯茶吧,等一个小时之后,输入
./uninstall.sh
之后在重新安装即可。
参考:LNMP安装
添加网站(虚拟主机)
LNMP安装网站非常方便
lnmp vhost add
首先输入你的域名,然后询问是否需要输入更多域名,相当于把多个域名绑定到同一个服务器上。
注意:www.域名.com和域名.com是两个域名。
然后输入你的网站目录,要求是从/开始的完整路径,如果实在弄不明白就回车按照默认值来吧。
Allow Rewrite rule? (y/n)
选择n,不需要
log配置,默认
MySQL选择n,不需要
SSL选择n,不需要
ftp选择n,不需要
然后LNMP开始配置主机
搭建Hexo博客
本地安装Hexo(Mac)
安装Homebrew
/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
安装Homebrew Cask包
brew install caskroom/cask/brew-cask
安装Node.js
brew install git
安装Git
brew cask install git
安装Hexo
npm install -g hexo-cli
创建你的博客目录,然后进入你的博客目录
mkdir 博客目录
cd 博客目录
hexo init
完成初始化后需要安装一些需要的实现博客功能软件包(需要在博客目录下运行)
npm install hexo-deployer-git --save
测试Hexo(需要在博客目录下运行)
#生成博客
hexo g
#运行本地服务器
hexo s
在浏览器中输入:
即可看到Hexo生成的博客
服务器配置
安装Git
apt-get install git
创建一个用户git,用来执行git服务,并将上步建立的id_rsa.pub文件考入/home/git/.ssh/authorized_keys中
adduser git
切换至本地终端运行
scp ~/.ssh/id_ras.pub root@ip地址:/root/.ssh/id_rsa.pub
切换至服务器运行
cd /home/git/.ssh/
cat id_rsa.pub >> authorized_keys
rm id_rsa.pub
#将文件authorized_keys所有权改为git
chown git:git authorzied_keys
建立git-hooks同步跟目录(我的是/var/repo/),在目录hooks文件夹下建立post-receive文件
cd /var/repo
git init --bare blog.git(同步目录名)
cd blog.git/hooks/
vim post-receive
#写入以下内容
#!/bin/sh
git --work-tree=/path/to/www(LNMP中设置的网站目录) --git-dir=/var/repo/blog.git(同步目录的完整路径) checkout -f
保存后赋予文件可执行权
chmod +x post-receive
将blog.git目录的拥有者换成git用户
chown -R git:git /var/repo/blog.git
出于安全考虑,禁用git用户的shell登录权限
在/etc/passwd中找到类似行:
git:x:1001:1001:,,,:/home/git:/bin/bash
并将其改为:
git:x:1001:1001:,,,:/home/git:/usr/bin/git-shell
由于LNMP使用的是www用户,而git使用的是git用户,在更新博客时会照成冲突,新建web-blog组,将两个用户同时的加入该组,并将网站目录的所有权更改为web-blog组。
groupadd web-blog
useradd -g web-blog www
useradd -g web-blog git
chgrp web-blog 网站目录
chmod -R 775 网站目录
网友评论