日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

docker+nginx搭建私有云笔记leanote

發布時間:2024/3/12 编程问答 37 豆豆
生活随笔 收集整理的這篇文章主要介紹了 docker+nginx搭建私有云笔记leanote 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

前提條件,部署docker;部署docker-compose

下載leanote源碼

從github下載leanote源碼

國內訪問不到github的,可以下載我上傳的文件,在資源庫中,還有相關的主題

開始部署

解壓源文件unzip leanote-master.zip
部署mongo服務,我還是傾向于使用docker管理,不知道怎么使用docker部署mongo的可以參看我其他的博客,有專門的介紹。這里也可以使用官方的部署mongo的方法
不管于傾向于哪種方式,能有一個可以訪問的mongoDB數據庫可以使用就好了

部署MongoDB

方式一:使用官網方法部署

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

  • 64位 linux mongodb 3.0.1 下載鏈接: 64位 linux mongodb 3.0.1 下載鏈接: https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-3.0.1.tgz

下載到 /home/user1下, 直接解壓即可:

$> cd /home/user1 $> tar -xzvf mongodb-linux-x86_64-3.0.1.tgz/

為了快速使用mongodb命令, 可以配置環境變量。編輯~/.profile或/etc/profile 文件, 將mongodb/bin路徑加入即可:

$> sudo vim /etc/profile

在/etc/profile中添加以下行,注意把用戶名(user1)和相應的文件目錄名(mongodb-linux-x86_64-3.0.1)替換成自己系統中的名稱

export PATH=$PATH:/home/user1/mongodb-linux-x86_64-3.0.1/bin

保存修改后,在終端運行以下命令使環境變量生效:

$> source /etc/profile

測試mongoDb的安裝

先在/home/user1下新建一個目錄data存放mongodb數據:
mkdir /home/user1/data
用以下命令啟動mongod:
mongod --dbpath /home/user1/data
這時mongod已經啟動,重新打開一個終端, 鍵入mongo進入交互程序:

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

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

導入初始數據

導入之前 如果存在leanote數據庫,先將其刪除
leanote初始數據存放在解壓出來的源碼leanote/mongodb_backup/leanote_install_data中。
打開終端, 輸入以下命令導入數據。
mongorestore -h localhost -d leanote --dir /home/user1/leanote/mongodb_backup/leanote_install_data/
現在在mongodb中已經新建了leanote數據庫, 可用命令查看下leanote有多少張"表":

$> mongo > show dbs # 查看數據庫 leanote 0.203125GB local 0.078125GB > use leanote # 切換到leanote switched to db leanote > show collections # 查看表 files has_share_notes note_content_histories note_contents ....

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

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

方式二:使用docker一鍵部署mongo

docker-compost.yml文件

version: "2"services:mongo:image: mongo:3.2.4container_name: mongo# command: mongod --authmem_limit: 1grestart: alwaysports:- "7017:27017/tcp"volumes:- /etc/localtime:/etc/localtime- $PWD/data/db:/data/db

執行命令docker-compose up -d
docker ps 正常有mongo的容器,就表示Mongo創建成功
將源碼的 mongodb_backup/leanote_install_data文件壓包
tar -zcvf leanote_install_data.tar.gz ./leanote_install_data
復制到容器
docker cp leanote_install_data.tar.gz mongo:/ 將mongo文件復制到mongo容器的根目錄
進入容器
docker exec -it mongo bash
tar -zxvf leanote_install_data.tar.gz
還原leanote數據庫
mongorestore -h localhost -d leanote --dir ./leanote_install_data/

可以查看到數據庫中默認給我們創建了兩個用戶,一個訪客,一個admin
admin的郵箱這里初始化時,時默認的郵箱,且在UI上修改不了,這里順便把admin的郵箱修改一下,后面方便進行郵箱驗證,郵箱密碼找回
db.users.update({"Username" : "admin"},{$set: { "Email" : "3xxx@qq.com"}})

部署leanote

創建leanote文件夾

  • 將leanote compose文件復制到leanote下面
  • 將leanote源碼包的 conf 文件夾 拷貝到leanote下面
    • 修改 app.conf,配置mongodb的鏈接地址,site.url的地址(注意這里必須要是外網可訪問的地址,是用來給系統上傳文件,圖片等使用的,用戶頭像,每次訪問的是該地址)
    • 把app.secret=后面的代碼修改其中一部分,官方提示,不修改,可能會有安全隱患
  • 將leanote源碼包的public 拷貝到leanote/data/下面并在data目錄下創建files文件夾,用來存放pdf文件

leanote 的 docker-compose文件

version: '2' services:leanote:image: foolishflyfox/leanote:latestrestart: alwaysuser: rootmem_limit: 1gnetwork_mode: "host"container_name: leanoteports:- "5001:9000"volumes:- ./data/public:/leanote/public- ./data:/leanote/data- ./conf/app.conf:/leanote/conf/app.conf- /etc/localtime:/etc/localtime

目錄結構如下:

執行docker-compose up -d
docker ps 看到leanote容器創建,表示啟動成功
docker logs -f leanote 查看日志
出現監聽端口即表示啟動成功

DEBUG 12:41:28 revel server.go:106: InitServerEngine: Found server engine and invoking section=server name=go Listening on.. 0.0.0.0:9000

訪問云筆記系統,發現沒有樣式,查看docker里的public目錄,發現沒有把宿主機的靜態文件掛載到容器里,是我之前的掛載配置有問題,修改docker-compose文件的掛載路徑,即可。
瀏覽器直接訪問ip:端口
默認admin賬號的密碼abc123登錄后盡快修改密碼

這里已經可以訪問系統了,如果端口用nginx反向代理一下也是可以的,那么就使用nginx的監聽端口進行訪問

nginx配置<如有需要可以進行配置>

nginx.conf文件樣例

#user nobody; worker_processes 1;#error_log logs/error.log; #error_log logs/error.log notice; #error_log logs/error.log info;#pid logs/nginx.pid;events {worker_connections 10240; } http {include mime.types;default_type application/octet-stream;log_format main '$remote_addr - $remote_user [$time_local] "$request" ''$status $body_bytes_sent "$http_referer" ''"$http_user_agent" "$http_x_forwarded_for"';log_format json '{"time_iso8601":"$time_iso8601",''"host":"$host",''"uri":"$uri",''"connection":$connection,''"connection_requests":$connection_requests,''"server_addr":"$server_addr",''"server_port":$server_port,''"remote_addr":"$remote_addr",''"remote_user":"$remote_user",''"http_x_user":"$http_x_user",''"http_x_forwarded_for":"$http_x_forwarded_for",''"http_user_agent":"$http_user_agent",''"http_referer":"$http_referer",''"body_bytes_sent":$body_bytes_sent,''"request":"$request",''"request_uri":"$request_uri",''"request_length":$request_length,''"request_time":$request_time,''"request_method":"$request_method",''"upstream_connect_time":"$upstream_connect_time",''"upstream_header_time":"$upstream_header_time",''"upstream_response_time":"$upstream_response_time",''"upstream_addr":"$upstream_addr",''"status":$status}';access_log logs/access.log main;sendfile on;#tcp_nopush on;#keepalive_timeout 0;keepalive_timeout 65;#gzip on;upstream leanote9000{server 127.0.0.1:5001;}server {listen 9001;server_name localhost;client_max_body_size 10M;root /root/app/compose/leanote/data/public;location / {proxy_read_timeout 600;proxy_pass http://leanote9000;#root html;#index index.html index.htm;proxy_set_header Host $host:$server_port;proxy_set_header X-Real-IP $remote_addr;proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;proxy_http_version 1.1;proxy_set_header Upgrade $http_upgrade;proxy_set_header Connection "";}location ~ (/index.html|/html/loginPage.html|/css/wms/|/js/wms/|/images/packing/|/asset/media/audio/|/images/prod-logo.png|/images/prod-logo.svg|/images/wms/widgets/|/assets/media/audio/|/images/wms/returnReceipt/|/css/font-awesome-5.15.4/) {root /root/app/compose/leanote/data/public/;} } }

leanot系統的相關設置

配置發件箱

點擊用戶頭像進入后臺管理

修改admin密碼

修改頭像,這時候,就會用到 app.conf 里 site.url 的參數
驗證郵箱,用到之前修改mongoDB中admin的郵箱,和上面配置的發件箱信息
修改admin密碼,切記一定要把默認密碼修改掉

還有一些到處路徑什么的,大家就看著設置就好,不設置,就是默認路徑了。
好了這就是今天的分享,整理博客花了3小時,珍惜,珍惜

總結

以上是生活随笔為你收集整理的docker+nginx搭建私有云笔记leanote的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 日韩成人久久 | 国产免费一区二区三区视频 | 九九热色 | 国产午夜精品久久久 | 国产av无码国产av毛片 | 亚洲av毛片一区二二区三三区 | 成人一二三区 | 亚洲成人精品一区二区 | 少妇大叫太粗太大爽一区二区 | 57pao国产成永久免费视频 | 韩日视频在线观看 | 中文字幕在线视频精品 | 亚洲视屏在线观看 | 精品视频在线观看一区 | 色婷婷yy | 亚洲第九十九页 | 1000部国产精品成人观看 | 黄色av网站免费 | 在线国产观看 | 日av中文字幕 | 中文字幕一区二区三区在线播放 | 亚洲精品入口 | 美女扒开腿让男人操 | 丁香久久综合 | 手机版av | 可以免费看黄的网站 | 亚洲高清在线一区 | 国产第一页第二页 | 亚洲精品一区二区三区四区五区 | 99re在线 | 精品久 | 日本黄色片视频 | 粗大的内捧猛烈进出视频 | 国产黄色一区二区三区 | 你懂的欧美 | 日本高清不卡在线观看 | 欧美肥老妇视频九色 | 黄色高清免费 | 中文字幕制服丝袜 | 波多野结衣电车痴汉 | 欧美日韩一 | 成人一区二区三区在线观看 | 白嫩初高中害羞小美女 | 成人福利社 | 青青视频免费 | 伊人青青草原 | 亚洲福利社 | 美女扒开内裤让男人捅 | a级片在线免费观看 | 国产成人精品无码免费看81 | 国产原创中文av | 狠狠爱av| 久久55 | 性久久久久久久久久久 | 一级黄色片欧美 | 18禁肉肉无遮挡无码网站 | 国精产品一区一区三区有限公司杨 | 女生扒开尿口 | 国产a黄 | 国产第113页 | 午夜资源| 爱爱视频网址 | 神马久久香蕉 | 91视频麻豆| 欧美日韩精品一二三区 | 久久久www免费人成人片 | av资源网址 | 欧美人妻精品一区二区免费看 | 九月激情网 | av噜噜 | 美日韩成人av | 亚洲a图 | 高清av免费观看 | 五月天中文字幕av | 欧美激情精品久久 | 国产又粗又猛 | 奇米网狠狠干 | 亚洲视频123 | 黄色网在线看 | 欧美久操 | 精品国产一区二区三区久久狼黑人 | 中文字幕在线观看亚洲 | 91成年人视频 | 福利视频二区 | 一级黄色大片视频 | 公交顶臀绿裙妇女配视频 | 99re中文字幕 | xxxx国产精品 | 亚洲第一黄网 | 国产免费观看久久黄av片 | 91免费短视频 | 日韩人妻无码一区二区三区99 | 99热在线观看免费 | 成人精品视频99在线观看免费 | 善良的女朋友在线观看 | 欧美久久一级 | 自拍 偷拍 欧美 | 国产有码在线 | 成人性色生活片 |