002_FastDFS单机部署
1. 環境準備
1.1. 使用的系統軟件
1.2. 編譯環境
1.2.1. 編譯命令(實際安裝了git、gcc、gcc-c++、pcre、pcre-devel、zlib、zlib-devel、openssl-devel、wget、vim等工具和依賴模塊)
yum install git gcc gcc-c++ make automake autoconf libtool pcre pcre-devel zlib zlib-devel openssl-devel wget vim -y1.2.2.?運行截圖
1.3. 磁盤目錄
1.3.1. 目錄說明
| 說明 | 位置 |
| 所有安裝包 | /usr/local/fastdfs/ |
| 數據存儲位置 | /usr/local/fastdfs/storage01/ |
| 這里為了方便把日志、數據存儲都放到了storage01 | |
1.3.2. 創建目錄和切換目錄
mkdir /usr/local/fastdfs #創建所有安裝包目錄 mkdir /usr/local/fastdfs/storage01 #創建數據存儲目錄 cd /usr/local/fastdfs #切換到安裝目錄準備下載安裝包2. 安裝libfatscommon
2.1. 安裝命令
git clone https://github.com/happyfish100/libfastcommon.git --depth 1 cd libfastcommon/ #下載libfastcommon模塊 ./make.sh && ./make.sh install #編譯安裝2.2. 安裝截圖
2.3. 安裝完成后/usr/lib64和/usr/lib目錄下都多了一個libfastcommon.so
3. 安裝FastDFS
3.1. 安裝命令
cd ../ #返回上一級目錄 git clone https://github.com/happyfish100/fastdfs.git --depth 1 cd fastdfs/ #下載FastDFS本體 ./make.sh && ./make.sh install #編譯安裝3.2. 安裝截圖
3.3. 安裝完成在etc目錄下多了一個fdfs目錄
3.4. 配置文件準備
#tracker跟蹤服務器的配置文件, 拷貝tracker.conf.sample到/etc/fdfs目錄下, 并重命名為tracker.conf cp /etc/fdfs/tracker.conf.sample /etc/fdfs/tracker.conf #storage儲存服務器的配置文件, 拷貝storage.conf.sample到/etc/fdfs目錄下, 并重命名為storage.conf cp /etc/fdfs/storage.conf.sample /etc/fdfs/storage.conf cp /etc/fdfs/client.conf.sample /etc/fdfs/client.conf #client配置文件 cp /usr/local/fastdfs/fastdfs/conf/http.conf /etc/fdfs/ #供nginx訪問使用 cp /usr/local/fastdfs/fastdfs/conf/mime.types /etc/fdfs/ #供nginx訪問使用3.5. 配置文件準備完成
4. 安裝fastdfs-nginx-module
4.1. 安裝fastdfs-nginx-module命令
#返回上一級目錄 cd ../ #下載fastdfs-nginx-module模塊 git clone https://github.com/happyfish100/fastdfs-nginx-module.git --depth 1 #拷貝mod_fastdfs.conf到/etc/fdfs目錄下 cp /usr/local/fastdfs/fastdfs-nginx-module/src/mod_fastdfs.conf /etc/fdfs4.2. 安裝截圖
5. 安裝nginx
5.1. 安裝nginx命令
wget http://nginx.org/download/nginx-1.15.4.tar.gz #下載nginx壓縮包 tar -zxvf nginx-1.15.4.tar.gz #解壓 cd nginx-1.15.4/ #切換到nginx-1.15.4目錄 #添加fastdfs-nginx-module模塊 ./configure --add-module=/usr/local/fastdfs/fastdfs-nginx-module/src/ #編譯安裝 make && make install5.2. 添加fastdfs-nginx-module模塊截圖
5.3. 編譯安裝截圖
5.4. 安裝完nginx后, /usr/local目錄下多了一個nginx目錄
6. tracker配置
6.1. 配置參數
#tracker服務器ip為 192.168.25.135 #編輯tracker.conf文件 vim /etc/fdfs/tracker.conf #需要修改的內容如下 port=22122 #tracker服務器端口(默認22122, 一般不修改) base_path=/usr/local/fastdfs/storage01 #存儲日志和數據的根目錄6.2. 啟動tracker
/usr/bin/fdfs_trackerd /etc/fdfs/tracker.conf #啟動tracker服務 /etc/init.d/fdfs_trackerd start #啟動tracker服務 /etc/init.d/fdfs_trackerd restart #重啟動tracker服務 /etc/init.d/fdfs_trackerd stop #停止tracker服務 chkconfig fdfs_trackerd on #自啟動tracker服務7. storage配置
7.1. 配置參數
#編輯storage.conf文件 vim /etc/fdfs/storage.conf #需要修改的內容如下 group_name=group1 #卷/組名 port=23000 #storage服務端口(默認23000,一般不修改) base_path=/usr/local/fastdfs/storage01 #數據和日志文件存儲根目錄 store_path0=/usr/local/fastdfs/storage01 #第一個存儲目錄 tracker_server=192.168.25.135:22122 #tracker服務器IP和端口 http.server_port=8888 #http訪問文件的端口(默認8888,看情況修改,和nginx中保持一致)7.2. 啟動storage節點
/usr/bin/fdfs_storaged /etc/fdfs/storage.conf #啟動storage服務 /etc/init.d/fdfs_storaged start #啟動storage服務 /etc/init.d/fdfs_storaged restart #重動storage服務 /etc/init.d/fdfs_storaged stop #停止動storage服務 chkconfig fdfs_storaged on #自啟動storage服務8. client測試
8.1. 配置參數
vim /etc/fdfs/client.conf #編輯client.conf文件 #需要修改的內容如下 base_path=/usr/local/fastdfs/storage01 #數據和日志文件存儲根目錄 tracker_server=192.168.25.135:22122 #tracker服務器IP和端口 #保存后測試,返回ID表示成功 如:group1/M00/00/00/xx.tar.gz fdfs_upload_file /etc/fdfs/client.conf /usr/local/fastdfs/nginx-1.15.4.tar.gz8.2. 上傳截圖
8.3. 沒有nginx無法http下載
9. 配置nginx訪問
9.1. 配置mod_fastdfs.conf
#編輯mod_fastdfs.conf文件 vim /etc/fdfs/mod_fastdfs.conf #需要修改的內容如下 group_name=group1 #卷/組名 tracker_server=192.168.25.135:22122 #tracker服務器IP和端口 url_have_group_name=true #url中需要包含組名 store_path0=/usr/local/fastdfs/storage01 #第一個存儲目錄9.2. 配置nginx.config(配置nginx需要重啟nginx, 使用reload命令無效)
#編輯nginx.conf文件 vim /usr/local/nginx/conf/nginx.conf #添加如下配置 server {listen 8888; #該端口為storage.conf中的http.server_port相同server_name localhost; #當前主機的名字location ~/group[1-9]/ { #攔截帶有group1~group9的請求ngx_fastdfs_module;}error_page 500 502 503 504 /50x.html;location = /50x.html {root html;} }9.3. 啟動nginx
/usr/local/nginx/sbin/nginx #啟動nginx /usr/local/nginx/sbin/nginx -s reload #重啟nginx /usr/local/nginx/sbin/nginx -s stop #停止nginx #測試下載,用外部瀏覽器訪問剛才已傳過的nginx安裝包,引用返回的ID http://192.168.25.135:8888/group1/M00/00/00/wKgZh17l5maAGr8HAA-itrfn0m4.tar.gz #彈出下載單機部署全部跑通9.4. 啟動nginx后, 我們的nginx有2個進程, master和worker
9.5. 配置80端口可訪問
upstream fdfs_group1 { #group1的配置server 192.168.25.135:8888 weight=1 max_fails=2 fail_timeout=30s; server 192.168.25.137:8888 weight=1 max_fails=2 fail_timeout=30s; } upstream fdfs_group2 { #group2的配置server 192.168.25.138:8888 weight=1 max_fails=2 fail_timeout=30s; } server { listen 80;server_name localhost;location /group1/ { #80端口代理訪問group1proxy_next_upstream http_502 http_504 error timeout invalid_header; proxy_pass http://fdfs_group1; expires 30d; } location /group2/ { #80端口代理訪問group2proxy_next_upstream http_502 http_504 error timeout invalid_header; proxy_pass http://fdfs_group2; expires 30d; } #關閉favicon.ico的loglocation = /favicon.ico {log_not_found off;access_log off;} }9.6. 測試下載
《新程序員》:云原生和全面數字化實踐50位技術專家共同創作,文字、視頻、音頻交互閱讀總結
以上是生活随笔為你收集整理的002_FastDFS单机部署的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 001_FastDFS介绍
- 下一篇: 003_FastDFS分布式横向扩容和纵