好像今天沒有什麼有趣的事情java
###What did you do todaynginx
建立虛擬機的時候,有時會拋出不少錯誤,解決方案:添加分配給虛擬機的內存。c++
解決XShell-ssh鏈接虛擬機常常被意外中斷的問題,vi /etc/ssh/sshd_config,進入去掉註釋#UseDNS no,改成UseDNS no,問題是ssh的服務端在鏈接虛擬機時會自動檢測dns環境是否一致致使的,修改成不檢測便可解決。vim
輸入 https://sourceforge.net/projects/fastdfs/files/ 服務器
下載FastDFS的Server安裝包,點擊FastDFS Server Source Code 負載均衡
選擇2014-12-02的版本進行點擊,下載FastDFS_v5.05.tar.gz ,同理下載fastdfs-nginx-module_v1.16.tar和fastdfs_client_java._v1.25.tar ssh
安裝8臺虛擬機(最小化安裝),給這8臺虛擬機配置靜態ip而且能ping通外網和主機(能夠參考我上一篇博客),配置完後使用XShell工具來操做虛擬機。分佈式
我使用的虛擬機分別爲192.168.12.11 192.168.12.22 192.168.12.33 192.168.12.44 192.168.12.55 192.168.12.66 192.168.12.77 192.168.12.88。其中192.168.12.11和192.168.12.22分別做爲tracker1和tracker2。192.168.12.33 和192.168.12.44做爲group1。 192.168.12.55 和 192.168.12.66做爲group2。最後把192.168.12.77和192.168.12.88做爲Nginx集羣多層負載均衡。多層負載均衡會生成一個虛擬ip,咱們最終會經過虛擬ip來訪問咱們的集羣。工具
咱們用Xftp 5鏈接192.168.12.11,在/usr/local/ 建立software文件夾,而後在software下準備好這些文件。 性能
而後經過scp -r/user/local/software/ root@192.168.12.22:/usr/local這樣的方式給每個虛擬機複製一份到它的/usr/local/software路徑下(若是目標虛擬機路徑下沒有software文件夾,則會自動建立software文件夾)
給每個虛擬機安裝gcc, yum install make cmake gcc gcc++
若是虛擬機沒有zip和unzip命令的話,會提示這樣。
安裝zip和unzip命令 yum install zip unzip
解壓libfastcommon-master.zip, unzip libfastcommon-master.zip -d /usr/local/fast/
安裝vim, yum install vim-enhanced,否則./make.sh編譯會報錯。
進入/usr/local/fast/libfastcommon-master,使用./make.sh進行編譯。
執行./make.sh install
咱們能夠看到libfastcommon.so被安裝進入/usr/lib64,而/usr/lib64裏面東西巨他媽多,因此咱們必須建立一個屬於libfastcommon.so的軟連接,方便咱們查找libfastcommon.so。命令是: ln -s /usr/lib64/libfastcommon.so /usr/local/lib64/libfastcommon.so以此類推,我也要建立libfdfslclient.so 的軟連接。命令是: ln -s /usr/lib64/libfdfsclient.so /usr/local/lib64/libfdfsclient.so、 ln -s /usr/local/lib64/libfdfsclient.so /usr/lib/libfdfsclient.so
咱們查看/usr/local 和 /usr/local/lib64發現libfdfsclient.so顏色是紅色,由於/usr/lib64尚未libfdfsclient.so文件。
解析FastDFS.tar.gz。 tar -zxvf FastDFS_v5.05.tar.gz -C /usr/local/fast/
而後執行./make.sh和./make.sh install
咱們能夠看到FastDFS服務器腳本安裝在了/usr/bin下面,可是FastDFS服務腳本設置的目錄爲/usr/local/bin下,因此咱們要修改/etc/init.d/fdfs_storaged和/usr/init.d/fdfs_trackerd這配置文件。將其中的/usr/local/bin設置爲/usr/bin。
進入/etc/init.d/fdfs_storaged進行替換。命令:%s+/usr/local/bin+/usr/bin
進入/etc/init.d/fdfs_trackerd進行替換。命令:%s+/usr/local/bin+/usr/bin
公共部分的配置作完了,接下來搞tracker1(192.168.12.11)和tracker2(192.168.12.22)。
進入/etc/fdfs下面,拷貝tracker.conf.sample一份,而且重命名爲tracker.conf
編輯tracker.conf,將base_path修改成/fastdfs/tracker
設置store_look的屬性(選擇羣組上傳文件的方法)。 0是輪詢, 1是指定group,3是負載均衡,選擇最大可用空間組去上傳文件。爲了方便後面的測試,我先將store_look設置爲0,只有store_look=1時,store_group=group2纔會生效。
將tracker.conf拷貝給tracker2。 scp tracker.conf root@192.168.12.22:/etc/fdfs
因爲咱們在tracker.conf設置的base_url=/fastdfs/tracker,因此咱們要建立/fastdfs/tracker, mkdir -p /fastdfs/tracker, -p 表明遞歸建立目錄。
配置防火牆,添加端口22122。你可能會納悶了,爲何端口是22122?請看tracker.conf中默認的prot就是22122。
配置防火牆,vim /etc/sysconfig/iptables,可是咱們在/etc/sysconfig/下面沒有看到iptables
FastDFS is an open source high performance distributed file system (DFS). It's major functions include: file storing, file syncing and file accessing, and design for high capacity and load balance.
###What to do tomorrow
###Summary
FastDFS真尼瑪複雜。