項目架構: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資源目錄下的文件]】
//