Ubuntu下部署leanote

隨著自己碼農(nóng)生涯的深入,知識(shí)的不斷積累注祖,高效并且穩(wěn)妥地管理自己的知識(shí)變得非常急迫猾蒂,在各種公眾筆記里面找了一大圈,發(fā)現(xiàn)并沒有什么特別合適的(不是太貴就是有廣告)是晨,偶然間發(fā)現(xiàn)leanote婚夫,而且還是喜聞樂見的開源產(chǎn)物,正好自己在騰訊云買的學(xué)生優(yōu)惠服務(wù)器都沒干過什么正事署鸡,正好就可以拿來部署私有的云筆記案糙。

部署準(zhǔn)備

首先,我的服務(wù)器是騰訊云買的云服務(wù)器靴庆,安裝Ubuntu Server 14.04.1 LTS 64位系統(tǒng)时捌,同時(shí)使用OneinStack安裝了Nginx,Nginx是進(jìn)行端口轉(zhuǎn)發(fā)用的炉抒,畢竟沒有那么多80端口啊奢讨。網(wǎng)上找了很多教程,但是安裝過程不是很順利焰薄,這里再寫寫我的經(jīng)驗(yàn)拿诸。

部署過程概覽

  1. 下載二進(jìn)制文件
  2. 安裝Mongodb
  3. 更改配置文件
  4. 啟動(dòng)leanote
  5. 設(shè)置端口轉(zhuǎn)發(fā)

下載二進(jìn)制文件

這里直接去官網(wǎng)下載Linux的二進(jìn)制文件

> wget http://nchc.dl.sourceforge.net/project/leanote-bin/2.0/leanote-linux-amd64-v2.0.bin.tar.gz

然后將其解壓

> tar -xzvf leanote-linux-amd64.v2.0.bin.tar.gz

接著把它放到你想放的地方扒袖,我喜歡把所有的軟件都放到/usr/local/下,雖然這樣可能會(huì)導(dǎo)致各種權(quán)限問題亩码,大家可以按自己的習(xí)慣來

> sudo mv leanote  /usr/local/

安裝Mongodb

網(wǎng)上很多教程都說這一步需要去官網(wǎng)下載最新的Mongodb來安裝季率,但是這一步一直有報(bào)錯(cuò),無法通過描沟,最后我直接使用了apt-get來安裝Mongodb飒泻,各位大神可以自行去研究

> sudo apt install mongodb-server

然后嘗試啟動(dòng)Mongodb,其需要一個(gè)存放數(shù)據(jù)的路徑

> mkdir data
> mongod --dbpath /data/mongodb/data

這一步之后吏廉,會(huì)出現(xiàn)一大堆東西泞遗,類似

-07-02T02:14:19.474-0400 [initandlisten] MongoDB starting : pid=5073 port=27017 dbpath=/data/mongodb/data 64-bit host=localhost
…………
-07-02T02:14:19.599-0400 [initandlisten] waiting for connections on port 2701

出現(xiàn)這個(gè)運(yùn)行端口和等待連接之后,就可以了席覆,此時(shí)Mongodb就已經(jīng)安裝成功了史辙,我們需要導(dǎo)入leanote的原始數(shù)據(jù),其實(shí)就是創(chuàng)建表之類的佩伤,這里我們需要先重新開一個(gè)終端髓霞,因?yàn)镸ongodb已經(jīng)在運(yùn)行了,直接復(fù)制一個(gè)SSH通道就可以了畦戒,然后開始導(dǎo)入數(shù)據(jù)方库,數(shù)據(jù)存放在?/leanote/mongodb_backup/leanote_install_data/

> mongorestore -h localhost -d leanote --dir /usr/local/leanote/mongodb_backup/leanote_install_data/

這樣,整個(gè)leanote的數(shù)據(jù)庫(kù)就已經(jīng)配置好了障斋,官方還建議我們?yōu)閘eanote的數(shù)據(jù)庫(kù)創(chuàng)建一個(gè)用戶

> mongo
> show dbs;

這樣纵潦,我們應(yīng)該能夠看到一個(gè)leanote的數(shù)據(jù)庫(kù),切換到里面垃环,并且添加用戶

> use leanote;
> db.createUser({
    user: 'root',
    pwd: 'abc123',
    roles: [{role: 'dbOwner', db: 'leanote'}]
});
> db.auth("root", "abc123");

最后一行是驗(yàn)證是否正確邀层,如果正確了,會(huì)返回1遂庄。另外直接使用exit;命令可以推出Mongodb的shell寥院。接下來我們要開啟權(quán)限驗(yàn)證,首先在運(yùn)行Mongodb的會(huì)話按下Ctrl+C結(jié)束其進(jìn)程涛目,然后重啟之

> mongod --dbpath /home/user1/data --auth

修改配置文件

我們回到另外的會(huì)話秸谢,開始修改配置文件

> sudo vim /usr/local/leanote/conf/app.conf

如果你在當(dāng)前用戶權(quán)限的文件夾下,不需要root權(quán)限即可修改霹肝,需要修改的項(xiàng)如下

site.url=leanote.yangmqglobe.cn #我們要配置外網(wǎng)訪問估蹄,需要修改
db.username=root #我們創(chuàng)建了用戶權(quán)限,需要添加
db.password=abc123 #數(shù)據(jù)庫(kù)的密碼
app.secret=abc123 #這行官方稱為了安全必須修改沫换,想改啥改啥

這樣整個(gè)leanote的配置就完成了

啟動(dòng)leanote

運(yùn)行?/leanote/bin/run.sh即可啟動(dòng)leanote

>sh /usr/local/leanot/bin/run.sh

此時(shí)臭蚁,leanote就已經(jīng)啟動(dòng)了,和Mongodb類似,我們暫時(shí)不能關(guān)閉這個(gè)進(jìn)程垮兑,因?yàn)槲沂沁h(yuǎn)程連接云服務(wù)器冷尉,所以,我不能用瀏覽器去試著訪問系枪,而外網(wǎng)也并不允許訪問(我開啟了防火墻)雀哨,我復(fù)制了一個(gè)SSH通道,用wget試了一下

> wget localhost:9000

發(fā)現(xiàn)確實(shí)能夠訪問嗤无,下載到了一個(gè)html文件,這就表明已經(jīng)可以訪問了。

設(shè)置端口轉(zhuǎn)發(fā)

因?yàn)槲覀兛偛荒苁裁炊际褂?0端口怜庸,那么我們可以借助Nginx進(jìn)行端口的轉(zhuǎn)發(fā)当犯,我用leanote.yangmqglobe.cn這個(gè)二級(jí)域名來訪問leanote,所以我添加一個(gè)虛擬服務(wù)器如下

    server {
        listen 80;
        server_name leanote.yangmqglobe.cn;
        access_log off;

        location / {
            proxy_pass http://127.0.0.1:9000;
            proxy_set_header Host $host;
            proxy_set_header X-Real-IP $remote_addr;
            proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
            proxy_set_header Via "nginx";
         }
    }

大致的意思是割疾,來自leanote.yangmqglobe.cn的訪問全部轉(zhuǎn)發(fā)至9000端口處理嚎卫,同時(shí)添加一些頭信息。接下來檢查一下

> nginx -t

如果沒有報(bào)錯(cuò)宏榕,說明配置信息無誤(當(dāng)時(shí)我使用的并非Nginx的默認(rèn)啟動(dòng)用戶拓诸,所以還報(bào)了一些權(quán)限問題的錯(cuò)誤,大家要仔細(xì)鑒別一下哦B橹纭)奠支。然后重啟Nginx服務(wù)

> service nginx reload

這里可能需要用Nginx服務(wù)的專用用戶去操作,大家按照自己的配置來抚芦。接著我們外網(wǎng)瀏覽器訪問leanote.yangmqglobe.cn就能看到倍谜,整個(gè)leanote已經(jīng)能夠使用了。最后叉抡,我們還需要做一個(gè)工作尔崔,因?yàn)槲覀兊膌eanote是在前臺(tái)運(yùn)行的,如果我們關(guān)閉SSH鏈接褥民,再訪問就會(huì)返回503錯(cuò)誤季春,因?yàn)閘eanote的進(jìn)程也會(huì)隨著SSH進(jìn)程被殺死而被殺死。先將前臺(tái)運(yùn)行的leanote結(jié)束消返,簡(jiǎn)單的我們將leanote丟到后臺(tái)

> nohup run.sh >/dev/null 2>&1

這樣我們把leanote扔進(jìn)后臺(tái)運(yùn)行同時(shí)忽略他的輸出载弄,即使我們關(guān)閉SSH連接也能繼續(xù)使用服務(wù)了!其實(shí)這樣也是可以的撵颊,但是為了防止該進(jìn)程被殺死侦锯,推介使用進(jìn)程守護(hù)工具supervisor,首先安裝

sudo apt install supervisor

然后編輯配置文件秦驯,創(chuàng)建文件/etc/supervisor/conf.d/leanote.conf尺碰,內(nèi)容如下:

[program:leanote]
command=sh /usr/local/leanote/bin/run.sh
autostart=true
stdout_logfile=/dev/null

意思是創(chuàng)建名字叫l(wèi)eanote的程序,其運(yùn)行命令,是否自動(dòng)啟動(dòng)亲桥,標(biāo)準(zhǔn)輸出的文件位置÷逍模現(xiàn)在啟動(dòng)supervisor即可

sudo /etc/init.d/supervisor start

如果想查看一下leanote進(jìn)程的狀況

> sudo supervisorctl status leanote

盡情享受私有的筆記服務(wù)吧!

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末题篷,一起剝皮案震驚了整個(gè)濱河市词身,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌番枚,老刑警劉巖法严,帶你破解...
    沈念sama閱讀 206,378評(píng)論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異葫笼,居然都是意外死亡深啤,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,356評(píng)論 2 382
  • 文/潘曉璐 我一進(jìn)店門路星,熙熙樓的掌柜王于貴愁眉苦臉地迎上來溯街,“玉大人,你說我怎么就攤上這事洋丐〕饰簦” “怎么了?”我有些...
    開封第一講書人閱讀 152,702評(píng)論 0 342
  • 文/不壞的土叔 我叫張陵友绝,是天一觀的道長(zhǎng)堤尾。 經(jīng)常有香客問我,道長(zhǎng)迁客,這世上最難降的妖魔是什么哀峻? 我笑而不...
    開封第一講書人閱讀 55,259評(píng)論 1 279
  • 正文 為了忘掉前任,我火速辦了婚禮哲泊,結(jié)果婚禮上剩蟀,老公的妹妹穿的比我還像新娘。我一直安慰自己切威,他們只是感情好育特,可當(dāng)我...
    茶點(diǎn)故事閱讀 64,263評(píng)論 5 371
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著先朦,像睡著了一般缰冤。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上喳魏,一...
    開封第一講書人閱讀 49,036評(píng)論 1 285
  • 那天棉浸,我揣著相機(jī)與錄音,去河邊找鬼刺彩。 笑死迷郑,一個(gè)胖子當(dāng)著我的面吹牛枝恋,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播嗡害,決...
    沈念sama閱讀 38,349評(píng)論 3 400
  • 文/蒼蘭香墨 我猛地睜開眼焚碌,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來了霸妹?” 一聲冷哼從身側(cè)響起十电,我...
    開封第一講書人閱讀 36,979評(píng)論 0 259
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎叹螟,沒想到半個(gè)月后鹃骂,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 43,469評(píng)論 1 300
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡罢绽,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 35,938評(píng)論 2 323
  • 正文 我和宋清朗相戀三年畏线,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片有缆。...
    茶點(diǎn)故事閱讀 38,059評(píng)論 1 333
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡象踊,死狀恐怖温亲,靈堂內(nèi)的尸體忽然破棺而出棚壁,到底是詐尸還是另有隱情,我是刑警寧澤栈虚,帶...
    沈念sama閱讀 33,703評(píng)論 4 323
  • 正文 年R本政府宣布袖外,位于F島的核電站,受9級(jí)特大地震影響魂务,放射性物質(zhì)發(fā)生泄漏曼验。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,257評(píng)論 3 307
  • 文/蒙蒙 一粘姜、第九天 我趴在偏房一處隱蔽的房頂上張望鬓照。 院中可真熱鬧,春花似錦孤紧、人聲如沸豺裆。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,262評(píng)論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)臭猜。三九已至,卻和暖如春押蚤,著一層夾襖步出監(jiān)牢的瞬間蔑歌,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 31,485評(píng)論 1 262
  • 我被黑心中介騙來泰國(guó)打工揽碘, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留次屠,地道東北人园匹。 一個(gè)月前我還...
    沈念sama閱讀 45,501評(píng)論 2 354
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像帅矗,于是被迫代替她去往敵國(guó)和親偎肃。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 42,792評(píng)論 2 345

推薦閱讀更多精彩內(nèi)容

  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理浑此,服務(wù)發(fā)現(xiàn)累颂,斷路器,智...
    卡卡羅2017閱讀 134,599評(píng)論 18 139
  • 1. Nginx的模塊與工作原理 Nginx由內(nèi)核和模塊組成凛俱,其中紊馏,內(nèi)核的設(shè)計(jì)非常微小和簡(jiǎn)潔,完成的工作也非常簡(jiǎn)單...
    rosekissyou閱讀 10,196評(píng)論 5 124
  • Spring Boot 參考指南 介紹 轉(zhuǎn)載自:https://www.gitbook.com/book/qbgb...
    毛宇鵬閱讀 46,748評(píng)論 6 342
  • 前言 近期在準(zhǔn)備搭建一個(gè)vue.js+node.js全棧開發(fā)的社區(qū)蒲犬,之前由于沒有云服務(wù)器搭建經(jīng)驗(yàn)朱监,這篇文章做一下相...
    技術(shù)宅小青年閱讀 4,439評(píng)論 1 30
  • Ubuntu的發(fā)音 Ubuntu奋隶,源于非洲祖魯人和科薩人的語(yǔ)言擂送,發(fā)作 oo-boon-too 的音。了解發(fā)音是有意...
    螢火蟲de夢(mèng)閱讀 99,156評(píng)論 9 467