应朋友要求,记录下HEXO+NGINX部署
HEXO介绍
Hexo 是一个快速、简洁且高效的博客框架。Hexo 使用 Markdown(或其他渲染引擎)解析文章,在几秒内,即可利用靓丽的主题生成静态网页。
Nginx介绍
Nginx (读“engine x”)是一款免费、开源、高性能的HTTP服务器。
Nginx 因性能稳定、功能丰富、配置简单、资源消耗低而著称。
环境配置
本次采用的环境:
Centos 7
Node.js 8.9.4
Nginx部署
参考博客的:Nginx部署
Hexo部署
下载安装最新的node.js
wget https://nodejs.org/dist/v8.9.4/node-v8.9.4.tar.gz
解压并重命名
tar xvf node-v8.9.4.tar.gz && mv node-v8.9.4 node
安装node.js
进入目录
[[email protected] ~]# cd node [[email protected] node]# ls AUTHORS BUILDING.md CODE_OF_CONDUCT.md CONTRIBUTING.md GOVERNANCE.md Makefile android-configure common.gypi deps lib node.gypi test vcbuild.bat BSDmakefile CHANGELOG.md COLLABORATOR_GUIDE.md CPP_STYLE_GUIDE.md LICENSE README.md benchmark configure doc node.gyp src tools
|
编译安装
这一步耗时较长,可以泡杯咖啡
[[email protected] node]# ./configure --prefix=/usr/local/node/8.9.4 && make && make install
|
配置NODE_HOME,进入profile编辑环境变量
vi /etc/profile
设置nodejs环境变量,在export PATH USER LOGNAME MAIL HOSTNAME HISTSIZE HISTCONTROL一行的上面添加如下内容:
#set for nodejs export NODE_HOME=/usr/local/node/8.9.4 export PATH=$NODE_HOME/bin:$PATH
|
:wq保存并退出,编译/etc/profile
使配置生效
source /etc/profile
验证是否安装配置成功
npm模块安装路径
/usr/local/node/8.9.4/lib/node_modules/
注:Nodejs 官网提供了编译好的Linux二进制包,你也可以下载下来直接应用。
下载hexo
[[email protected] ~]# npm install -g hexo-cli
初始化HEXO
在/home/wwwroot/domain
目录下初始化hexo
博客,也可以是任意你想要的名字
[[email protected] domain]# hexo init /home/wwwroot/domain
进入博客根目录,并且安装相关插件依赖等
[[email protected] domain]cd /home/wwwroot/domain/blog
[[email protected] blog]# npm install
安装完成后需要用一下命令
[[email protected] blog] hexo g -d
Nginx配置
Nginx部署
在虚拟主机配置的目录新建个blog.conf
内容如下
server { listen 80; listen [::]:80; #listen 443 spdy; #listen [::]:443 spdy; server_name blog.example.com; index index.html index.php; set $subdomain ''; root /home/wwwroot/domain/blog/public$subdomain; #include /home/wwwroot/rewrite/xxx.conf; ### SSL 配置 #ssl on; #ssl_protocols TLSv1.2 TLSv1.1 TLSv1; #ssl_ciphers CHACHA20:GCM:CFB:HIGH:!DH:!RC4:!aNULL:!eNULL:!LOW:!3DES:!MD5:!EXP:!PSK:!SRP:!DSS; #add_header Strict-Transport-Security "max-age=31536000; includeSubdomains; preload"; #ssl_prefer_server_ciphers on; #ssl_stapling on; #ssl_stapling_verify on; #ssl_certificate /path/to/public.crt; #ssl_certificate_key /path/to/private.key; ############ #location ~ .*.php(/.*)*$ #{ # fastcgi_pass unix:/tmp/php-cgi-www.example.com.sock; # fastcgi_index index.php; # include fastcgi.conf; # #fastcgi_param HTTPS $https if_not_empty; # fastcgi_param DOCUMENT_ROOT /home/wwwroot/domain/www.w3bsafe.cn$subdomain; # fastcgi_param SCRIPT_FILENAME /home/wwwroot/domain/www.w3bsafe.cn$subdomain$fastcgi_script_name; #} location ~ .*.(gif|jpg|jpeg|png|bmp|swf|flv|mp3|wma)$ { expires 30d; } location ~ .*.(js|css)$ { expires 12h; } access_log off; error_log /dev/null; }
|
然后重启nginx,访问你的域名即可