項目 - 雲盤項目(總體流程)

項目架構:html

client(客戶端)---nginx(負載均衡、反向代理)---nginx(web服務器、文件上傳下載業務邏輯、fastCGI編程)---mysql(存儲用戶信息)+redis(緩存)+fastFDS(開源文件系統、存儲到硬盤)mysql

 

fastFDS框架:client(上傳下載者)---tracker(管理者)---storage(存儲節點)nginx

fastFDS集羣:client(大量訪問)、tracker(防止單點故障)、storage(穩定性:同組備份、擴展性:不一樣組擴容)c++

 

//git

redis使用:github

 數據結構:web

  string字符串(最基本數據類型)redis

  list列表(相似數組)sql

  set集合(會自行排序、去重)數據庫

  sortedset有序集合(按設定權重自動排序,去重)

  hash哈希(鍵值對,存有多個字段的對象)。

 對key(相似表名)操做:

  keys(配合通配符使用):列出當前數據庫中的key

  type / rename:看key的數據類型 / 重命名key

  del / exists:刪除 / 查看是否存在

  expire / ttl / persist:設定生存時間 / 查看剩餘時間 / 去除生存時間。

 其餘功能:發佈/訂閱,事務(隔離,原子操做)。

 持久化配置:

  快照(rdb文件):將內存裏面的數據以二進制形式拷貝到硬盤上;

  追加文件(AOF):存儲不是二進制數據而是對redis的操做指令。

 編程操做數據庫流程(編程須要進行封裝):

  初始化+鏈接 redisConnect

  執行命令  redisCommand

  查看返回值 redisReply

  清理指針  freeReplyObject、清理句柄  redisFree。

 

nginx使用:(用做:http服務器,email服務器,反向代理,負載均衡)

 經常使用命令:幫助nginx -h;向nginx發送某個信號nginx -s signal;測試配置文件nginx -t;指定配置文件 -c

 nginx服務中master/worker機制:master進程作管理,worker進程幹活(處理外部請求)

 nginx部署靜態站點:修改localtion,服務器上被訪問地址/內容 = root + location

 虛擬主機:nginx支持部署多個站點,同時部署多個站點(法1 經過不一樣端口,法2 同一端口不一樣http請求頭)

  域名和IP:ipv4爲點分十進制表示法表示4個字節的ip地址(一個域名對一個ip,一個ip可被多個域名綁定)

  經過域名尋找IP:法1 找本機的hosts文件添加【ip   域名】,法2 找DNS添加【ip   域名】

 反向代理:外網機子經過代理訪問內網某臺機子(正向代理:概念相反)

  配置:須要另一臺裝有nginx服務器,使用【location下的屬性proxy_pass】

//

環境搭建:

CentOS、

0、安裝 gcc編譯器

  yum -y install gcc gcc-c++ kernel-devel    //安裝gcc、c++編譯器以及內核文件

  https://www.cnblogs.com/xiyushimei/p/8550930.html

0、安裝 配置 mysql:

  https://www.cnblogs.com/h-gallop/p/11645965.html

  https://blog.csdn.net/xiaolong_4_2/article/details/81664582

0、安裝 配置 啓動 fastFDS:

  源碼下載:github阿里開源項目

  源碼安裝:先安裝libfastcommom,再安裝fastFDS

  配置文件位置 /etc/fdfs/ :配置tracker.conf,storage.conf,client.conf

  啓動順序:先啓動tracker,再啓動storage,最後測試一下

  客戶端經常使用命令:upload上傳,download下載,delete刪除,info查看文件信息,monitor查看tracker信息

 0、安裝  配置 啓動 redis:

  源碼下載並安裝:make編譯,make install安裝

  配置redis.conf:【bind---ip】【port---端口】【protected---遠程保護】【damonize---是否守護進程】

     【tcp-backlog---tcp鏈接個數】【timeout---客戶端超時鏈接】【databases---數據庫個數】

  啓動服務:redis-server(沒有指定配置文件就使用默認配置)

  編程所需庫:源碼自帶hiredis,需編譯安裝hiredis,包含頭文件和庫文件便可

 0、安裝 配置 nginx:

  源碼下載:下載依賴(pcre庫、zlib庫、openssl庫),下載nginx,並所有解壓

  源碼安裝:找到nginx目錄下nginx/configure,配置庫路徑,編譯,安裝

  啓動服務:建立 /usr/local/nginx/sbin/nginx 軟鏈接到 /user/local/bin,啓動nginx

  開啓訪問端口:防火牆的緣由 https://blog.csdn.net/qq_40543961/article/details/79654230

  配置nginx.conf:配置文件有特定語法,其中模塊區分【http 配置http服務器】【mail 配置email服務器】;

    user【master進程和worker進程用戶都改成root】,worker_processes【配置worker進程數】,

    error_log【配置錯誤日誌】,event【模塊 優化性能】,http【模塊 默認使用數據類型 訪問日誌】,

    server【模塊/對外提供站點配置 [listen監聽ip:port] [server_name 服務器域名] [charset 字符集]

    [location 模塊/定位目錄/除去ip和port後的路徑   屬性:root資源目錄,index資源目錄下的文件]】

  

//

相關文章
相關標籤/搜索