『亞馬遜云科技產品測評』活動征文|通過Lightsail搭建個人筆記

提示:授權聲明:本篇文章授權活動官方亞馬遜云科技文章轉發、改寫權,包括不限于在 Developer Centre, 知乎,自媒體平臺,第三方開發者媒體等亞馬遜云科技官方渠道

在這里插入圖片描述

文章目錄

  • 前言
  • 實踐知識儲備
  • Lightsail介紹
  • Leanote介紹
  • 實踐流程
  • 一、啟動Lightsail實例
  • 二、開放Lightsail安全組
  • 三、下載 `leanote` 二進制版
  • 四、安裝 `mongodb`
    • 4.1 測試`mongodb`安裝
  • 五、導入初始數據
    • 六、配置`leanote`
    • 七、運行`leanote`
  • 總結
  • 部署常見問題
    • 1. no reachable server
    • 2. 修改Leanote運行端口
    • 3. 配置Nginx


前言

作為一個程序員,編寫文檔成為日常生活中必不可少的一件事情,有些是公司內部的文檔資料,還有是希望寫一些自己的學習筆記,我在撰寫筆記的時候就發現那些筆記平臺都漸漸走向付費模式了,圖片上傳要付費,同步也要付費,新增的功能更不必說,其實我只是想寫個筆記而已,我一直在想能不能做一個自己的筆記平臺。然后最近在開源社區發現了 Leanote,這是包含富文本編輯器和Markdown編輯器開源筆記系統,只要我們有自己的服務器就能搭建,可以把筆記和圖片都放到自己的服務器,同時保障了隱私也避免了被筆記平臺限制。剛好最近也注冊了AWS,免費領取了12個月EC2和3個月Lightsail使用時間,于是我就把系統搭建在了 AWSLightsail 實例上,大家感興趣的可以跟著我一起搭建!


提示:以下是本篇文章正文內容,下面案例可供參考

實踐知識儲備

在我們進行實踐的時候,我們需要對AWSLightsail有一定了解,需要了解一些Linux的基本操作,如包管理、SSH連接等,因為筆記需要存儲到數據庫系統,所以你還需要了解一些關于MongoDB的基本操作

Lightsail介紹

AWS Lightsail是一項非常棒的云計算服務,可以幫助個人和小型企業快速啟動和管理他們的應用程序和網站。

它提供了一種簡單而強大的方式來啟動虛擬服務器,并且我們可以選擇多種不同的應用程序模板,比如WordPressGhost等,在幾分鐘內就能搭建起一個完整的網站。而且,AWS Lightsail還提供了一個直觀的用戶界面,讓我們可以輕松管理服務器和網絡設置。可以根據自己的需求選擇不同的實例規格和存儲選項,以及自動擴展功能來應對流量增長。

AWS Lightsail還具備出色的可靠性和安全性。它使用AWS云基礎設施作為后盾,這意味著我們可以放心地將數據存儲在高度安全的環境中,并且直接獲得到可靠的性能和穩定性。

對于那些對成本敏感的朋友來說,AWS Lightsail也是一個不錯的選擇。它提供了靈活的計費模型,我們只需支付實際使用的資源,沒有任何隱藏費用。而且,AWS Lightsail與其他AWS服務集成得非常方便快捷。

大家可以通過官網了解:https://aws.amazon.com/cn/lightsail/?nc2=h_ql_prod_fs_ls

在這里插入圖片描述

Leanote介紹

介紹引用自官方開源文檔

Leanote 是一個高效筆記開源系統,Leanote 有易操作的界面, 包含一款富文本編輯器和Markdown編輯器,讓我們的筆記記錄更輕松和高效。對高階用戶,還提供VimEmacs 編輯模式,助推寫作速度更上層樓。

  • 知識管理: Leanote 靈活而強大的“筆記本-筆記-標簽”系統,讓它成為你個人知識管理的利器。
  • 分享: 你可以通過Leanote同好友分享知識、想法和經歷, 邀請好友加入你的筆記簿,通過云端交流信息。
  • 協作: Leanote協助你與同事之間相互協作,激蕩新思路,隨時隨地頭腦風暴。
  • 博客: Leanote也可以作為你的個人博客, 把你的知識傳播的更遠!

其它特性

  • 支持Markdown編輯
  • 寫作模式
  • VimEmacs 編輯模式
  • 支持PDF導出
  • 支持批量操作
  • 博客自定義主題, 實現高度定制化

一套完整的、全平臺覆蓋的軟件套裝,包括了web、桌面、安卓、IOS設備,而且全部開源!支持團隊協同,企業級私有云部署。

  • 官方文檔:https://leanote.com/

實踐流程

  1. 啟動Lightsail實例
  2. 開放Lightsail安全組
  3. 下載 leanote 二進制版。
  4. 安裝 mongodb
  5. 導入初始數據。
  6. 配置 leanote
  7. 運行 leanote

一、啟動Lightsail實例

從首頁進入控制臺后,在搜索框輸入:Lightsail,進入Lightsail控制臺

在這里插入圖片描述
進入到 instance 列表頁后,我們會看到右上角有一個 Create instance,點擊進入開始創建實例

在這里插入圖片描述

根據我們擅長的系統進行選擇,這里我們的環境是:

  • 平臺:Linux
  • 系統:Ubuntu20.04LTS

在這里插入圖片描述
選擇套餐3,2GB 2CPU

滑到最下點擊 Create instance 就可以開始創建實例,創建完成后返回列表頁就可以看到我們的實例了

在這里插入圖片描述

二、開放Lightsail安全組

為了保證筆記搭建起來能被公網訪問,我們需要對防火墻進行開放,默認 Lightsail 是只開放了 8022 端口的

點擊實例,然后點擊 Networking

在這里插入圖片描述
我們會看到有一個 IPv4 Firewall,是用來配置流量進出的,這里我們添加一個規則 Add rule,選擇 All TCP ,點擊 Create 即可,這樣就把我們所有的流量開放了,但是在生產環境不建議咱們這么做,還是需要對每個服務需要開放的端口進行控制,而不是全部放開。

三、下載 leanote 二進制版

配置好Lightsail后,我們就可以對 leanote 進行部署了,我們需要先下載我們需要部署的應用代碼,可以從這里下載 leanote 最新二進制版。

這里我們安裝一個 v2.6.1 的最新版:

wget http://sourceforge.net/projects/leanote-bin/files/2.6.1/leanote-linux-amd64-v2.6.1.bin.tar.gz
tar -xzvf leanote-linux-amd64-v2.6.1.bin.tar.gz 

在這里插入圖片描述

代碼下載好后,因為運行起來還需要環境依賴,所以我們先接著往下進行配置

四、安裝 mongodb

到 mongodb 官網 下載相應系統的最新版安裝包,或者從以下鏈接下載舊版本:

  • 64位 linux mongodb 5.0.22 下載鏈接: https://repo.mongodb.org/apt/ubuntu/dists/focal/mongodb-org/5.0/multiverse/binary-amd64/mongodb-org-server_5.0.22_amd64.deb
    在這里插入圖片描述
  • 下載下來是一個 deb:
wget https://repo.mongodb.org/apt/ubuntu/dists/focal/mongodb-org/5.0/multiverse/binary-amd64/mongodb-org-server_5.0.22_amd64.deb
  • 通過 dpkg安裝
dpkg -i mongodb-org-server_5.0.22_amd64.deb

4.1 測試mongodb安裝

  • 先在/home/root下新建一個目錄data存放mongodb數據:
mkdir /root/data
  • 用以下命令安裝客戶端啟動mongod 測試:
# 需要先安裝客戶端
apt update
apt install mongodb-clients
mongod --dbpath /root/data

在這里插入圖片描述

這時mongod已經啟動,重新打開一個終端, 鍵入mongo進入交互程序:

mongo
> show dbs
...數據庫列表

mongodb安裝到此為止, 下面為mongodb導入leanote初始數據。


五、導入初始數據

leanote 初始數據存放在 /root/leanote/mongodb_backup/leanote_install_data中。

  • 打開終端, 輸入以下命令導入數據。
mongorestore -h localhost -d leanote --dir /root/leanote/mongodb_backup/leanote_install_data/

這里大家可能會出現: Command 'mongorestore' not found, but can be installed with ,我們需要先安裝一下 mongo-tools,然后再重新運行導入數據

apt update
apt install mongo-tools
#重新導入數據
mongorestore -h localhost -d leanote --dir /root/leanote/mongodb_backup/leanote_install_data/

在這里插入圖片描述

看到 done ,即表示完成了,現在在mongodb中已經新建了leanote數據庫, 可用命令查看下leanote有多少張"表":

# 通過client連接
mongo# 查看數據庫
show dbs admin    0.000GB
config   0.000GB
leanote  0.002GB
local    0.000GB# 切換到leanote數據庫
use leanote# 查看表
show collections 
album
sattachs
blog_comments
blog_likes
blog_singles
configs
email_logs
....

在這里插入圖片描述

初始數據的users表中已有2個用戶:

  • 賬號:admin, 密碼: abc123 (管理員, 只有該用戶才有權管理后臺, 請及時修改密碼)
  • 賬號:demo@leanote.com, 密碼: demo@leanote.com (僅供體驗使用)

六、配置leanote

leanote的配置存儲在文件 conf/app.conf 中。我們需要修改配置中的app.secret,這是一個密鑰,不能用默認的, 否則會有安全隱患!我這里隨便把他改成了一個字符

在這里插入圖片描述

其他配置可以暫時不修改


七、運行leanote

注意: 在此之前請確保mongodb已在運行!

  • 執行以下命令:
cd /root/leanote/bin
bash run.sh

最后出現以下信息證明運行成功:

...
DEBUG 06:04:21  revel controller.go:523: RegisterController:Registered controller  section=controller controller=App\\memberuser
DEBUG 06:04:21  revel server.go:106: InitServerEngine: Found server engine and invoking  section=server name=go 
Listening on.. 0.0.0.0:9000

在這里插入圖片描述

恭喜你, 打開瀏覽器輸入: http://localhost:9000 體驗leanote吧!效果如下:

在這里插入圖片描述
我們使用管理員賬號登錄一下:

  • 賬號:admin, 密碼: abc123

在這里插入圖片描述

總結

實踐到這里就已經是成功基于AWS Lightsail部署Leanote,并且實現了筆記的私有化。通過利用AWS Lightsail提供了簡單而強大的云計算服務,讓我們在幾分鐘內輕松搭建起Leanote實例。而且Leanote是一個開源的筆記應用程序,我可以完全控制我的筆記數據,數據存儲也在高度安全的AWS云環境中,我再也不用擔心隱私問題了。

AWS Lightsail 特別適合個人開發者進行快速測試和驗證想法,可以讓我們在幾分鐘內啟動一個完整的應用程序。這大大加快了開發周期,能夠迅速構建原型、測試功能和驗證概念。AWS Lightsail 還提供了直觀的用戶界面和簡化的管理工具,我們可以輕松管理他們的應用程序和服務器設置。通過幾個簡單的步驟啟動、監控和擴展應用程序,而無需深入了解復雜的云基礎設施。

部署常見問題

1. no reachable server

請確保數據庫是否啟動, 如果確定已啟動 可以 嘗試將 conf/app.conf db.host=localhost 改為 db.host=127.0.0.1

修改后請重新啟動Leanote.

2. 修改Leanote運行端口

比如想以8080端口啟動.

修改conf/app.conf:

http.port=8080
site.url=http://localhost:8080

請重啟Leanote, 使用http://localhost:8080訪問.

3. 配置Nginx

假設Leanote運行的端口是9000, 域名為a.com, 那么nginx.conf可以配置如下:

# 本配置只有http部分, 不全
http {include       /etc/nginx/mime.types;default_type  application/octet-stream;upstream  a.com  {server   localhost:9000;}# httpserver{listen  80;server_name  a.com;# 強制https# 如果不需要, 請注釋這一行rewriterewrite ^/(.*) https://jp_linode2.com/$1 permanent;location / {proxy_pass        http://a.com;proxy_set_header   Host             $host;proxy_set_header   X-Real-IP        $remote_addr;proxy_set_header   X-Forwarded-For  $proxy_add_x_forwarded_for;}}# httpsserver{listen  443 ssl;server_name  a.com;ssl_certificate     /root/a.com.crt; # 修改路徑, 到a.com.crt, 下同ssl_certificate_key /root/a.com.key;location / {proxy_pass        http://a.com;proxy_set_header   Host             $host;proxy_set_header   X-Real-IP        $remote_addr;proxy_set_header   X-Forwarded-For  $proxy_add_x_forwarded_for;}}
}

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/165533.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/165533.shtml
英文地址,請注明出處:http://en.pswp.cn/news/165533.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

系統架構設計: 21 論敏捷軟件開發方法及其應用

論敏捷軟件開發方法及其應用 請圍繞“敏捷軟件開發方法及其應用”論題,依次從以下三個方面進行論述。 ①簡述你所參與開發的運用了敏捷技術的項目,以及你所擔任的工作; ②分析并討論敏捷<

VSCode插件koroFileHeader的使用。

文章目錄 前言一、koroFileHeader是什么&#xff1f;二、使用步驟1.安裝1.配置2.食用 前言 今天的天氣還不錯&#xff0c;真是金風玉露一相逢&#xff0c;便勝卻人間無數&#xff0c;寫篇博客玩玩&#xff0c;主題&#xff1a;注釋。注釋的本質就是對代碼的解釋和說明&#xf…

nginx 配置靜態緩存全教程 (以及靜態緩存文件沒有生成)

一、第一步定義一個緩存目錄設置目錄結構 在 http 模塊下定義(keys_zone 緩存區名&#xff1a;后面是緩存區大小 inactive 不活躍的文件多久清理 max_size 緩存區所占磁盤的上限 use_temp_path 默認關閉&#xff08;有需要自己百度&#xff09;) proxy_cache_path /path/your…

16 Go的反射

概述 在上一節的內容中&#xff0c;我們介紹了Go的并發&#xff0c;包括&#xff1a;Goroutines、Channels、WaitGroups、Mutex、Select等。在本節中&#xff0c;我們將介紹Go的反射。Go語言中的反射是一種在運行時檢查類型信息并操作對象的能力&#xff0c;通過反射&#xff0…

STM32_6(TIM)

TIM定時器&#xff08;第一部分&#xff09; TIM&#xff08;Timer&#xff09;定時器定時器可以對輸入的時鐘進行計數&#xff0c;并在計數值達到設定值時觸發中斷16位計數器、預分頻器、自動重裝寄存器的時基單元&#xff0c;在72MHz計數時鐘下可以實現最大59.65s的定時不僅…

在游戲開發中,實時渲染和離線渲染對于游戲平衡的影響有哪些?

實時渲染和離線渲染對游戲平衡有那些影響呢&#xff1f;在游戲開發中&#xff0c;渲染方式的選擇對游戲的整體表現和玩家體驗有著至關重要的作用。那么&#xff0c;實時渲染和離線渲染究竟有哪些利弊呢&#xff1f; 一、實時渲染 實時渲染&#xff0c;顧名思義&#xff0c;是…

Ubuntu 1.84.2Visual Studio Code 下載配置與vscode查看內存Hex Editor插件,簡單易懂

目錄 前言 一 首先我為啥要重裝Vs Code呢&#xff1f; 二 下載1.84.2Visual Studio Code 三 配置Vscode終端字體 四 安裝插件 前言 這是一篇將老版本的VsCode下載至最新版的博文&#xff0c;從下載到調試全篇 一 首先我為啥要重裝Vs Code呢&#xff1f; 因為我想安裝這個…

網絡安全深入學習第九課——本機信息收集

文章目錄 一、Windows基本信息收集1、查看當前權限2、查看指定用戶的詳細信息3、查看用戶SID4、查看網卡配置5、查看服務器版本\補丁等6、查看系統架構7、查看安裝的軟件及版本8、查看本機服務信息9、查詢進程信息和列表10、查看啟動程序信息11、查看計劃任務12、查看主機開機時…

1、postman的安裝及使用

一、安裝、登錄 1.安裝 下載地址 2.注冊登錄&#xff08;保存云服務進度&#xff09; 二、界面介紹 三、執行接口測試頁面 請求頁簽&#xff1a; 1、params&#xff1a;當是get請求時&#xff0c;通過params傳參 2、authorization&#xff1a;鑒權 3、headers&#xff1…

大數據-之LibrA數據庫系統告警處理(ALM-37000 MPPDBServer數據目錄或Redo目錄缺失)

告警解釋 當出現如下情況時&#xff0c;產生該告警&#xff1a; 數據實例數據目錄被刪除。數據實例Redo目錄&#xff08;pg_xlog&#xff09;被刪除。 告警屬性 告警ID 告警級別 可自動清除 37000 嚴重 是 告警參數 參數名稱 參數含義 ServiceName 產生告警的服務…

OTP語音芯片WTN6系列:多樣化選擇,滿足各種產品應用需求

隨著科技的快速發展&#xff0c;語音芯片已經成為了智能產品中不可或缺的核心組件。在這個領域中&#xff0c;唯創知音OTP語音芯片WTN6系列以其出色的性能和多樣化的選擇&#xff0c;贏得了廣大開發者的青睞。本文將詳細介紹WTN6系列的幾個重要型號及其特點&#xff0c;并為讀者…

idea 26 個天花板技巧

1、 查看代碼歷史版本&#xff1b;2、 調整idea的虛擬內存&#xff1a;&#xff1b;3、 idea設置成eclipse的快捷鍵&#xff1b;4、 設置提示詞忽略大小寫&#xff1b;5、 關閉代碼檢查&#xff1b;6、 設置文檔注釋模板&#xff1b;7、 顯示方法分隔符&#xff1b;8、 設置多行…

DAOS低時延與高性能RDMA網絡

什么是RDMA RDMA&#xff08;Remote Direct Memory Access&#xff09;遠程直接內存訪問是一種技術&#xff0c;它使兩臺聯網的計算機能夠在主內存中交換數據&#xff0c;而無需依賴任何一臺計算機的處理器、緩存或操作系統。與基于本地的直接內存訪問 ( DMA ) 一樣&#xff0c…

C++ Qt屬性Property使用介紹

文章目錄 C++ 普通類使用Qt屬性Qt窗口類使用屬性自定義控件使用屬性在 Qt 中,屬性(Property)系統提供了一種機制來定義對象的屬性。這些屬性可以在運行時動態地查詢和修改,而且可以通過設計師工具進行可視化編輯。Qt 屬性系統還支持屬性綁定、動畫和其他高級特性。 屬性在…

DFS連通塊問題

DFS連通塊問題 只要是位置的上下左右都有 ‘1’ 的就是同一塊連通塊 一般題目類型有&#xff1a; 連通塊中數量最多的連通塊聯通塊的數量 110010000011111110101001001001101010111011011011101001111110 010000000001010001101100000010010110001111100010101100011110 00…

5-linux-用戶操作、su和sudo、普通權限、特殊權限、解壓壓縮、軟件管理(rpm和yum)、源碼安裝nginx、系統服務、進程管理

1 用戶操作 2 su和sudo 3 普通權限 4 特殊權限 5 解壓壓縮 6 軟件管理&#xff0c;rpm和yum 6.1 rpm 6.2 yum 7 源碼安裝nginx 8 系統服務 9 進程管理 1 用戶操作 ####創建用戶####1 創建sa和sutdents組 groupadd sa groupadd students # 2 用戶可以屬于多個組&#xff0c;只…

03-詳細介紹Stream及其常用API

Stream API Stream API(java.util.stream)把真正的函數式編程風格引入到Java中,可以極大地提高程序員生產力&#xff0c;讓程序員寫出高效、簡潔的代碼 實際開發中項目中多數數據源都是來自MySQL、Oracle等關系型數據庫,還有部分來自MongDB、Redis等非關系型數據庫 從關系型…

1.測試基礎

目錄 一、測試基礎 1.軟件測試中基礎信息定義 2.測試主流技能 3.常見的測試分類 3.1按階段劃分 3.2按代碼可見度劃分 3.3其他 4.測試模型 5.測試流程 6.測試用例 二、用例設計方法 2.1等價類 2.2 邊界值 2.3判定表法 2.4場景法 2.5錯誤推測法 三、缺陷管理 1…

文章解讀與仿真程序復現思路——電力系統自動化EI\CSCD\北大核心《交直流配電網中柔性軟開關接入的規劃-運行協同優化方法》

這個標題涉及到交直流配電網中柔性軟開關接入的規劃-運行協同優化方法。下面是對這個標題各部分的詳細解讀&#xff1a; 交直流配電網&#xff1a; 這指的是一個電力系統&#xff0c;同時包含交流和直流電力傳輸的元素。這樣的系統可能結合了傳統的交流電力傳輸和近年來興起的直…

python中一個文件(A.py)怎么調用另一個文件(B.py)中定義的類AA詳解和示例

本文主要講解python文件中怎么調用另外一個py文件中定義的類&#xff0c;將通過代碼和示例解讀&#xff0c;幫助大家理解和使用。 目錄 代碼B.pyA.py 調用過程 代碼 B.py 如在文件B.py,定義了類別Bottleneck&#xff0c;其包含卷積層、正則化和激活函數層&#xff0c;主要對…