美文网首页关于hexoHexo
使用Nginx部署Hexo站点

使用Nginx部署Hexo站点

作者: lupeng | 来源:发表于2016-07-15 16:14 被阅读4054次

    在公司内网环境中,搭建一个静态站点,用于保存一些相关知识文档,并通过页面的形式展现出来。静态站点生成器这里我选择的是Hexo(一个基于Node实现的静态博客框架),而Web服务器首选当然是Nginx,简单高效。

    1. 安装Nginx

    这里我以Windows Server为例,安装非常简单,从官方站点页面下载Nginx软件包。下载完成后,直接解压到本地目录就行了。

    打开cmd,进入Nginx目录,执行命令start nginx,然后你就可以在任务管理器中看到nginx的进程了。直接访问浏览器http://127.0.0.1,正常情况下,就能看到Nginx的欢迎界面了。如果不对,90%的可能是因为80端口占用问题,打开配置Nginx配置文件,修改一下默认端口就行了。

    2. 配置Nginx

    Nginx目录下打开conf/nginx.conf文件,部分内容如下:

    ...
    server {
            listen       8080;
            server_name  127.0.0.1;
            #charset koi8-r;
            #access_log  logs/host.access.log  main;
            location / {
                root   html;
                index  index.html;
            }
    ...
    

    如上,将默认80改成8080,然后在访问http://127.0.0.1:8080就OK了。下面location就是欢迎页面的访问路径,进入Nginx目录下html目录,可以看到有个index.html文件,这就是欢迎页面。

    那么如何将Hexo静态站点部署在Nginx服务器下呢?

    3. 部署静态站点

    通过Hexo g命令生成的静态站点,默认就是Hexo站点目录中的public文件夹。

    将生成好的静态站点(也就是public/目录),拷贝至Nginx目录下的html文件夹中。然后修改Nginx配置文件。

    ...
    server {
            listen       8080;
            server_name  127.0.0.1;
            location / {
                root   html/public;
                index  index.html;
            }
    ...
    

    只是修改了root字段为public目录,其他地方都不变,然后重新加载Nginx,打开cmd,在Nginx目录下执行nginx -s reload,重新访问http://127.0.0.1:8080,就可以看到Hexo静态站点了。这里要注意浏览器缓存的问题

    问题

    1. Hexo其实是提供hexo s命令来实时查看访问页面,如果在服务器端启动hexo s,在浏览器中同样也可以通过服务器IP来访问站点,并且能实时显示当前状态。但是,通过我尝试后发现,hexo s效率非常低,只能适合在线调试,不适合作为站点访问。
    2. 更新的时候,需要使用hexo g重新生成站点,然后将public目录拷贝到Nginx目录中html文件夹下即可。

    相关文章

      网友评论

      • 骑驴上塔楼:可以直接使用路径配置,有更新直接hexo g就好了
        ```shell
        root /opt/git/blog-node/public;
        index index.html;
        ```
      • f8b7e1b7dd5d:拷贝public目录太搞笑了吧? 好像可以在.conf文件中配置路径,不然不是还得命令行删除目录在拷贝进去
        f8b7e1b7dd5d:@pengloo53 或者用github 的钩子,在本地gennetate提交到github,服务器自动识别。
        f8b7e1b7dd5d:@pengloo53 执行批处理也得命令啊,直接在config.yml把public改成html就可以了
        lupeng: @Orchidbaby 一个批处理就行了呀,本质还不是拷贝,有啥搞笑的

      本文标题:使用Nginx部署Hexo站点

      本文链接:https://www.haomeiwen.com/subject/nimyjttx.html