北京SEO

nodejs+github建立站点的步骤详解

2019/10/10/17:44:44  阅读:1755  来源:谷歌SEO算法  标签: 百度细雨算法

下面来为各位介绍一篇关于nodejs+github建立站点的步骤,希望文章能够帮助到各位朋友.

使用的工具

nginx做为webserver入口,并对指定的路径做代理转发,github&&git做为源代码存放,nodejs我这里还用的node做为server后端语言,当然你完全可以使用php.

创建步骤

github里建立仓库,这里不用太多解释了吧,比如我建立的 demo,在服务端安装git,在你的服务器上安装git客户端,并生成你的ssh-key,把生成后的公钥配置到你的github账号设置里,这时候你的服务器就具备你仓库的操作权限了,把你建立的仓库clone到你服务器上,大概的目录结构是这样的:

  1. ./wwwroot///站点根目录
  2. ./demo///克隆的仓库目录
  3. ./demo-server///为了更新钩子,一会你就知道是做啥的了

友情提示:git

配置nginx:

nginx主要功能就是支持静态资源,对非静态资源进行代理转发给后端,我这里用的是nodejs跑的后端服务,配置如下:

  1. server{
  2. listen80;
  3. server_namegithub.xuexb.com;
  4. root"/home/wwwroot/demo";
  5. autoindexon;
  6. #如果目录有md则重写到md
  7. if(-f$request_filename/README.md){
  8. rewrite(.*)$1/README.mdbreak;
  9. }
  10. #做github更新的勾子
  11. location=/update{
  12. proxy_passhttp://127.0.0.1:81;
  13. proxy_set_headerHost$host;
  14. proxy_set_headerX-Real-IP$remote_addr;
  15. proxy_set_headerX-Forwarded-For$proxy_add_x_forwarded_for;
  16. }
  17. #代理所有的md到nodejs上
  18. location~\.md${
  19. proxy_passhttp://127.0.0.1:81;
  20. proxy_set_headerHost$host;
  21. proxy_set_headerX-Real-IP$remote_addr;
  22. proxy_set_headerX-Forwarded-For$proxy_add_x_forwarded_for;
  23. }--phpfensi.com
  24. }

nodejs启用端口81,把.md的文件发到81上,把更新钩子发到81上,站点的根目录是demo,具体对外的什么域,什么端口看你了.

配置github钩子

打开 你github仓库地址/settings/hooks,在这里添加一个Webhooks,地址是你更新的路径,我这里是 xxoo.com/update,我使用的事件是push的时候更新.

配置后端

其实这里后端只要的功能就是跟github钩子配合更新文件,用啥语言没限制,看你的心情了,把后端建立在demo-server目录,并对外监听81端口(因为nginx转发到81了),遇到更新的路径,则执行cd ../demo && git pull命令更新文件,因为github钩子带的参数非常全,你还可以检测commit message里是否有发布相关的字,就可以达到按需更新了.

我这里用的是nodejs,只是处理下.md文档,当然你可以使用nginx+php来搭建php环境,我的nodejs更新钩子文件点这里看.

测试钩子

现在你在本地也clone一个你的仓库,并修改文件后push到github,然后你浏览下你的站点,是不是也更新了?

到这里你基于github的站点搞定,在线demo 仓库地址,注意,因为公用仓库你要小心你的隐私,当然土豪的你可以买私有仓库.

广告内容

nodejs+github建立站点的步骤详解 nodejs+github建立站点的步骤详解 nodejs+github建立站点的步骤详解

相关阅读

热门评论

Seven 绯闻SEO Seven 绯闻SEO

绯闻SEO,一个专注中小企业网站优化的SEO爱好者

总篇数179

精选文章

RMAN中catalog和nocatalog区别介绍 小技巧:为Linux下的文件分配多个权限 zimbra8.5.1安装第三方签名ssl证书的步骤 解决mysql不能远程连接数据库方法 windows服务器mysql增量备份批处理数据库 mysql中slow query log慢日志查询分析 JavaScript跨域问题总结 Linux下负载均衡软件LVS配置(VS/DR)教程 mysql中权限参数说明 MYSQL(错误1053)无法正常启动

SEO最新算法