国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

【W(wǎng)SL/WSL2-Ubuntu】突破界限:不使用服務(wù)器在一臺Windows搭建Nginx+FastDFS

這篇具有很好參考價值的文章主要介紹了【W(wǎng)SL/WSL2-Ubuntu】突破界限:不使用服務(wù)器在一臺Windows搭建Nginx+FastDFS。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

打造超級開發(fā)環(huán)境:Nginx和FastDFS在WSL中的完美結(jié)合

前言

隨著軟件開發(fā)領(lǐng)域的快速發(fā)展,跨平臺的開發(fā)環(huán)境變得日益重要。Windows Subsystem for Linux(WSL)和WSL 2為開發(fā)者提供了在Windows操作系統(tǒng)上體驗Linux環(huán)境的便捷途徑。本文將引導(dǎo)讀者深入探索WSL/WSL 2,并教授如何在其中搭建Nginx和FastDFS,為開發(fā)和測試提供更加靈活、高效的工作環(huán)境。

歡迎訂閱專欄:Python庫百寶箱:解鎖編程的神奇世界

1. 安裝和配置WSL/WSL 2

【W(wǎng)SL/WSL 2-Redis】解決Windows無法安裝WSL Ubuntu子系統(tǒng)與Redis安裝

1.1 啟用WSL和WSL 2功能

1.1.1 打開 PowerShell 作為管理員,啟用WSL功能

dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart

1.1.2 安裝Ubuntu

Ubuntu:

  • 默認(rèn)發(fā)行版:Ubuntu默認(rèn)發(fā)行版
  • Ubuntu 22.04 LTS:Ubuntu 22.04 LTS
  • Ubuntu 20.04:Ubuntu 20.04
    這里我使用Ubuntu 22.04 LTS
    wsl部署fastdfs,操作系統(tǒng),從零開始學(xué)JAVA,服務(wù)器,ubuntu,windows,信息可視化,nginx,linux

1.1.2 設(shè)置用戶名密碼

wsl部署fastdfs,操作系統(tǒng),從零開始學(xué)JAVA,服務(wù)器,ubuntu,windows,信息可視化,nginx,linux

2. 更新系統(tǒng)和安裝必要軟件

2.1 更新系統(tǒng)

2.1.1 打開終端

wsl部署fastdfs,操作系統(tǒng),從零開始學(xué)JAVA,服務(wù)器,ubuntu,windows,信息可視化,nginx,linux

2.1.2 運行系統(tǒng)更新

sudo apt update

2.2 安裝必要軟件

2.2.1 libfastcommon 安裝

# 安裝必要的依賴項
sudo apt-get install -y gcc make libevent-dev libevent-2.1-7 cmake
# 創(chuàng)建目錄并下載 libfastcommon
sudo mkdir -p /usr/local/fastdfs
wget https://gitee.com/mirrors/libfastcommon/repository/archive/V1.0.43.tar.gz
sudo tar -xzvf V1.0.43.tar.gz -C /usr/local/fastdfs/
cd /usr/local/fastdfs/libfastcommon-V1.0.43/
sudo ./make.sh
sudo ./make.sh install

wsl部署fastdfs,操作系統(tǒng),從零開始學(xué)JAVA,服務(wù)器,ubuntu,windows,信息可視化,nginx,linux

2.2.2 創(chuàng)建軟鏈接

sudo ln -s /usr/lib64/libfastcommon.so /usr/local/lib/libfastcommon.so
sudo ln -s /usr/local/lib64/libfdfsclient.so /usr/local/lib/libfdfsclient.so
sudo ln -s /usr/local/lib64/libfdfsclient.so /usr/lib/libfdfsclient.so

2.2.3 檢查軟鏈接


ls -l /usr/local/lib/libfastcommon.so
ls -l /usr/local/lib/libfdfsclient.so
ls -l /usr/lib/libfdfsclient.so

wsl部署fastdfs,操作系統(tǒng),從零開始學(xué)JAVA,服務(wù)器,ubuntu,windows,信息可視化,nginx,linux

回到根目錄

cd ~

3. 安裝和配置FastDFS

查看子系統(tǒng)ip

ip addr

wsl部署fastdfs,操作系統(tǒng),從零開始學(xué)JAVA,服務(wù)器,ubuntu,windows,信息可視化,nginx,linux

這里的eth0就是我們要使用到的地址,即192.168.14.131

3.1 下載并解壓 FastDFS

wget https://gitee.com/mirrors/fastdfs/repository/archive/V6.06.tar.gz
sudo tar -zxvf V6.06.tar.gz -C /usr/local/fastdfs/

3.2 修改安裝路徑

cd /usr/local/fastdfs/fastdfs-V6.06/
sudo vim make.sh

wsl部署fastdfs,操作系統(tǒng),從零開始學(xué)JAVA,服務(wù)器,ubuntu,windows,信息可視化,nginx,linux
修改為

TARGET_PREFIX=$DESTDIR/usr/local
sudo ./make.sh
sudo ./make.sh install

wsl部署fastdfs,操作系統(tǒng),從零開始學(xué)JAVA,服務(wù)器,ubuntu,windows,信息可視化,nginx,linux
安裝后,F(xiàn)astDFS主程序所在的位置是:

  • /usr/local/bin可執(zhí)行文件所在位置。默認(rèn)安裝在/usr/bin中。
  • /etc/fdfs配置文件所在位置。就是默認(rèn)位置。
  • /usr/local/lib64主程序代碼所在位置。默認(rèn)在/usr/bin中。
  • /usr/local/include/fastdfs包含的一些插件組所在位置。默認(rèn)在/usrlinclude/fastdfs 中。

3.3 Tracker-server配置

!?。。?!回到根目錄

cd ~

創(chuàng)建數(shù)據(jù)目錄

sudo mkdir -p /data/fastdfs/tracker

從sample獲取conf配置文件

sudo cp /etc/fdfs/tracker.conf.sample /etc/fdfs/tracker.conf

修改配置文件

sudo vim /etc/fdfs/tracker.conf

wsl部署fastdfs,操作系統(tǒng),從零開始學(xué)JAVA,服務(wù)器,ubuntu,windows,信息可視化,nginx,linux

# 修改 base_path,就是剛才創(chuàng)建的文件夾
base_path = /data/fastdfs/tracker

同步一下啟動腳本,同步安裝目錄在/usr/local/bin下;

sudo vim /etc/init.d/fdfs_trackerd

wsl部署fastdfs,操作系統(tǒng),從零開始學(xué)JAVA,服務(wù)器,ubuntu,windows,信息可視化,nginx,linux

# 修改 PRG
PRG=/usr/local/bin/fdfs_storaged
# 啟動服務(wù)
sudo /etc/init.d/fdfs_trackerd start
# 查看運行情況
ps aux | grep fdfs_trackerd

wsl部署fastdfs,操作系統(tǒng),從零開始學(xué)JAVA,服務(wù)器,ubuntu,windows,信息可視化,nginx,linux

3.4 Storage -server配置

# 復(fù)制配置文件
sudo cp /etc/fdfs/storage.conf.sample /etc/fdfs/storage.conf

# 創(chuàng)建存儲路徑
sudo mkdir -p /data/fastdfs/storage/base
sudo mkdir -p /data/fastdfs/storage/store

# 修改 storage.conf
sudo vim  /etc/fdfs/storage.conf  
# 修改 base_path 和 tracker_server
base_path = /data/fastdfs/storage/base
tracker_server = 192.168.14.131:22122
store_path0 = /data/fastdfs/storage/store

wsl部署fastdfs,操作系統(tǒng),從零開始學(xué)JAVA,服務(wù)器,ubuntu,windows,信息可視化,nginx,linux

sudo vim /etc/init.d/fdfs_storaged
# 修改 PRG
PRG=/usr/local/bin/fdfs_storaged
sudo /etc/init.d/fdfs_storaged start
ps aux | grep fdfs_storage

wsl部署fastdfs,操作系統(tǒng),從零開始學(xué)JAVA,服務(wù)器,ubuntu,windows,信息可視化,nginx,linux

3.5 Client -server配置

# 復(fù)制配置文件
sudo cp /etc/fdfs/client.conf.sample /etc/fdfs/client.conf

# 創(chuàng)建客戶端路徑
sudo mkdir -p /data/fastdfs/client

# 修改 client.conf
sudo vim  /etc/fdfs/client.conf
# 修改 tracker_server 和 base_path
tracker_server = 192.168.14.131:22122
base_path = /data/fastdfs/client
# 上傳測試文件
echo "This is a test file." > /tmp/test.log
sudo /usr/local/bin/fdfs_upload_file /etc/fdfs/client.conf /tmp/test.log

wsl部署fastdfs,操作系統(tǒng),從零開始學(xué)JAVA,服務(wù)器,ubuntu,windows,信息可視化,nginx,linux

4. fastdfs-nginx-module 安裝

4.1fastdfs-nginx-module 下載和解壓

?。。。?!回到根目錄

cd ~
# 下載并解壓 fastdfs-nginx-module
wget https://gitee.com/fastdfs100/fastdfs-nginx-module/repository/archive/V1.22.tar.gz
sudo tar -xzvf V1.22.tar.gz -C /usr/local/fastdfs/

4.2 修改 config 文件

cd /usr/local/fastdfs/fastdfs-nginx-module-V1.22/src/
sudo vim config

wsl部署fastdfs,操作系統(tǒng),從零開始學(xué)JAVA,服務(wù)器,ubuntu,windows,信息可視化,nginx,linux

# 修改 config 文件
CORE_INCS="$CORE_INCS /usr/local/include/fastdfs /usr/include/fastcommon/"   

5.Nginx 安裝

5.1 安裝依賴項

# 安裝依賴項
sudo apt-get install -y build-essential libtool
sudo apt-get update
sudo apt-get install -y libpcre3 libpcre3-dev zlib1g-dev openssl

?。。。?!回到根目錄

cd ~

5.2 下載并解壓 Nginx

# 下載并解壓 Nginx
wget http://nginx.org/download/nginx-1.16.1.tar.gz
sudo tar -xzvf nginx-1.16.1.tar.gz -C /usr/local/fastdfs/

5.3 創(chuàng)建nginx 一些模塊的存儲目錄

可能由于權(quán)限不足,導(dǎo)致我們需要手動創(chuàng)建一些目錄,后面還會講到

sudo mkdir -p  /var/temp/nginx
sudo mkdir -p  /var/run/nginx
sudo mkdir -p  /var/log/nginx

5.4 編譯安裝nginx

cd /usr/local/fastdfs/nginx-1.16.1/
# 配置 Nginx
sudo  ./configure --prefix=/usr/local/nginx --pid-path=/var/run/nginx/nginx.pid --lock-path=/var/lock/nginx.lock --error-log-path=/var/log/nginx/error.log --http-log-path=/var/log/nginx/access.log --with-http_gzip_static_module --http-client-body-temp-path=/var/temp/nginx/client --http-proxy-temp-path=/var/temp/nginx/proxy --http-fastcgi-temp-path=/var/temp/nginx/fastcgi --http-uwsgi-temp-path=/var/temp/nginx/uwsgi --http-scgi-temp-path=/var/temp/nginx/scgi --add-module=/usr/local/fastdfs/fastdfs-nginx-module-V1.22/src

上述命令用于配置、編譯和安裝 Nginx Web 服務(wù)器以及額外模塊的命令,特別是 FastDFS Nginx 模塊。下面是您使用的選項的解釋:

  • --prefix=/usr/local/nginx:指定 Nginx 的安裝目錄。
  • --pid-path=/var/run/nginx/nginx.pid:指定 Nginx 主進程的 PID 文件路徑。
  • --lock-path=/var/lock/nginx.lock:指定鎖文件的路徑。
  • --error-log-path=/var/log/nginx/error.log:指定錯誤日志文件的路徑。
  • --http-log-path=/var/log/nginx/access.log:指定 HTTP 訪問日志文件的路徑。
  • --with-http_gzip_static_module:啟用 HTTP gzip 靜態(tài)模塊,用于提供預(yù)壓縮的文件。
  • --http-client-body-temp-path=/var/temp/nginx/client:指定用于存儲客戶端請求主體的臨時文件的路徑。
  • --http-proxy-temp-path=/var/temp/nginx/proxy:指定用于存儲代理模塊的臨時文件的路徑。
  • --http-fastcgi-temp-path=/var/temp/nginx/fastcgi:指定用于存儲 FastCGI 模塊的臨時文件的路徑。
  • --http-uwsgi-temp-path=/var/temp/nginx/uwsgi:指定用于存儲 uWSGI 模塊的臨時文件的路徑。
  • --http-scgi-temp-path=/var/temp/nginx/scgi:指定用于存儲 SCGI 模塊的臨時文件的路徑。
  • --add-module=/usr/local/fastdfs/fastdfs-nginx-module-1.22/src:添加 FastDFS Nginx 模塊到編譯過程中。

這個命令配置了 Nginx,包括各種模塊的支持,并設(shè)置了日志文件和臨時存儲的路徑。配置完成后,通常會運行 makemake install 命令來編譯和安裝 Nginx,以及配置的模塊。

在繼續(xù)編譯之前,請檢查 ./configure 命令的輸出,確保沒有錯誤或缺少的依賴項。此外,請確保您對指定路徑有寫權(quán)限,并且系統(tǒng)上已安裝所需的依賴項。
wsl部署fastdfs,操作系統(tǒng),從零開始學(xué)JAVA,服務(wù)器,ubuntu,windows,信息可視化,nginx,linux

sudo make
sudo make install

5.5 snprintf()報錯

wsl部署fastdfs,操作系統(tǒng),從零開始學(xué)JAVA,服務(wù)器,ubuntu,windows,信息可視化,nginx,linux

cc1: all warnings being treated as errors
make[1]: *** [objs/Makefile:1214: objs/addon/src/ngx_http_fastdfs_module.o] Error 1
make[1]: Leaving directory ‘/usr/local/fastdfs/nginx-1.16.1’
make: *** [Makefile:8: build] Error 2

snprintf()函數(shù)不是標(biāo)準(zhǔn)C/C++庫函數(shù),在許多編譯器中,廠商提供了其相應(yīng)的實現(xiàn)的版本。在gcc中,該函數(shù)名稱就snprintf(),而在VS中稱為_snprintf()。
Makefile文件中,設(shè)置的編譯等級比較高,使用-werror選項,導(dǎo)致如果出現(xiàn)任何警告都將視為錯誤,所以就會導(dǎo)致編譯失敗。
禁用警告當(dāng)作錯誤處理:
如果您只是想先繞過這個問題,您可以在編譯時禁用將警告當(dāng)作錯誤處理。這可能并不是最佳做法,但可以讓您繼續(xù)編譯。在 configure 或 Makefile 中尋找類似 -Werror 的標(biāo)志,并將其刪除或注釋掉。

cd objs
sudo vim Makefile

wsl部署fastdfs,操作系統(tǒng),從零開始學(xué)JAVA,服務(wù)器,ubuntu,windows,信息可視化,nginx,linux

CFLAGS =  -pipe  -O -W -Wall -Wpointer-arith -Wno-unused-parameter -Werror -g  -D_FILE_OFFSET_BITS=64 -DFDFS_OUTPUT_CHUNK_SIZE='256*1024' -DFDFS_MOD_CONF_FILENAME='"/etc/fdfs/mod_fastdfs.conf"'

刪掉-Werror即可編譯成功
在編譯過程中使用 -Werror 標(biāo)志會將所有警告視為錯誤,這意味著如果有任何警告,編譯過程會失敗。這樣的做法有其優(yōu)點,因為它強制開發(fā)者解決潛在的問題,確保代碼的質(zhì)量。然而,有時候這也可能導(dǎo)致編譯失敗,尤其是在一些舊版本的代碼或編譯器中,可能存在一些不同程度的警告。

當(dāng)你刪除 -Werror 標(biāo)志后,編譯過程將不再把警告當(dāng)作錯誤對待,從而允許編譯器繼續(xù)進行,即使有一些警告。這樣做的目的是讓編譯能夠在存在一些輕微問題或非常規(guī)范的代碼時繼續(xù)進行。

請注意,盡管刪除 -Werror 可能會讓編譯通過,但在實際生產(chǎn)環(huán)境中,最好是在有警告的情況下盡量解決這些警告,以確保代碼的健壯性和可維護性。有時,特定的警告可能指示潛在的 bug 或安全問題,因此忽略這些警告可能會引入潛在的風(fēng)險。

cd ..
sudo make
sudo make install

wsl部署fastdfs,操作系統(tǒng),從零開始學(xué)JAVA,服務(wù)器,ubuntu,windows,信息可視化,nginx,linux
wsl部署fastdfs,操作系統(tǒng),從零開始學(xué)JAVA,服務(wù)器,ubuntu,windows,信息可視化,nginx,linux

5.6 拷貝 編輯 fastdfs-nginx-module的配置文件到/etc/fdfs/

?。。。。』氐礁夸?/strong>

cd ~
# 復(fù)制模塊配置文件
sudo cp  /usr/local/fastdfs/fastdfs-nginx-module-V1.22/src/mod_fastdfs.conf  /etc/fdfs/
sudo vim  /etc/fdfs/mod_fastdfs.conf

wsl部署fastdfs,操作系統(tǒng),從零開始學(xué)JAVA,服務(wù)器,ubuntu,windows,信息可視化,nginx,linux

# 修改 tracker_server 和 store_path0
tracker_server = 192.168.14.131:22122
store_path0 = /data/fastdfs/storage/store
url_have_group_name = true

5.7 復(fù)制其他配置文件,創(chuàng)建軟鏈接

# 復(fù)制其他配置文件
sudo cp /usr/local/fastdfs/fastdfs-V6.06/conf/http.conf /etc/fdfs
sudo cp /usr/local/fastdfs/fastdfs-V6.06/conf/mime.types /etc/fdfs

# 創(chuàng)建軟鏈接
sudo ln -s /usr/local/lib64/libfdfsclient.so /usr/lib64/libfdfsclient.so

# 創(chuàng)建網(wǎng)絡(luò)訪問存儲服務(wù)的軟鏈接
sudo ln -s /data/fastdfs/storage/store/data /data/fastdfs/storage/store/data/M00

5.8 修改 Nginx 配置

# 修改 Nginx 配置
cd /usr/local/nginx/conf
sudo vim nginx.conf
# 修改配置文件
user  nobody;
worker_processes  4;
# 增加 events 部分
events {
    worker_connections  1024;
}

# 配置 http 部分
http {
    include       mime.types;
    default_type  application/octet-stream;

    log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
                      '$status $body_bytes_sent "$http_referer" '
                      '"$http_user_agent" "$http_x_forwarded_for"';

    access_log  logs/access.log  main;
    error_log /var/log/nginx/error.log;

    sendfile        on;
    keepalive_timeout  65;

    # 配置服務(wù)器
    server {
        listen       8888;
        server_name  localhost;

        # 配置 FastDFS 模塊
        location ~/group[0-9]/M00  {
            ngx_fastdfs_module;
        }
        
        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        }
    }
}

wsl部署fastdfs,操作系統(tǒng),從零開始學(xué)JAVA,服務(wù)器,ubuntu,windows,信息可視化,nginx,linux

5.9 啟動 Nginx

# 啟動 Nginx
cd /usr/local/nginx
sudo ./sbin/nginx -t
sudo ./sbin/nginx

wsl部署fastdfs,操作系統(tǒng),從零開始學(xué)JAVA,服務(wù)器,ubuntu,windows,信息可視化,nginx,linux

由于安裝時權(quán)限不足,有可能會出問題,你可以打開目錄或根據(jù)提示看看缺哪個,創(chuàng)建后重新安裝,也可以使用命令創(chuàng)建
這里提示我缺少

/usr/local/nginx/logs/test.log

sudo mkdir -p /usr/local/nginx/logs
echo "This is a test file." | sudo tee /usr/local/nginx/logs/access.log

什么是tee
tee 是一個在 Linux 和類 Unix 操作系統(tǒng)上常用的命令行工具。tee 命令的主要功能是從標(biāo)準(zhǔn)輸入讀取數(shù)據(jù),將其復(fù)制到標(biāo)準(zhǔn)輸出,并寫入一個或多個文件。它通常用于在不中斷數(shù)據(jù)流的情況下將輸出保存到文件中,同時在終端上顯示。

tee 命令的基本語法如下:

command | tee [OPTION]... [FILE]...
  • command: 要從標(biāo)準(zhǔn)輸入讀取的命令或數(shù)據(jù)。
  • tee: 命令本身。
  • [OPTION]: 可選參數(shù),用于調(diào)整 tee 命令的行為。
  • [FILE]: 要寫入的文件名。如果省略文件名,tee 將向標(biāo)準(zhǔn)輸出復(fù)制數(shù)據(jù)。

一些常用的 tee 選項包括:

  • -a:追加到文件而不是覆蓋文件。
  • -i:忽略寫入時的錯誤。

例如,要將命令的輸出保存到文件并在終端上顯示,可以使用如下命令:

ls -l | tee output.txt

這將列出當(dāng)前目錄的文件,并將輸出保存到 output.txt 文件中,并在終端上顯示相同的輸出。

,使用 echo "This is a test file." | sudo tee /usr/local/nginx/logs/access.log 就是將文本寫入文件同時保持在終端上顯示的一個例子。

5.10 再次啟動Nginx

sudo ./sbin/nginx

wsl部署fastdfs,操作系統(tǒng),從零開始學(xué)JAVA,服務(wù)器,ubuntu,windows,信息可視化,nginx,linux

此時我們可以在8888端口發(fā)現(xiàn)配置成功了
wsl部署fastdfs,操作系統(tǒng),從零開始學(xué)JAVA,服務(wù)器,ubuntu,windows,信息可視化,nginx,linux

5.10 測試訪問

上傳一張圖片
wsl部署fastdfs,操作系統(tǒng),從零開始學(xué)JAVA,服務(wù)器,ubuntu,windows,信息可視化,nginx,linux
我們當(dāng)前在usr\local\nginx路徑下,我們可以拖一張圖片進來

# 上傳測試文件
sudo /usr/local/bin/fdfs_upload_file /etc/fdfs/client.conf b.jpg

wsl部署fastdfs,操作系統(tǒng),從零開始學(xué)JAVA,服務(wù)器,ubuntu,windows,信息可視化,nginx,linux

# 查看文件信息
/usr/local/bin/fdfs_file_info /etc/fdfs/client.conf group1/M00/00/00/wKgOg2VZzrSAXZyIAADwwTe7XM4453.jpg

wsl部署fastdfs,操作系統(tǒng),從零開始學(xué)JAVA,服務(wù)器,ubuntu,windows,信息可視化,nginx,linux

# 查看存儲路徑下的文件
sudo find /data/fastdfs/storage -type f -exec ls -l {} +

wsl部署fastdfs,操作系統(tǒng),從零開始學(xué)JAVA,服務(wù)器,ubuntu,windows,信息可視化,nginx,linux

Nginx上也可以訪問

http://192.168.14.131:8888/group1/M00/00/00/wKgOg2VZzrSAXZyIAADwwTe7XM4453.jpg
wsl部署fastdfs,操作系統(tǒng),從零開始學(xué)JAVA,服務(wù)器,ubuntu,windows,信息可視化,nginx,linux

# 查看 Nginx 運行狀態(tài)
sudo /usr/local/nginx/sbin/nginx -t
# 重新啟動 Storage
sudo /etc/init.d/fdfs_storaged restart
# 啟動 Nginx
sudo /usr/local/nginx/sbin/nginx

6. 模塊間關(guān)系:

  1. libfastcommon: 這是一個 FastDFS 系統(tǒng)的底層庫,提供了一些基礎(chǔ)的功能和工具,如事件處理、日志、內(nèi)存池等。FastDFS 系統(tǒng)的其他組件,如 Tracker 和 Storage,都依賴于 libfastcommon。

  2. Tracker: Tracker 是 FastDFS 的一個核心組件,用于跟蹤存儲服務(wù)器的狀態(tài)和文件信息。它負責(zé)協(xié)調(diào) Storage 節(jié)點,并提供文件上傳、下載的元數(shù)據(jù)查詢服務(wù)。

  3. Storage: Storage 是 FastDFS 的存儲節(jié)點,負責(zé)文件的實際存儲和提供文件的讀寫服務(wù)。多個 Storage 節(jié)點可以通過 Tracker 進行協(xié)調(diào),形成一個分布式的存儲系統(tǒng)。

  4. Client: 客戶端是與 FastDFS 系統(tǒng)交互的用戶端,用于上傳、下載文件等操作。它通過配置文件與 Tracker 和 Storage 進行通信。

  5. fastdfs-nginx-module: 這是一個 Nginx 模塊,用于在 Nginx 服務(wù)器上實現(xiàn) FastDFS 文件服務(wù)的 HTTP 訪問接口。它允許 Nginx 直接通過 HTTP 訪問 FastDFS 存儲的文件。

  6. Nginx: Nginx 是一個高性能的開源反向代理服務(wù)器,用于處理 HTTP 請求。在這里,Nginx 與 fastdfs-nginx-module 配合使用,使 Nginx 具備了直接訪問 FastDFS 存儲的文件的能力。

7. 各個模塊用法:

  1. libfastcommon: 安裝 libfastcommon 庫并創(chuàng)建軟鏈接,為 FastDFS 的其他組件提供基礎(chǔ)支持。

  2. Tracker: 安裝 Tracker,配置并啟動 Tracker 服務(wù)。Tracker 負責(zé)協(xié)調(diào)存儲服務(wù)器,并提供元數(shù)據(jù)查詢服務(wù)。

  3. Storage: 安裝 Storage,配置并啟動 Storage 服務(wù)。Storage 負責(zé)實際的文件存儲和提供讀寫服務(wù)。

  4. Client: 安裝客戶端,配置客戶端參數(shù),可以通過客戶端上傳、下載文件等操作。

  5. fastdfs-nginx-module: 安裝該模塊,配置 Nginx,使其能夠通過 HTTP 訪問 FastDFS 存儲的文件。

  6. Nginx: 配置 Nginx,加載 fastdfs-nginx-module 模塊,實現(xiàn)對 FastDFS 存儲文件的直接訪問。

8. 各個模塊存在的意義:

  1. 分布式存儲: FastDFS 采用分布式存儲架構(gòu),允許橫向擴展,提高了存儲容量和性能。

  2. 高可用性: 多個 Storage 節(jié)點之間通過 Tracker 協(xié)調(diào),當(dāng)一個節(jié)點發(fā)生故障時,系統(tǒng)依然可以提供服務(wù)。

  3. 元數(shù)據(jù)查詢: Tracker 提供了文件的元數(shù)據(jù)查詢服務(wù),客戶端可以通過 Tracker 查詢文件信息,如文件路徑、大小等。

  4. HTTP 訪問接口: 通過 fastdfs-nginx-module,Nginx 可以直接通過 HTTP 訪問 FastDFS 存儲的文件,提高了文件的訪問效率。

  5. 靈活性: FastDFS 提供了客戶端 API,允許開發(fā)者通過編程接口與 FastDFS 系統(tǒng)進行交互,實現(xiàn)更多自定義的操作。

綜合而言,F(xiàn)astDFS 提供了一個高性能、可擴展、分布式的文件存儲解決方案,適用于需要大規(guī)模文件存儲和訪問的場景,如圖片、視頻等多媒體文件的存儲與分發(fā)。

總結(jié)

通過按照以上步驟,你已經(jīng)在WSL/WSL 2上成功搭建了Nginx和FastDFS。這使得你可以在Windows系統(tǒng)中方便地運行和測試這些服務(wù)。
這只是一個基本的配置,根據(jù)實際需要,你可能需要進一步調(diào)整和優(yōu)化配置,以滿足特定的項目要求。
這不僅僅是搭建服務(wù)的過程,更是對跨平臺開發(fā)和操作的一次探索。文章來源地址http://www.zghlxwxcb.cn/news/detail-830407.html

到了這里,關(guān)于【W(wǎng)SL/WSL2-Ubuntu】突破界限:不使用服務(wù)器在一臺Windows搭建Nginx+FastDFS的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經(jīng)查實,立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費用

相關(guān)文章

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包