国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 系統 > Linux > 正文

nodejs+github建立站點的步驟詳解

2024-08-27 23:59:59
字體:
來源:轉載
供稿:網友

下面來為各位介紹一篇關于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.     listen 80; 
  3.     server_name github.xuexb.com; 
  4.     root   "/home/wwwroot/demo"
  5.     autoindex on
  6.     # 如果目錄有md則重寫到md 
  7.     if ( -f $request_filename/README.md ){ 
  8.         rewrite (.*) $1/README.md break; 
  9.     } 
  10.     # 做github更新的勾子 
  11.     location = /update { 
  12.         proxy_pass http://127.0.0.1:81; 
  13.         proxy_set_header Host $host; 
  14.         proxy_set_header X-Real-IP $remote_addr; 
  15.         proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; 
  16.     } 
  17.     # 代理所有的md到nodejs上 
  18.     location ~ /.md$ { 
  19.         proxy_pass http://127.0.0.1:81; 
  20.         proxy_set_header Host $host; 
  21.         proxy_set_header X-Real-IP $remote_addr; 
  22.         proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; 
  23.     }  --Vevb.com 

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 倉庫地址,注意,因為公用倉庫你要小心你的隱私,當然土豪的你可以買私有倉庫.

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 敖汉旗| 班戈县| 玉树县| 府谷县| 聂拉木县| 河西区| 新营市| 江川县| 温州市| 邻水| 锦屏县| 四平市| 崇义县| 鹤壁市| 吉安市| 玛纳斯县| 抚松县| 萝北县| 秦皇岛市| 禄劝| 瑞金市| 宜川县| 讷河市| 叙永县| 海宁市| 潜山县| 应城市| 阿图什市| 增城市| 西城区| 咸宁市| 江达县| 攀枝花市| 城口县| 普兰店市| 三门县| 宜黄县| 杂多县| 开化县| 仙桃市| 进贤县|