国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

強大易用的開源 建站工具Halo

這篇具有很好參考價值的文章主要介紹了強大易用的開源 建站工具Halo。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

強大易用的開源 建站工具Halo,Docker,開源,云原生,容器,docker,docker-compose

特點

可插拔架構

Halo 采用可插拔架構,功能模塊之間耦合度低、靈活性提高。支持用戶按需安裝、卸載插件,操作便捷。同時提供插件開發(fā)接口以確保較高擴展性和可維護性。
? 支持在運行時安裝和卸載插件
? 更加方便地集成三方平臺
? 統(tǒng)一的可配置設置表單
? 支持自定義模型,自動生成 RESTful API

功能豐富的主題機制

Halo 提供完整的主題模板機制,用于構建前臺界面。這意味著用戶可以根據(jù)自己的喜好選擇不同類型的主題模板來定制化自己的站點外觀。
? 動態(tài)切換主題模板
? 支持實時編輯和預覽效果
? 多語言支持
? 與插件配合實現(xiàn)更多功能

編輯器

Halo 的富文本編輯器提供了方便豐富的功能,包括添加標題、段落、引用、列表、代碼塊等元素,并支持設置樣式屬性、上傳圖片、插入視頻等功能。這些工具讓你的文章創(chuàng)作更加便捷和生動。
? 完備的富文本格式支持
? 支持拖拽和粘貼圖片上傳
? 支持通過插件擴展編輯器

更多特性

代碼開源
Halo 的項目代碼開源在 GitHub 上且處于積極維護狀態(tài),截止目前已經(jīng)發(fā)布了 109 個版本。你也可以在上面提交你的問題或者參與代碼貢獻。

易于部署
推薦使用 Docker 的方式部署 Halo,便于升級,同時避免了各種環(huán)境依賴的問題。統(tǒng)一管理在工作目錄中的應用數(shù)據(jù)也能方便地進行備份和遷移。

插件機制
支持在插件運行時為系統(tǒng)添加新功能,同時保持 Halo 自身的簡潔輕量。這種靈活的插件機制讓用戶根據(jù)自身需求自由擴展 Halo 的功能,幫助用戶實現(xiàn)富有想象力的站點。

模板機制
支持自定義配置、主題預覽、多語言等功能。這種靈活的模板系統(tǒng)讓用戶可以針對自己的需求進行自定義配置,為網(wǎng)站帶來更加個性化的外觀和交互體驗。

附件管理
支持多種存儲策略,并支持通過插件擴展外部存儲位置,可以讓用戶更加靈活地地上傳、查看和管理附件。

搜索引擎
內置全文搜索引擎,支持關鍵字搜索文章和頁面內容。同時支持通過插件擴展外部搜索引擎,做到讓用戶按需選擇、自由擴展。

部署

快速部署

docker run -it -d --name halo -p 8090:8090 -v ~/.halo2:/root/.halo2 halohub/halo:2.9

環(huán)境要求

硬件配置

提示
如果您要使用服務器進行部署 Halo,您需要注意的是,Halo 目前不支持市面上的云虛擬主機,請使用云服務器或者 VPS。
CPU
無特別要求。目前我們的 Docker 鏡像 也已經(jīng)支持多平臺。
內存
為了獲得更好的體驗,我們建議至少配置 1G 的 RAM。
磁盤
無特別要求,理論上如果不大量在服務器上傳附件,Halo 對磁盤的容量要求并不是很高。但我們推薦最好使用 SSD 硬盤的服務器,能更快的運行 Halo。
網(wǎng)絡
Halo 目前必須在外網(wǎng)暢通的情況下使用,否則會導致頁面異常

軟件環(huán)境

Halo 理論上可以運行在任何支持 Docker 及 Java 的平臺。
Docker
必須在運行環(huán)境安裝好 Docker 環(huán)境,目前 Halo 的默認安裝運行方式均使用容器。
JRE(可選)
目前 Halo 的默認及推薦安裝方式為 Docker 容器運行,使用 jar 包運行的方式需要用戶自行構建 jar 包。
信息:
當前版本(2.0)需要 JRE 17 的版本,推薦使用 OpenJDK 17。

PostgreSQL(可選)
也可以使用系統(tǒng)自帶的 H2 Database 數(shù)據(jù)庫,無需安裝。但不推薦在生產(chǎn)環(huán)境中使用 H2 Database。

Web 服務器(可選)
如果您部署在生產(chǎn)環(huán)境,那么你很可能需要進行域名綁定,這時候我們推薦使用諸如 Nginx、Caddy 之類的 Web 服務器進行反向代理。但需要注意的是,目前 Halo 不支持代理到子目錄(如:halo.run/blog)。

Wget(可選)
后續(xù)的文檔中,我們會使用 wget 為例,用于下載所需要的文件,所以請確保服務器已經(jīng)安裝好了這個軟件包。當然,下載文件不限制工具,如果你對其他工具熟悉,可以忽略。

VIM(可選)
后續(xù)的文檔中,我們會使用 vim 為例,用于修改一些必要的配置文件,所以同樣請確保服務器已經(jīng)安裝了這個軟件包。當前,修改文檔也不限制工具,如果你對其他編輯軟件熟悉,也可以忽略。

瀏覽器支持

1、用戶前臺:視主題所支持的情況而定,由于目前的評論模塊使用了 Vuejs 開發(fā),所以在 Vuejs 不支持的某些瀏覽器中無法正常顯示評論區(qū)域。
2、管理后臺:支持目前常見的現(xiàn)代瀏覽器,具體視 Vuejs 框架的支持情況而定。

名詞解釋

~(符號)
代表當前系統(tǒng)下的 用戶目錄。
鏡像
指 Halo 構建所產(chǎn)生的 Docker 鏡像。用戶通過該鏡像啟動 Halo 應用。
工作目錄
指 Halo 所依賴的工作目錄,在 Halo 運行的時候會在系統(tǒng)當前用戶目錄下產(chǎn)生一個.halo2的文件夾,絕對路徑為 ~/.halo2。由于這個工作目錄是固定的,所以上面所說的 運行包 不限制所存放的位置,里面通常包含下列目錄或文件:
? db:存放 H2 Database 的物理文件,如果你使用其他數(shù)據(jù)庫,那么不會存在這個目錄。
? themes:里面包含用戶所安裝的主題。
? plugins:里面包含用戶所安裝的插件。
? attachments:附件目錄。
? logs:運行日志目錄。
? application.yaml:配置文件。
主題
包含了各種站點頁面模板的資源包。用戶訪問 Halo 站點瀏覽到的內容及樣式,由 Halo 管理端所配置使用的主題所決定。
插件
用于擴展 Halo 功能的軟件包。插件獨立于 Halo 核心應用,可以單獨安裝、升級、卸載。

使用Docker-Compose

注意
目前 Halo 2 并未更新 Docker 的 latest 標簽鏡像,主要因為 Halo 2 不兼容 1.x 版本,防止使用者誤操作。我們推薦使用固定版本的標簽,比如 halohub/halo:2.9 或者 halohub/halo:2.9.0。
? halohub/halo:2.9:表示最新的 2.9.x 版本,即每次發(fā)布 patch 版本都會同時更新 halohub/halo:2.9 鏡像。
? halohub/halo:2.9.0:表示一個具體的版本。
后續(xù)文檔以 halohub/halo:2.9 為例。

1、在系統(tǒng)任意位置創(chuàng)建一個文件夾,此文檔以 ~/halo 為例。

mkdir ~/halo && cd ~/halo

2、創(chuàng)建 docker-compose.yaml

此文檔提供兩種場景的 Docker Compose 配置文件,請根據(jù)你的需要選擇一種。

創(chuàng)建 Halo + PostgreSQL 的實例:

version: "3"

services:
  halo:
    image: halohub/halo:2.9
    container_name: halo
    restart: on-failure:3
    depends_on:
      halodb:
        condition: service_healthy
    networks:
      halo_network:
    volumes:
      - ./:/root/.halo2
    ports:
      - "8090:8090"
    healthcheck:
      test: ["CMD", "curl", "-f", "http://localhost:8090/actuator/health/readiness"]
      interval: 30s
      timeout: 5s
      retries: 5
      start_period: 30s          
    command:
      - --spring.r2dbc.url=r2dbc:pool:postgresql://halodb/halo
      - --spring.r2dbc.username=halo
      # PostgreSQL 的密碼,請保證與下方 POSTGRES_PASSWORD 的變量值一致。
      - --spring.r2dbc.password=openpostgresql
      - --spring.sql.init.platform=postgresql
      # 外部訪問地址,請根據(jù)實際需要修改
      - --halo.external-url=http://localhost:8090/
  halodb:
    image: postgres:latest
    container_name: halodb
    restart: on-failure:3
    networks:
      halo_network:
    volumes:
      - ./db:/var/lib/postgresql/data
    ports:
      - "5432:5432"
    healthcheck:
      test: [ "CMD", "pg_isready" ]
      interval: 10s
      timeout: 5s
      retries: 5
    environment:
      - POSTGRES_PASSWORD=openpostgresql
      - POSTGRES_USER=halo
      - POSTGRES_DB=halo
      - PGUSER=halo

networks:
  halo_network:

創(chuàng)建 Halo + MySQL 的實例:

version: "3"

services:
  halo:
    image: halohub/halo:2.9
    container_name: halo
    restart: on-failure:3
    depends_on:
      halodb:
        condition: service_healthy
    networks:
      halo_network:
    volumes:
      - ./:/root/.halo2
    ports:
      - "8090:8090"
    healthcheck:
      test: ["CMD", "curl", "-f", "http://localhost:8090/actuator/health/readiness"]
      interval: 30s
      timeout: 5s
      retries: 5
      start_period: 30s
    command:
      - --spring.r2dbc.url=r2dbc:pool:mysql://halodb:3306/halo
      - --spring.r2dbc.username=root
      # MySQL 的密碼,請保證與下方 MYSQL_ROOT_PASSWORD 的變量值一致。
      - --spring.r2dbc.password=o#DwN&JSa56
      - --spring.sql.init.platform=mysql
      # 外部訪問地址,請根據(jù)實際需要修改
      - --halo.external-url=http://localhost:8090/

  halodb:
    image: mysql:8.0.31
    container_name: halodb
    restart: on-failure:3
    networks:
      halo_network:
    command: 
      - --default-authentication-plugin=mysql_native_password
      - --character-set-server=utf8mb4
      - --collation-server=utf8mb4_general_ci
      - --explicit_defaults_for_timestamp=true
    volumes:
      - ./mysql:/var/lib/mysql
      - ./mysqlBackup:/data/mysqlBackup
    ports:
      - "3306:3306"
    healthcheck:
      test: ["CMD", "mysqladmin", "ping", "-h", "127.0.0.1", "--silent"]
      interval: 3s
      retries: 5
      start_period: 30s
    environment:
      # 請修改此密碼,并對應修改上方 Halo 服務的 SPRING_R2DBC_PASSWORD 變量值
      - MYSQL_ROOT_PASSWORD=o#DwN&JSa56
      - MYSQL_DATABASE=halo

networks:
  halo_network:

僅創(chuàng)建 Halo 實例(使用默認的 H2 數(shù)據(jù)庫,不推薦用于生產(chǎn)環(huán)境,建議體驗和測試的時候使用):

version: "3"

services:
  halo:
    image: halohub/halo:2.9
    container_name: halo
    restart: on-failure:3
    volumes:
      - ./:/root/.halo2
    ports:
      - "8090:8090"
    healthcheck:
      test: ["CMD", "curl", "-f", "http://localhost:8090/actuator/health/readiness"]
      interval: 30s
      timeout: 5s
      retries: 5
      start_period: 30s          
    command:
      # 外部訪問地址,請根據(jù)實際需要修改
      - --halo.external-url=http://localhost:8090/

僅創(chuàng)建 Halo 實例(使用已有外部數(shù)據(jù)庫,MySQL 為例):

version: "3"

services:
  halo:
    image: halohub/halo:2.9
    container_name: halo
    restart: on-failure:3
    network_mode: "host"
    volumes:
      - ./:/root/.halo2
    command:
      # 修改為自己已有的 MySQL 配置
      - --spring.r2dbc.url=r2dbc:pool:mysql://localhost:3306/halo
      - --spring.r2dbc.username=root
      - --spring.r2dbc.password=
      - --spring.sql.init.platform=mysql
      # 外部訪問地址,請根據(jù)實際需要修改
      - --halo.external-url=http://localhost:8090/
      # 端口號 默認8090
      - --server.port=8090

參數(shù)詳解:

參數(shù)名 描述
spring.r2dbc.url 數(shù)據(jù)庫連接地址,詳細可查閱下方的 數(shù)據(jù)庫配置
spring.r2dbc.username 數(shù)據(jù)庫用戶名
spring.r2dbc.password 數(shù)據(jù)庫密碼
spring.sql.init.platform 數(shù)據(jù)庫平臺名稱,支持 postgresql、mysql、h2
halo.external-url 外部訪問鏈接,如果需要在公網(wǎng)訪問,需要配置為實際訪問地址
halo.cache.page.disabled 是否禁用頁面緩存,默認為禁用,如需頁面緩存可以手動添加此配置,并設置為 false。 開啟緩存之后,在登錄的情況下不會經(jīng)過緩存,且默認一個小時會清理掉不活躍的緩存,也可以在 Console 儀表盤的快捷訪問中手動清理緩存。

數(shù)據(jù)庫配置:

鏈接方式 鏈接地址格式 spring.sql.init.platform
PostgreSQL r2dbc:pool:postgresql://{HOST}:{PORT}/{DATABASE} postgresql
MySQL r2dbc:pool:mysql://{HOST}:{PORT}/{DATABASE} mysql
MariaDB r2dbc:pool:mariadb://{HOST}:{PORT}/{DATABASE} mysql
H2 Database r2dbc:h2:file:///${halo.work-dir}/db/halo-next?MODE=MySQL&DB_CLOSE_ON_EXIT=FALSE h2

3、啟動 Halo 服務

docker-compose up -d

實時查看日志:

docker-compose logs -f

4、用瀏覽器訪問 /console 即可進入 Halo 管理頁面,首次啟動會進入初始化頁面。

提示:
如果需要配置域名訪問,建議先配置好反向代理以及域名解析再進行初始化。如果通過 http://ip:端口號 的形式無法訪問,請到服務器廠商后臺將運行的端口號添加到安全組,如果服務器使用了 Linux 面板,請檢查此 Linux 面板是否有還有安全組配置,需要同樣將端口號添加到安全組。

更新容器組

1、停止運行中的容器組

cd ~/halo && docker-compose down

2、備份數(shù)據(jù)(重要)

需要注意的是,halo.archive 文件名不一定要根據(jù)此文檔命名,這里僅僅是個示例。

cp -r ~/halo ~/halo.archive

3、更新 Halo 服務
修改 docker-compose.yaml 中配置的鏡像版本。

services:
  halo:
    image: halohub/halo:2.9
    container_name: halo
docker-compose pull halo
docker-compose up -d

反向代理

更多信息請訪問https://docs.halo.run/category/%E5%85%B6%E4%BB%96%E6%8C%87%E5%8D%97
Nginx
簡介
顧名思義,Nginx Proxy Manager 就是一個 Nginx 的代理管理器,它最大的特點是簡單方便。
即使是沒有 Nginx 基礎的小伙伴,也能輕松地用它來完成反向代理的操作,而且因為自帶面板,操作極其簡單,非常適合配合 docker 搭建的應用使用。
Nginx Proxy Manager 后臺還可以一鍵申請 SSL 證書,并且會自動續(xù)期,方便省心。

upstream halo {
  server 127.0.0.1:8090;
}
server {
  listen 80;
  listen [::]:80;
  server_name www.yourdomain.com;
  client_max_body_size 1024m;
  location / {
    proxy_pass http://halo;
    proxy_set_header HOST $host;
    proxy_set_header X-Forwarded-Proto $scheme;
    proxy_set_header X-Real-IP $remote_addr;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
  }
}

Caddy 2

www.yourdomain.com

encode gzip

reverse_proxy 127.0.0.1:8090

Traefik
Traefik 是一款開源的反向代理與負載均衡工具,它監(jiān)聽后端的變化并自動更新服務配置。
它與傳統(tǒng)反向代理最大的區(qū)別,是支持聲明式的動態(tài)路由規(guī)則,大大簡化網(wǎng)關規(guī)則的配置。而且還有諸多實用特性,例如:健康檢查、多實例負載均衡、能夠實現(xiàn) Let’s Encrypt 證書的自動簽發(fā)、驗證與續(xù)期等等。
更新 halo 容器組的配置
1、networks 中引入已存在的網(wǎng)絡 traefik(此網(wǎng)絡需要 提前創(chuàng)建)
2、services.halo.networks 中添加網(wǎng)絡 traefik
3、修改外部地址為你的域名
4、聲明路由規(guī)則、開啟 TLS

version: "3.8"

networks:
  traefik:
    external: true
  halo:

services:
  halo:
    image: halohub/halo:2.9
    container_name: halo
    restart: on-failure:3
    volumes:
      - ./:/root/.halo2
    networks:
      - traefik
      - halo
    command:
      # 外部訪問地址,請根據(jù)實際需要修改
      - --halo.external-url=https://yourdomain.com
    labels:
      traefik.enable: "true"
      traefik.docker.network: traefik
      traefik.http.routers.halo.rule: Host(`yourdomain.com`)
      traefik.http.routers.halo.tls: "true"
      traefik.http.routers.halo.tls.certresolver: myresolver
      traefik.http.services.halo.loadbalancer.server.port: 8090

Any limitation starts from your own heart.文章來源地址http://www.zghlxwxcb.cn/news/detail-696896.html

到了這里,關于強大易用的開源 建站工具Halo的文章就介紹完了。如果您還想了解更多內容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。如若轉載,請注明出處: 如若內容造成侵權/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經(jīng)查實,立即刪除!

領支付寶紅包贊助服務器費用

相關文章

  • czkawka-強大易用的重復文件查找和刪除工具

    czkawka-強大易用的重復文件查找和刪除工具

    Czkawka (tch?kav?ka (IPA: [???kafka]), “hiccup” in Polish) is a simple, fast and free app to remove unnecessary files from your computer. Multi functional app to find duplicates, empty folders, similar images etc. Features 使用內存安全的Rust語言編寫 超快,得益于一些高級算法和多線程技術 免費,開源,無廣告 多平臺

    2024年02月05日
    瀏覽(45)
  • YApi-高效、易用、功能強大的可視化接口管理平臺——(一)使用 Docker 本地部署

    YApi-高效、易用、功能強大的可視化接口管理平臺——(一)使用 Docker 本地部署

    本內容以虛擬機【系統(tǒng):Centos7】為例,云服務器步驟相同。使用Docker 的方式搭建 YApi,拉取 MongoDB 鏡像和 YApi 鏡像即可。 安裝 yum 包更新到最新: 安裝需要的軟件包,yum-util 提供 yum-config-manager 功能,另外兩個是 devicemapper 驅動依賴: 設置 yum 源為阿里云: 安裝 Docker 社區(qū)版

    2024年02月13日
    瀏覽(25)
  • Lattics:一款簡單易用、好看強大的「類腦式」知識管理工具,筆記應用與寫作軟件二合一

    隨著數(shù)字化時代的到來,越來越多的人意識到 知識管理 的重要性。筆記軟件和寫作軟件作為一種常用的知識管理工具,一直以來備受關注。從最早的印象筆記、有道云、為知筆記、幕布mubu到近幾年的思源 Siyuan、熊掌記 Bear、flomo浮墨筆記、石墨、語雀yueque、WPS、Notion、Flow

    2024年02月03日
    瀏覽(21)
  • 【打工日?!吭圃褂肈ocker部署開源云筆記工具Leanote

    1.Leanote簡介 Leanote 螞蟻筆記是一款國產(chǎn)開源的私有云筆記工具。它支持普通格式筆記、Markdown語法、專業(yè)數(shù)學公式編輯、和思維導圖,并且支持vimemacs等編輯模式。 2.Leanote功能 擁有Markdown 語法支持、無干擾寫作模式、Vim和Emacs編輯模式、將筆記導出為 PDF、可批注操作,具備可

    2024年04月28日
    瀏覽(20)
  • 開源Cillium項目為容器提供強大的網(wǎng)絡功能

    開源Cillium項目為容器提供強大的網(wǎng)絡功能

    試驗性的開源Cillium項目使用Linux內核的一項現(xiàn)有特性,為容器提供高速、強大的網(wǎng)絡功能。一項名為Cilium的開源項目試圖基于Linux內核中所用的技術,為容器提供一種新的網(wǎng)絡方法。 試驗性的開源Cillium項目使用Linux內核的一項現(xiàn)有特性,為容器提供高速、強大的網(wǎng)絡功能。

    2024年02月13日
    瀏覽(27)
  • 哪吒監(jiān)控:開源、輕量、易用的服務器監(jiān)控、運維工具(內附主題美化代碼)

    哪吒監(jiān)控:開源、輕量、易用的服務器監(jiān)控、運維工具(內附主題美化代碼)

    哪吒監(jiān)控是一款開源、輕量、易用的服務器監(jiān)控、運維工具,為用戶提供了一系列強大的功能和便捷的操作方式。 一鍵安裝:支持一鍵腳本安裝面板和監(jiān)控服務,適用于Linux、Windows、MacOS、OpenWRT等主流系統(tǒng),讓您輕松上手。 實時監(jiān)控:能夠同時監(jiān)控多個服務器的系統(tǒng)狀態(tài),

    2024年03月10日
    瀏覽(23)
  • 13款強大的開源API測試工具,不容錯過!_開源api調試工具

    13款強大的開源API測試工具,不容錯過!_開源api調試工具

    Apickli是一個基于Cucumber的開源REST API集成測試框架。它提供了一個Gherkin框架和一系列實用函數(shù),使API測試變得簡單且耗時更少。Apickli也可以作為NPM包提供。 網(wǎng)站:https://github.com/apickli/apickli 4. Dredd Dredd是一種與語言無關的命令行工具,用于根據(jù)API的后端實現(xiàn)來驗證API描述文檔

    2024年04月25日
    瀏覽(28)
  • 介紹一個強大的免費開源.net反編譯工具

    介紹一個強大的免費開源.net反編譯工具

    dnSpy 是一個用C#開發(fā),開源的調試器和.NET 匯編編輯器。 即使您沒有任何可用的源代碼,也可以使用它來編輯和調試程序,并可以把代碼導出成.net工程。

    2024年01月17日
    瀏覽(22)
  • 強大易用!新一代爬蟲利器 Playwright 的介紹

    強大易用!新一代爬蟲利器 Playwright 的介紹

    Playwright 是微軟在 2020 年初開源的新一代自動化測試工具,它的功能類似于 Selenium、Pyppeteer 等,都可以驅動瀏覽器進行各種自動化操作。它的功能也非常強大,對市面上的主流瀏覽器都提供了支持,API 功能簡潔又強大。雖然誕生比較晚,但是現(xiàn)在發(fā)展得非?;馃帷?因為 Pla

    2024年04月12日
    瀏覽(53)
  • 開源且強大的網(wǎng)絡嗅探分析工具——Wireshark

    開源且強大的網(wǎng)絡嗅探分析工具——Wireshark

    Wireshark是一款強大的開源網(wǎng)絡協(xié)議分析工具,旨在幫助用戶深入了解網(wǎng)絡通信的細節(jié)。通過捕獲、解析和展示網(wǎng)絡數(shù)據(jù)包,Wireshark能夠幫助工程師診斷問題、優(yōu)化性能,以及解決各種網(wǎng)絡難題。無論是深入分析還是快速調試,Wireshark都是不可或缺的工具之一。 安裝和啟動 你

    2024年02月10日
    瀏覽(35)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領取紅包,優(yōu)惠每天領

二維碼1

領取紅包

二維碼2

領紅包