您好,登錄后才能下訂單哦!
這篇文章給大家介紹怎么優雅地用ARM開發板搭建服務器,內容非常詳細,感興趣的小伙伴們可以參考借鑒,希望對大家能有所幫助。
我拆了一個舊的ARM開發板,并用它制作了一個基于Debian的mini服務器。我現在有一個隨時可以訪問的網關,它:
非常節能,只有大約3-3.5W
總是可以訪問的,即使我用的動態IP (via DynDNS)
有一個Nginx網絡服務器,所以我能和世界分享我的生活。(Nginx是一款面向性能設計的HTTP服務器,相較于Apache、lighttpd具有占有內存少,穩定性高等優勢。)
有一個Exim郵件服務器,所以我能通過SMTP接受Email并把它存在我的房子里。我通過SSH/mytt閱讀郵件。
能夠通過SSH遠程連接,允許遠程喚醒我的主桌面。
在后臺進行下載(wget/rtorrent) ,用Samba服務器共享至綁定設備,如Andriod平板
SSH端口復用為HTTPS端口來濾除一些防火墻限制。
這個是我最好的作品。我喜歡建造它的過程。
##Building a tiny ARM-based server##
大約一年前,我拿到了一個NAS設備——這是一個相當古老低耗能基于ARM的文件服務器。按照現代的標準,它被認為過時。然而我知道從我獲得它的那一天我會非常享受改造它。
我的職業是一個程序員。我誠懇認為編程和生活是分開的,可以有這樣一種可能它們都能被提高。
##Disassembling and soldering ##
首先我必須把整個東西拆開,這樣我才能按照我的想法去搭建這個世界。按照其他工程師的指導,我足足拆了半個小時才拆開它。我把機器里面的兩個光驅拆出來,連接到我的外部USB/SATA附件。迅速地檢測了一下它的功能。
<!-- lang: shell --> smartctl -a /dev/sdX
這個命令顯示兩個光驅都有壞的扇區。 我找到一個160GB的USB移動硬盤掛在上面。由于這是一個嵌入式設備,沒有VGA輸出,也沒有串口輸入。我需要找到一種監視它啟動過程的方法。我google了很久,這個機器上面實際有RS232的悍盤。萬能的互聯網提供的方法說明非常簡單:
Pin 1 = +3.3V
Pin 2 = GND
Pin 3 = Rx
Pin 4 = Tx 我已經過了用面包版搭建RS232接口的年紀,我在網上從一家電子商城訂購了一根TTL轉RS232電纜。
上圖紅箭頭所指的就是我焊接上去的串口線。兩天后,我又連接了一根串口轉USB的電纜。我的電腦是ArchLinux,Atom 330 。我把USB插入電腦,打開串口調試程序,這樣就能控制這個板子了。
<!-- lang: shell --> minicom -D /dev/ttyUSB0 -b 115200
##U-booting from no BIOS whatsoever##
下面講的就是怎么對160G的硬盤分區,然后啟動內核。
I mounted the old drives up to my main PC's USB/SATA enclosure, and sure enough, I saw clear signs of a Linux-based machine: the software RAID driver in my ArchLinux detected raid devices (cat /proc/mdstat showed information about the RAID structure 磁盤冗余陣列). Apparently, MyBook had the two drives in a RAID formation - which I proceeded to successfully mount. There were 4 partitions in each of the two drives, clearly in a RAID1 mirror formation - with the 4th and final partition being the one with the "File Server" storage area. I proceeded to copy the first three partitions (including the partition table) to my 160GB drive (via dd). I then used fdisk to fix the size of the 4th partition to be the remaining space of my drive.
##Installing Debian (and some thoughts about Windows)##
這一段主要是講如何安裝Debian操作系統,和怎么看待linux和windows的差別。
Sadly, this is a skill that Microsoft all but destroyed, making people hopelessly dependent on "wizards". That, in itself would have been fine, if it were not for the inevitable side-effect: people clicking on buttons unaware of what is going on behind them, end up with systems that can only be rescued with "OS reinstalls". My own settings - since I work with UNIX systems - are simple files under /etc and my $HOME... and have always been living under revision control (e.g my main dot files and vim configuration), happily migrating over the last 15 years across many machines. Backing them up and restoring them
接下來作者講述如何解決服務提供商IP變動的問題,主要是使用cron定時工具讓一個 DynDNS 程序自啟動,這個DynDNS可以映射一個固定IP地址。這樣就可以在外面穩定地訪問了。貼代碼。
下載
<!-- lang: shell --> # apt-get install gcc ... # wget http://inatech.eu/inadyn/inadyn.v1.96.2.zip # unzip inadyn.v1.96.2.zip # cd inadyn # make ... # cp bin/linux/inadyn /usr/local/bin
自啟動
<!-- lang: shell --> # cat /var/spool/cron/crontabs/root ... @reboot /usr/local/bin/inadyn
然后作者講述怎么安裝郵件服務器Exim,網絡服務器Nginx
##Conclusion - UNIX glory##
In plain words, UNIX power put to use - in the tiny server, in my phone, in my tablet. All 3 of them, running on ARM processors. To be honest, I didn't expect that ; 15 years ago I was sure that Intel and MS had cornered the galaxy... but somehow, Linux managed to change all that.
關于怎么優雅地用ARM開發板搭建服務器就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。