樹莓派搭建NAS之Seaflile


一、安裝 

Seafile官網下載頁面:https://www.seafile.com/download/ ,獲取7.0.5版本的下載地址

 登錄pi的命令,轉到root,然后下載

#sudo -s 

#cd  /nas 

root@midou:/nas# wget https://github.com/haiwen/seafile-rpi/releases/download/v7.0.5/seafile-server_7.0.5_stable_pi.tar.gz

root@midou:/nas# tar xzf seafile-server_7.0.5_stable_pi.tar.gz

root@midou:/nas# cd seafile-server-7.0.5/
root@midou:/nas/seafile-server-7.0.5# ./setup-seafile.sh

注:安裝時提示

Checking for sqlite3 ...
Sqlite3 is not found. install it first.

執行下面命令安裝:apt-get install sqlite3


 

接下來設置seahub

 

seafile端口是8082,seahub端口是8000 

啟動服務

root@midou:/nas/seafile-server-latest# ./seafile.sh start; ./seahub.sh start
 

注:安裝后發現能在Pi上本地打開,其實機器上不能訪問,查看端口信息,只綁定在了127.0.0 .1上

root@midou:~# netstat  -an | grep 8000

tcp        0      0 127.0.0.1:8000  

修改gunicorn.conf解決,gunicorn.conf文件內容如下:

 

root@midou:/nas/conf# grep 127 *

gunicorn.conf:bind = "127.0.0.1:8000"

 

二、使用 

在瀏覽器輸入http://IP:8000/打開seafile web頁面,用安裝時輸入的郵箱地址/密碼就可以登錄了

在路由器增加端口映射以便在外網訪問,8000如下,8082類似

 

 

 然后在手機或PC上下載對應客戶端,安裝后就可以訪問了。

注:如果只能訪問不能下載、上傳,配置如下:

 三、配置開機啟動

 

 

創建文件: /usr/lib/systemd/system/seafile.service
內容如下(注意用戶名和路徑要正確):

 

[Unit]
Description=seafile
After=network.target

 

[Service]
Type=oneshot
RemainAfterExit=yes
User=pi
ExecStart=/nas/seafile-server-7.0.5/seafile.sh start
ExecStart=/nas/seafile-server-7.0.5/seahub.sh start
ExecStop=/nas/seafile-server-7.0.5/seafile.sh stop
ExecStop=/nas/seafile-server-7.0.5/seahub.sh stop

 

[Install]
WantedBy=multi-user.target

 

執行以下命令注冊未開機自啟動項。

sudo systemctl daemon-reload
sudo systemctl enable seafile
sudo systemctl start seafile
 
如果要取消開機自啟動,並停止服務,執行以下命令。
sudo systemctl disable seafile
sudo systemctl stop seafile

 

注: seafile.service文件配置用戶是pi,就是以pi用戶運行腳本,可以修改成root,因為之前安裝都是以root用戶操作的

如果想用pi用戶運行,執行下面操作

1、先停止當前seafile運行

2、root用戶下修改nas目錄用戶級: chown pi:pi /nas

3、root用戶清除/tmp/seahub_cache目錄:rm -r /tmp/seahub_cache

 

seafil配置啟郵箱服務(可選)

編輯sea/conf/seahub_settings.py

添加如下內容

#EMAIL_USE_SSL = False
EMAIL_USE_SSL = True
EMAIL_HOST = 'smtp.163.com'
EMAIL_HOST_USER = '郵箱名@163.com'
EMAIL_HOST_PASSWORD = '授權碼'
EMAIL_PORT = '465'
#EMAIL_PORT = '25'
DEFAULT_FROM_EMAIL = EMAIL_HOST_USER
SERVER_EMAIL = EMAIL_HOST_USER

然后重啟服務  $ systemctl restart seafile

 

seafile開啟webdav的方法(可選)

編輯/data/haiwen/conf/seafdav.conf

添加如下內容
[WEBDAV]
enabled = true
port = 8080
fastcgi = false
share_name = /

 

然后重啟seafile服務
./seafile.sh restart

 

linux系統掛載webdav的方法
比較直接的方法是使用mount命令,新建一個名為seafdav的文件夾
mount -t davfs http://127.0.0.1:8080/ /mnt/seafdav
注:如果還不支持davfs,執行下面命令安裝
sudo apt-get install davfs2
 

掛載webdav后的讀寫性能測試

root@localhost:/mnt/seafdav# dd if=/dev/zero bs=1024 count=1000000 of=1Gb.file
1000000+0 records in
1000000+0 records out
1024000000 bytes (1.0 GB, 977 MiB) copied, 35.0303 s, 29.2 MB/s
 
掛載webdav目錄的讀性能
root@localhost:/mnt/seafdav# dd of=1Gb.file if=/dev/zero bs=1024 count=1000000
1000000+0 records in
1000000+0 records out
1024000000 bytes (1.0 GB, 977 MiB) copied, 35.0889 s, 29.2 MB/s
 
普通硬盤的寫性能
root@localhost:/mnt/raid# dd if=/dev/zero bs=1024 count=1000000 of=1Gb.file
1000000+0 records in
1000000+0 records out
1024000000 bytes (1.0 GB, 977 MiB) copied, 6.21764 s, 165 MB/s
 
普通硬盤的讀性能
root@localhost:/mnt/raid# dd of=1Gb.file if=/dev/zero bs=1024 count=1000000
1000000+0 records in
1000000+0 records out
1024000000 bytes (1.0 GB, 977 MiB) copied, 13.546 s, 75.6 MB/s

 

seafile所部署的webdav的讀寫性能確實差了一些,畢竟多了一些抽象,並且依賴cpu的處理速度。普通硬盤直接讀寫的速度是webdav的三倍左右。所以把webdav掛載為硬盤之后,只能進行一些硬盤負載較輕的工作。

 

參考鏈接:

https://www.evernote.com/shard/s729/client/snv?noteGuid=4bd1f18e-6d3d-478e-9d51-b164c4b3805b&noteKey=24a437b6fb7a9337&sn=https%3A%2F%2Fwww.evernote.com%2Fshard%2Fs729%2Fsh%2F4bd1f18e-6d3d-478e-9d51-b164c4b3805b%2F24a437b6fb7a9337&title=%25E6%25A0%2591%25E8%258E%2593%25E6%25B4%25BEseafile%25E9%2585%258D%25E7%25BD%25AE%25E8%25BF%2587%25E7%25A8%258B

https://blog.csdn.net/imlsz/article/details/87024206

https://zhuanlan.zhihu.com/p/62954946?from_voters_page=true

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM