使用nginx部署hexo

前言

nginx是当今十分火热的一款开源的web服务器,拥有高性能的http和反向代理的服务。通过nginx来部署hexo这类的静态资源博客是十分的方便和高性能的。

正文

我的小主机上运行的是armbian系统,对,用的就是n1盒子。armbian是运行在arm架构cpu上的debian,理论上和x86架构cpu上运行的debian系统是一致的。

nginx的安装

方式一:官方源安装

debian的官方仓库中有nginx的安装源,可以通过sudo apt-get install nginx -y来安装。这种方式最简单,但是官方仓库中的nginx往往不是最新的,所以我并不推荐

方式二:源码编译安装

首先在官网上下载源码的安装包官网地址
在这里我推荐stable的。
通过编译源码的方式安装那就避免不了要解决依赖问题,编译nginx需要的依赖有这些

  1. gzip 模块需要 zlib 库 ( 下载: http://www.zlib.net/ ) zlib-1.2.8.tar.gz
  2. rewrite 模块需要 pcre 库 ( 下载: http://www.pcre.org/ ) pcre-8.21.tar.gz
  3. ssl 功能需要 openssl 库 ( 下载: http://www.openssl.org/ ) openssl-1.0.1.tar.gz

注意: 这些列出来的依赖包并不是说你一定要先去装应为有时候系统已经安装了部分依赖,所以完全可以先进行编译的预处理,也就是./configure看看缺少了什么依赖,缺什么再安装什么!
注意: 我在这里说明一下我在装依赖过程中遇到的一些问题,我经过预处理后得知我缺少了pcre库和zlib库,因此我也编译安装好了,但是还是无法成功编译。我出现的错误是src/core/ngx_regex.h:15:18: fatal error: pcre.h: No such file or directory ,也就是缺少pcre库。
在网上寻求答案,有网友的解决方案是:./configure --with-pcre=../pcre-8.21 \ #指向解压的源码目录,对这里是指向源码的安装目录 ,有人这么做成功了,但是我却始终失败。最后我的解决方案是:在官方库中安装zlib库,apt-get install libpcre3-dev,因为是在官方库中安装的,所以之前的configure应该改成不带参数的形式重新执行。然后正常的执行make & make install进行编译安装。

nginx目录及命令的基本介绍

如果正常的编译安装后,nginx的默认安装目录应该是在/usr/local/nginx下的
目录结构如图:

其中conf目录下存放的是关于nginx的相关配置文件,sbin目录下存放的是nginx的可执行文件。
在运行nginx前,我们先切换到nginx可执行程序所在目录,也就是sbin目录下。首次运行nginx需要先执行./nginx -c /usr/local/nginx/conf/nginx.conf意思是加载nginx的配置文件,然后执行./nginx -s reloadnginx就可以正常运行。打开浏览器查看本机地址的80端口也可以看到nginx的欢迎页面。

nginx启动可能出现的问题说明

在成功运行nginx后,访问nginx所代理的目录时有可能出现403错误,这是什么原因呢?在错误日志中可以看到是权限不够,访问拒绝。我们都知道linux中每个文件对应每个用户都有不同的权限,出现这个问题的根本原因就是运行nginx的用户不具有对该目录或者文件的读写权限。我们可以通过ps aux | grep nginx来看当前运行nginx的用户,我是以root身份运行的
可以在nginx.conf中更改运行的用户:
改的用户具有的权限应该和你需要访问目录所需权限相一致。

hexo部署到nginx

通过hexo的渲染框架生成的静态资源文件放在的是public目录下,我们只需要让nginx代理这个目录就可以将hexo部署到nginx上。在ngingx.conf中更改相应的配置路径即可

最后启动看看吧./nginx -s reload

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值