经过一段时间积累,自己的博客总算有点东西,都是日常的一些总结,访问量超过了500,哈哈,这里也分享以下建站的经验(博客入口凯哥stack)。
我选择域名申请+云主机模式,也有人选择CDN托管,总之各有好处,CDN托管省心,云主机则需要运行维护,稍麻烦一点,但是有折腾的乐趣。
准备工作
购买域名(各大共有云都有,经常有活动,一般非抢手域名30-60元)。
购买云主机(1U/2G即可,一般够用,后期可续费扩容)。
工信部备案(一般云运营商都有入口,按照提示填写信息即可,大概需要2周左右时间审批)
配置DNS解析
完成备案后,意味着网站记录在案,即可启用了,当然要在遵守互联网法律法规前提下运营才行。接下来就是配置DNS解析,即将网站绑定到具体IP地址,方式如下:
- 前缀设置,一般选择@,如本站直接解析网站,不用带www。
- 类型设置,一般选择A,即IPv4地址。
- IP地址设置,填入云主机的公网IP即可,保存,网站即是可访问状态,内容则需要在云主机上启动网站服务才能提供。
部署网站服务
为何选择nginx?配置简单、性能高效。
安装nginx
参考nginx官网安装文档,可以使用二进制安装或者源码安装,笔者选择源码安装。参考: nginx.org/en/docs/install.html
配置nginx
配置简单测试例子(nginx默认配置,配置字段解释见注释):
# conf/nginx.conf
server {
listen 80; # ---监听80端口
server_name kaige86.com; # ---网站名字
#access_log logs/host.access.log main;
location / { # ---以根路径开始的访问规则
root html; # ---根路径映射到nginx安装目录html子目录
index index.html index.htm;
}
启动nginx(需要root用户权限):
$ ./sbin/nginx
更改配置后,需要重启nginx服务:
$ ./sbin/nginx -s reload
对了,云主机重启后,自动启动nginx,需要在/etc/rc.local最后增加如下配置:
/opt/nginx/sbin/nginx
浏览器打开网站http://kaige86.com
,可以看到如下信息:
![e6dd4d68ce9e58b65313b7f373a2fc3e.png](https://i-blog.csdnimg.cn/blog_migrate/7784b3193280a6b875eb30b99c9fb307.png)
使用hexo
hexo是一款非常简单实用的博客网站工具,支持静态页面导出和网站server两种模式,我选择使用nginx作为网站服务,只使用静态页面导出功能,当然本地调试过程会使用hexo server查看效果。
安装配置
参考: https://hexo.io/。
更改主题
hexo支持自开发主题或者使用他人的主题,本站使用的是geektutu主题,该主题博主已经开源,链接参考: https:// github.com/geektutu/hex o-theme-geektutu 。
对接nginx
直接将nginx的root指向hexo生成的public即可:
location / {
root /opt/blog/public; # hexo 生成的网站数据
index index.html index.htm;
}
部署ssl
- 申请证书
在购买域名的运营商可以申请免费证书,如trust asia,申请很快,完成后可以下载证书文件,注意证书文件要妥善保存,内置公私密钥,尤其是私钥。
- 配置nginx
server {
listen 443 ssl;
server_name www.example.com;
ssl_certificate cert/1_www.example.com.crt;
ssl_certificate_key cert/2_www.example.com.key;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_ciphers HIGH:!aNULL:!MD5;
location / {
root /opt/nginx/public;
}
}
将证书文件放在conf/cert(目录自行创建)。官网配置指导: http://nginx.org/en/docs/http/configuring_https_servers.html 。
- 重定向http
server {
listen 80;
location / {
return 301 https://example.com$request_uri;
}
至此,基本完成配置,还有一些安全配置待优化。
安全
- 屏蔽/GET以外的所有操作
location / {
limit_except GET { # 除了GET以外其他请求全部禁用
deny all;
}
...
}
- 关闭nginx错误信息返回时,隐藏返回nginx版本号
server {
listen 80;
server_tokens off; # 隐藏nginx版本号
至此已经完成了网站部署。
详细参考原文链接:
Nginx+hexo建站小结 | 凯哥kaige86.com![c5539f60c8b58dbb8ca15b315d8de888.png](https://i-blog.csdnimg.cn/blog_migrate/b048ed4db6c959078cf9c6b95b2cf80f.jpeg)
凯哥stack
著作权归作者所有,禁止转载