Warning: error_log(/data/www/wwwroot/hmttv.cn/caches/error_log.php): failed to open stream: Permission denied in /data/www/wwwroot/hmttv.cn/phpcms/libs/functions/global.func.php on line 537 Warning: error_log(/data/www/wwwroot/hmttv.cn/caches/error_log.php): failed to open stream: Permission denied in /data/www/wwwroot/hmttv.cn/phpcms/libs/functions/global.func.php on line 537
繼續和大家分享圍繞NAS打造數據管理中心的教程,本文分享的是漫畫管理中心搭建教程,包含手機端通過OSPD外網訪問方法。
項目支持X86和ARM(64位)架構,所有在售威聯通型號只要內存達標均可部署,當然實際總內存小于2G的設備不建議部署,可能會引發OOM。
下文包含容器本體部署、后續一鍵更新容器、外網配置和手機OPDS客戶端(calibre通用)訪問,共計四個部分,覺得有用歡迎點贊收藏關注三聯。
LANraragi作為開源漫畫管理器,項目開發者為Difegue,支持zip / rar / targz / lzma / 7z / xz / cbz / cbr / pdf多種格式,項目地址:
https://hub.docker.com/r/difegue/lanraragi
本文使用的是B站UP淺笑一夏的漢化版本,前兩天剛更新了一版,項目同樣開源可查,如果可以的話幫忙給作者點波關注,項目地址:
https://hub.docker.com/r/dezhao/lanraragi_cn
放一下本次搭建使用的測試平臺。
1?? 威聯通(QNAP)TS-462C
關鍵詞:X86、2.5G網口、四盤位、HTPC模式
https://item.jd.com/100030253868.html
這次教程采用了威聯通TS-462C NAS進行搭建,雖然目前很多旗艦NAS已經用上了N5095或者N5015這類JasperLake平臺,但價格都比較高,如果你平時折騰虛擬機不多,那么選擇同為JasperLake平臺的N4505處理器的TS-462C也是不錯的選擇。它擁有4個大盤位,支持最高20TB單硬盤容量,Intel賽揚最新處理器性能強勁,而且還支持2.5G網口以及HDMI2.0接口。
TS-462C使用的N4505為雙核處理器,2.9GHz的主頻能滿足正常家用需求,與N5105采用同系列核顯,但是只有16eU,N5105的集顯是24eU,性能對于家用而言,相差不大,可以輕松硬解以及轉碼高碼率4K視頻,內置的雙SO-DIMM內存槽最高支持到32G擴展,合理分配CPU玩玩Docker挺輕松。
2?? 威聯通(QNAP)TS-416
關鍵詞:ARM天花板、四盤位、性價比
簡介:TS-416使用目前最主流的頂級ARM平臺瑞芯微RK3568,同時板載了4G內存(不支持后加或更換)和雙千兆網口,非常適合輕量折騰玩家。
TS-416的造型同樣為威聯通經典的四盤位設計,外觀方案幾乎沒有改變,除了輕松硬解高碼率4K以外,威聯通實驗室還把NPU用在AI相片處理上,配合所有NAS中圖片處理最強的軟件QuMagie,只玩影音和少量Docker的玩家真的可以入手這款。
3?? 希捷(Seagate)酷狼 機械硬盤
關鍵詞:NAS專用盤、免費數據救援
本次搭建還使用了4塊4TB的希捷酷狼NAS硬盤,組建了RAID5陣列,可以充分保證數據安全。值得一提的是,希捷酷狼全系硬盤均采用 CMR技術,使用的AgileArray 技術對NAS有特殊加成,主要在硬盤電源管理和多盤位環境中的硬盤雙面平衡和RAID優化。
另外威聯通對酷狼有單獨的健康管理內置軟件,可以有效實現預防、干預和恢復功能,另外內置的旋轉振動傳感器也有緩震作用, 還送一次免費原廠數據救援服務,值得購買。
4?? 蒲公英(Oray)X1/X3A 路由器
關鍵詞:SD-WAN組網、傻瓜配置
簡介:解決沒有公網IPv4或者IPv6遠程訪問問題的路由器,系統預制了SD-WAN程序,下聯的所有設備皆自動加入組網且不占用名額,活動價正常八九十塊錢,是NAS的好搭檔。
如果不好走線或者需要無線中繼,也可以選擇X1旁路由做無線橋接連接NAS組網,需要注意的是這款是旁路由,只支持一臺下聯設備,有需求還是選擇X3A。
5?? 紅米 K50Ultra
關鍵詞:不熱、超長待機、水桶機
簡介:最近入手了這款幾乎毫無短板的水桶機,實測運行溫度相比之前的火龍888要強很多,重點是待機時間超長,不開省電模式常規使用可以一天一沖,唯一缺點就是屏幕了,偶爾會降幀數,問題不大。
下文中的一鍵更新需要容器名稱匹配,所以請注意這一段的操作。
1?? 創建文件夾
先創建容器的掛載路徑,在Container文件夾下創建一個名為lanraragi的子文件夾。
再創建兩個子文件夾,名稱和對應的作用分別是:
content,用于存放漫畫文件。
database,用于存放數據庫配置。
2?? 部署容器
進入ContainerStation,點擊創建,搜索lanraragi,找到dezhao/lanraragi_cn,點擊安裝。
標簽用默認的latest即可。
跳轉配置頁面后,先將容器名稱修改為lanraragi_cn,切記不要錯了,確認無誤后點擊高級設置。
第一步點擊網絡,新增一組端口轉發關系:
本地端口填寫3000,Container端口填寫3000
第二步點擊共享文件夾,創建兩組文件夾掛載關系:
共享文件夾選擇剛才新建的content文件夾,掛載路徑填寫/root/lanraragi/content
共享文件夾選擇剛才新建的database文件夾,掛載路徑填寫/root/lanraragi/database
全部確認無誤后,點擊創建容器,具體部署所需時間根據網絡質量和帶寬決定。
在總覽里面能看到LANraragi這個容器在運行,表示部署成功。
3?? 訪問后臺
首先需要知道這臺NAS的IP,進入網絡與虛擬交換機,下圖圈出來的就是內網IP地址。
瀏覽器打開新的標簽頁,輸入:
NAS的IP:3000
左上角會提示登錄和修改密碼,默認密碼是:
kamimamita
登錄后點擊設置,先修改下一個好記的密碼,配置好后點擊保存設置。
在設置頁面也可以修改頁面顯示信息和主題,按需修改。
如果想回到首頁,點擊返回資料庫,所有入口返回首頁都是這么操作。
4?? 上傳管理
安利個ACG的分享網站,資源多更新快:
http://www.animetox.com/
點擊中上方位置的上傳檔案,點擊從您的計算機添加,選中想上傳的文件,期間盡量保持網絡穩定。
友情提示:一般直接將壓縮包上傳即可,如果有密碼請解壓后重新壓縮,再進行上傳操作,建議使用zip格式,rar可能有問題。
上傳完畢后LANraragi會自動生成封面,如果卷比較多會比較慢,不要急。
如果漫畫比較多,可以點擊頂部的修改分類自行創建不同類別。
作者自己也說了,lanraragi還是有些問題,后續會更新解決,這里和大家分享下后續一鍵更新容器的方法。
1?? 配置SSH
進入控制臺的網絡和文件服務,點擊Telnet/SSH勾選允許SSH連接,端口號建議改成你能記得的四位數。
用SSH工具登錄這臺NAS,推薦使用FinalShell:
http://www.hostbuf.com/t/988.html
2?? 部署容器
首次打開FinalShell需要創建訪問配置,按下圖依次選擇SSH(Linux連接)。
接著按下圖填寫相關信息,確認無誤后保存:
雙擊登錄剛創建的NAS登錄配置開始登錄NAS,按照提示輸入:
Q
回車
輸入:
Y
回車
進入常規Shell后su登錄,輸入:
sudo -i
回車
Q
回車
Y
回車
將下面代碼復制到輸入框,回車執行:
docker run
-v /var/run/docker.sock:/var/run/docker.sock
containrrr/watchtower
--run-once lanraragi_cn
等執行完成后,即可更新到最新版本,執行日志也會在頁面中顯示。
如果以后需要更新,不再需要重新部署或者SSH操作,進ContainerStation找到watchtower程序手動執行一次即可,不建議一直運行。
如果你的寬帶有IPv4協議的公網IP,先進入路由器后臺開啟UPnP功能,這一步是為了完成端口轉發鏈路:
容器端口→NAS端口→寬帶拿到的公網IP端口
之后進入myQNAPCloud,配置下威聯通附贈的DDNS服務,外網訪問的時候用網頁域名+8083端口號即可看書。
如果沒有IPv4協議的公網IP,可以選擇通過部署Zerotier或者蒲公英容器做SD-WAN組網訪問,當然直接買蒲公英X1或者X3A路由器也是可以的。
作者推薦了三款聯動軟件(PC端、iphone和安卓),點擊lanraragi后臺首頁的日志即可跳轉下載。
個人推薦手機使用靜讀天下App,支持OSPD比較方便一些,不受源文件格式困擾,之前分享的電子書管理器Calibre同樣可以用這款App閱讀,各大安卓應用市場搜索下載安裝即可。
下載完成后點擊設置,進入網上書庫配置。
跳轉后點擊左上角的增加新書庫。
彈出的頁面填寫威聯通lanraragi的相關信息:
名稱隨便填寫,最好是你能記得住的名字。
書庫地址填寫NAS的ip/域名加上端口號,和網頁訪問沒有區別。
保存完成后點擊書庫地址即可瀏覽,個人感覺流暢度比淺笑一夏推薦的archive要好一點,大家可以都安裝試試,根據自己喜好選擇。
術變革的步伐往往會最大限度地簡化探索進程,軟件開發也是如此。在容器中運行軟件最近非常受企業青睞,主要原因之一是當代碼在一個環境中開發時,如果部署在另一個環境中,代碼可能不會運行相同的代碼。這會導致錯誤,而且需要時間來修復。在這個快速迭代和發布的時代,沒有人能負擔得起類似的錯誤和成本。因此,像Docker和Kubernetes這樣的容器化生態系統越來越受歡迎。2018年容器采用基準調查顯示,近一半(47%)的受訪IT領導者計劃在生產中部署容器,另有12%的人表示已經部署了。
容器的優缺點
通過改變軟件交付的方式,容器使開發人員的生活更加輕松。 它們具有很廣闊的前景,特別是在提高混合基礎架構的開發效率方面。容器通常是作為連貫系統一起運行的軟件和環境的集合。 開發人員以容器圖像的形式制作這些系統,測試它們并確保它們是可接受的。 然后,開發人員將它們部署到大型環境中,在這種環境中,容器平臺從映像中實例化相同的副本,確保它在同一個地方運行的軟件相同。之所以需要容器化,是因為它支持相同軟件的可重復部署。
由于它們不包含操作系統映像,因此容器比硬件或傳統虛擬機(VM)環境耗費更少的系統資源。開發人員使用VM可能需要購買更多硬件,因為他們會更快地達到容量上限。雖然工作負載當然可以放在VM中,但使用容器是一種非常好的方法,因為隨著云計算從簡單到復雜的分布式體系結構的轉變,它會更受歡迎。
容器使軟件交付更簡單,更可預測,因為它們提供了一致的部署環境,可以在交付管道的所有階段使用。在容器中運行的應用程序可以輕松部署到多個不同的容器平臺和云提供商。 無論您是在構建軟件、測試軟件還是在生產中部署軟件,都可以使用相同的環境來托管軟件。 容器還可以幫助企業實現遺留應用程序的現代化,并創建既可擴展又靈活的新的云原生應用程序。
容器非常有用,但也有其局限性。例如,它們確實消除了關于開發環境和生產環境之間的差異將如何影響應用程序的一些顧慮。但是容器并不能完全避免困擾傳統軟件開發的bug和錯誤問題。缺陷、中斷和安全事件仍然發生,事實證明,測試工具并不能100%地發現問題。
根據Snyk最近的一份報告,在最受歡迎的10張Docker圖片中,每張至少有30個漏洞。最重要的是,如果您使用應用程序的舊版本安裝容器,那么它很可能包含漏洞。這意味著企業仍然面臨潛在的系統中斷和停機風險,這些可能會造成重大的經濟和聲譽影響。
2018年Ponemon Institute的數據違規成本研究發現,一小時的中斷可能會使一家小公司損失8000美元,一家中型公司損失74000美元,大型企業大約需要70萬美元。在IT中使用混合匹配軟件維護一致的服務一直是一個挑戰,而這就是容器解決的問題。但問題是,如果有人創建了針對一個容器的漏洞,那么將會有相同的軟件在任何地方運行,并且它將對所有容器起作用。
避免陷阱
開發人員需要在測試方面采用新方法,以幫助抵御這些潛在問題,而不僅僅是將應用程序放在容器中。質量保證(QA)團隊需要確保他們在生產中可能遇到的所有情況下測試容器化應用程序。這是因為容器的行為可能因系統硬件到意外的網絡流量而變化。通過在生產中進行測試,可以在bug出現之前檢測到錯誤,并在威脅產生影響之前將其隔離。
容器使用需謹慎
容器為開發人員處理與多個環境相關的問題提供了非常好的解決方案,它們使軟件開發和測試更加容易。然而,容器依然有缺點,因此它們需要小心處理。bug和錯誤仍然有可能發生,一個容器中的漏洞意味著所有容器中的漏洞。容器作用雖然強大,但是需要您謹慎使用它們!
原文網址:https://jaxenter.com/containers-need-know-160733.html
家可能都在用Wordpress寫博客,之前都都是買個VPS部署一個一鍵L/WAMP程序完成整個部署,部署可能也容易但是操作比較費勁。前兩天蟲蟲的博客VPS出問題導致數據丟失,需要重新部署,在這次部署中為了追求完美使用了docker容器方式并對網站升級使用全站HTTPS的方式進行部署,站點支持TLS 1.3協議以最大程度提高性能,本文蟲蟲就給大家介紹整個部署的全過程供大家參考優化。
站點采用Docker方式部署,使用兩個容器一個是mysql 5.7數據庫容器,一個是apache(2.4.25)、php(7.3.6),Wordpress(5.2.2)容器,容器部件都是最新版本。為了安全連個容器都映射到宿主機127.0.0.1端口不直接對外提供服務。宿主機上部署nginx最新版本1.17反向代理到容器,nginx對外提供https服務:使用TLS 1.3協議,證書是從Let's Encrypt申請免費SSL,可以一鍵申請證書并且免費3個月更新。整個架構結構如下:
基礎VPS環境是centos 7.2,默認是vi我們先將它換成vim
yum install vim
初始化VPS數據盤,注意該盤為外掛的盤VPS變化重新初始化時候數據不會丟失,一般為sdb,比如蟲蟲的盤,60G
創建分區并格式化
fdisk /dev/sdb mkfs.ext4 /dev/sdb1
掛載,掛載目錄我們設為/data
mkdir /data mount /dev/sdb1 /data
修改/etc/fstab實現重啟自動掛載:
通過dumpe2fs或者blkid查看磁盤UUID
d179868b-6fb9-414c-8901-b990f7c586bd
echo 'UUID="d179868b-6fb9-414c-8901-b990f7c586bd" /data ext4 defaults 0 0' >>/etc/fstab
mount –a測試fstab配置,如果沒提示表示正確,如果有錯誤會顯示,比如我們給UUID前面加個1,測試信息如下:
系統其默認的防火墻firewalld,先將其修改為比較熟悉稱手的iptables:
yum install iptables iptables-services systemctl disable firewalld systemctl stop firewalld systemctl enable iptables systemctl start iptables
selinux配置太復雜,我們先暫時關閉(在正式生產環境不建議該操作):
setenforce 0
為了一直關閉,需要修改其配置文件,這樣重啟后就不會再加載。方法
perl -i -lpe 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config
為了VPS已經修改掉系統默認的ssh 22端口,并且禁止root登陸,方法修改/etc/ssh/sshd_config,查找Port去掉其前面的注釋#號,并把22修改為其他端口,比如12322:
Port 12322
增加一行" PermitRootLogin no"禁止root登陸:
事先添加證書登陸,然后禁止密碼登錄方式"PasswordAuthentication no":
防火墻開啟新sshd端口,并刪掉22端口
iptables -I INPUT -p tcp -m state --state NEW -m tcp -dport 12322 -j ACCEPT
重啟sshd服務
systemctl restart sshd.service
用新端口證書方式訪問服務器,如果沒有問題:
刪掉22端口
iptables -D INPUT -p tcp -m state --state NEW -m tcp -dport 22 -j ACCEPT
保存防火墻規則
systemctl save sshd.service
yum install epel-release yum install -y yum-utils
yum install docker-ce docker-compose systemctl enable docker systemctl start docker
啟用docker過程中報了一個錯誤"SELinux is not supported with the overlay2 graph drive...false",原因是linux的內核中的SELinux不支持 overlay2 graph drive,解決方法,修改docker配置文件/etc/sysconfig/docker修改--selinux-enabled為--selinux-enabled=false
還有一個典型錯誤如下:
fatal msg="Error starting daemon: error initializing graphdriver: "/var/lib/docker" contains several valid graphdrivers: devicemapper, overlay; Please cleanup or explicitly choose storage driver (-s )"
是由于docker初始化數據有問題導致,只需清理/var/lib/docker/目錄下文件
"rm -rf /var/lib/docker/",然后重啟就OK了
docker pull wordpress docker pull mysql:5.7.25
systemctl stop docker.service mv /var/lib/docker /data/docker
vim /usr/lib/systemd/system/docker.service 查找ExecStart給其參數增加:
"--graph /data/docker":
重新加載配置文件
systemctl daemon-reload
重啟docker服務
systemctl restart docker.service
創建應用數據目錄
首先是數據庫mysql目錄:
mkdir -p /data/web/data chown -R 999:999 /data/web/data
網站目錄:
mkdir /data/web/webapps chown -R 33:33 /data/web/webapps
啟動應用容器
mysql容器:
docker run --name mysql -h mysql \ --restart=always \ -e MYSQL_ROOT_PASSWORD=wp12345 \ -p 127.0.0.1:13306:3306 \ -v /data/web/data:/var/lib/mysql \ -d mysql:5.7.25
注意上面加重的參數表示mysql的root初始化密碼,需要根據實際修改。
wordpress應用容器
docker run -h wordpress --name wordpress \ --restart=always \ --link mysql:mysql \ -p 2880:80 \ -v /data/web/webapps:/var/www/html \ -d wordpress
注意上面黑體表示連接到mysql容器,注意兩個服務啟動順序,現有mysql,wordpress放棄才能連接到這個數據庫,在宿主機上映射的端口為2880。
以上兩個個容器啟動后,wordpress部署就完全完成,現在通過瀏覽器訪問
http://ip:2880就可以訪問到wordpress安裝界面了。
就可以通過web安裝wordpress和配置了。
有可能報錯數據庫連接錯誤:
提示信息表示數據庫服務沒有創建wordpress數據庫,這時候需要連接到mysql容器:
docker exec -it mysql /bin/bash
在容器中執行mysql -uroot -p 輸入上面我們設置mysql密碼,wp12345
在mysql命令行創建一個數據庫wordpress
create database wordpress;
然后再訪問就可以了
注意該處保存好系統給你設置的密碼,或者修改為自己的密碼。
進過以上步驟,一個全新版本的wordpress服務就可以:
安裝好后需要遷移歷史數據,最主要是兩部分數據:數據庫數據和上傳的文件數據。
這部分遷移很簡單把以前保存的目錄中的wp-content下的uploads目錄復制過來所有上傳數據就ok了。
數據庫遷移,如果wordpress版本相同,可以直接把以前保存的數據文件導入到新數據庫就可以。如果版本不同需要注意版本差異,否則會導致錯誤,可以只導入wp-post和wp-comments這兩個表的數據。
通過wordpress導入導出功能:
如果你以前通過wordpress的導出插件導出過歷史數據,就可以利用它導入所有數據信心,結合uploads目錄導入文件就可以完美恢復歷史數據。具體方法:
點擊"工具"-"導入":
在該頁面點擊WordPress下的現在安裝,先安裝該插件。安裝后點擊"插件":
點擊"啟用"。
然后再返回"工具"-"導入":
點擊"運行導入器"。
彈出頁面選擇以前保存的xml文件,然后點擊"上傳并導入"按鈕,
選擇好需要遷移的用戶,點解"Submit"按鈕。
根據保存文件大小,該步驟需要比較長的時間。最后會顯示如下頁面,表示導入過程已經完成:
文章頁面:
遷移目前遇到問題有些插件不好使用,最主要是代碼高亮插件"Crayon Syntax Highlighter"在最新版本中不能用了,啟用該插件后,前臺不能顯示文章列表和內容,目前還未知道解決方案,暫時安裝了另一個代碼高亮插件"Enlighter"來代替。
本文我們使用部署中docker容器方式重新部署和遷移了Wordpress站點,涉及了VPS基礎設置、docker容器環境和安裝、應用容器的安裝和Wordpress歷史數據的遷移。限于篇幅我們總體文章分兩篇來介紹,本文第二篇將介紹nginx編譯安裝支持TLS 1.3,站點https設置和wordpress https化存在的問額和解決。
*請認真填寫需求信息,我們會在24小時內與您取得聯系。