1 Star 0 Fork 0

iamdsy / nginx-blog

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
克隆/下载
README_zh_CN.md 3.99 KB
一键复制 编辑 原始数据 按行查看 历史
iamdsy 提交于 2018-01-07 01:33 . add-my-blog-as-a-demo-into-the-readme-file

nginx-blog

english version readme click here

点击此处看实际效果

这是基于nginx开发的http模块,该模块配置好了后可以直接写markdown文件 写好上传到指定目录,博客就自动生成了。

这个模块只能在linux上使用,因为使用了inotify功能,该模块已在ubuntu 16.04 、deepin 15.5操作系统上测试,也和nginx1.12.2、nginx-1.9.9一起测试过, 可以正常使用。

1.安装

1.1 创建文件: ~/nginx-1.12.2/objs/Makefile

命令如下:

cd
git clone  https://www.gitee.com/iamdsy/nginx-blog
tar xvfz nginx-1.12.2.tar.gz
sudo apt-get install libpcre3-dev \
    libssl-dev perl make build-essential curl
cd nginx-1.12.2
./configure --prefix=/usr/local/nginx --add-module=../nginx-blog

1.2 更改~/nginx-1.12.2/objs/Makefile文件

由于本模块是基于c++编写的,所以有些地方需要修改

1.在"CC = cc"这一行下增加一行:"CXX = g++"

2.在"CFLAGS = -pipe -O -W -Wall -Wpointer-arith -Wno-unused-parameter -Werror -g" 这一行下增加一行:"CXXFLAGS = -pipe -O -W -Wall -Wpointer-arith -Wno-unused-parameter -Werror -g -std=c++11"

3.将 "LINK = $(CC)" 改为 "LINK = $(CXX)"

4.搜索 nginx-blog 编译选项,将 nginx-blog后面的 $(CC) 改为 $(CXX),$(CFLAGS) 改为 $(CXXFLAGS)

5.修改完成后的Makefile看起来像这样:

 CC =    cc
 CXX = g++
 CFLAGS =  -pipe  -O -W -Wall -Wpointer-arith -Wno-unused-parameter -Werror -g
 CXXFLAGS =  -pipe  -O -W -Wall -Wpointer-arith -Wno-unused-parameter -Werror -g -std=c++11
 CPP =   cc -E
 LINK =  $(CXX)

其他省略。。。

objs/addon/nginx-blog/ngx_blog.o:	$(ADDON_DEPS) \
	../nginx-blog/ngx_blog.cpp
	$(CXX) -c $(CXXFLAGS)  $(ALL_INCS) \
		-o objs/addon/nginx-blog/ngx_blog.o \
		../nginx-blog/ngx_blog.cpp


objs/addon/nginx-blog/blog_home_page.o:	$(ADDON_DEPS) \
	../nginx-blog/blog_home_page.cpp
	$(CXX) -c $(CXXFLAGS)  $(ALL_INCS) \
		-o objs/addon/nginx-blog/blog_home_page.o \
		../nginx-blog/blog_home_page.cpp


objs/addon/nginx-blog/lib_markdown_parse.o:	$(ADDON_DEPS) \
	../nginx-blog/lib_markdown_parse.cpp
	$(CXX) -c $(CXXFLAGS)  $(ALL_INCS) \
		-o objs/addon/nginx-blog/lib_markdown_parse.o \
		../nginx-blog/lib_markdown_parse.cpp

后面省略。。。

1.3编译和安装

命令如下

cd
cd nginx-1.12.2
make
sudo make install

2.配置 nginx.conf

只要在http模块下增加几行配置即可,增加后的 看起来如下:


user iamdsy;
省略。。。
http {
    src_root_dir  /home/iamdsy/my_blog/;
    dst_root_dir  /usr/local/nginx/html/;
    html_title  我的博客;
    blog_name   潼潼;
    blog_subname  文房;
    max_item_per_page  10;
省略。。。

3.放置md博客文件的目录结构

根据上面的配置,根目录就是/home/iamdsy/my_blog/ 这个目录下只有1个文件和1个文件夹,文件叫about_me.md ,文件夹叫blog

3.其他需要做的工作

3.1 建立目录

根据前述配置,放置html文件的根目录是/usr/local/nginx/html, 创建目录的命令如下:

cd /usr/local/nginx/html
sudo mkdir blog archive tags

3.2 复制 style.css到相关目录下面

cd 
sudo cp -rv nginx-blog/style.css /usr/local/nginx/html
cd /usr/local/nginx/html
sudo cp -rv style.css blog
sudo cp -rv style.css tags
sudo cp -rv style.css archive

3.3运行nginx

cd /usr/local/nginx
sudo ./sbin/nginx

敲了上述命令运行正常后,应该已经能访问已经写好的博客了。

3.4 更改目录所有者chown

为了在md文件目录下放一个md文件就能动态生成博客,需要 nginx的worker进程能把生成的博客文件放置到html目录下, 所以把html及其子目录全更改为iamdsy,就是前面nginx.conf 文件里面的user iamdsy;的值

cd /usr/local/nginx
sudo chown -R iamdsy html/*

4.后期会做的事情

1.将tag标签下的所有文章按时间进行排序 2.修改css文件能适配移动终端

C++
1
https://gitee.com/iamdsy/nginx-blog.git
git@gitee.com:iamdsy/nginx-blog.git
iamdsy
nginx-blog
nginx-blog
master

搜索帮助