FastDFS+Nginx如何搭建本地服務器并實現(xiàn)遠程訪問
前言
FastDFS是一個開源的輕量級分布式文件系統(tǒng),它對文件進行管理,功能包括:文件存儲、文件同步、文件訪問(文件上傳、文件下載)等,解決了大容量存儲和負載均衡的問題。特別適合以文件為載體的在線服務,如相冊網(wǎng)站、視頻網(wǎng)站等等。
FastDFS為互聯(lián)網(wǎng)量身定制,充分考慮了冗余備份、負載均衡、線性擴容等機制,并注重高可用、高性能等指標,使用FastDFS很容易搭建一套高性能的文件服務器集群提供文件上傳、下載等服務。
配備一臺公網(wǎng)服務器作為文件上傳下載,花費資源和開銷比較大,如果在本地搭建FastDFS服務,只把上傳后的文件通過cpolar內(nèi)網(wǎng)端口轉(zhuǎn)發(fā)工具將文件配置可通過互聯(lián)網(wǎng)訪問,極大了減少服務器費用及開銷,本文介紹詳細搭建FastDFS教程,并結(jié)合Nginx+cpolar工具實現(xiàn)遠程訪問文件。
1. 本地搭建FastDFS文件系統(tǒng)
1.1 環(huán)境安裝
由于fastDFS是由c語言編寫,所以我們需要安裝gcc
yum -y install gcc-c++
FastDFS依賴libevent庫
,需要安裝。執(zhí)行如下命令:
yum -y install libevent
1.2 安裝libfastcommon
進入local目錄
cd /usr/local
libfastcommon是FastDFS官方提供的,libfastcommon包含了FastDFS運行所需要的一些基礎庫。點擊下面鏈接即可獲取:
https://github.com/happyfish100/libfastcommon/releases/tag/V1.0.7
獲取后,上傳到local
目錄下
解壓libfastcommon
tar -zxvf libfastcommonV1.0.7.tar.gz
進入解壓文件夾
cd libfastcommon-1.0.7/
編譯
./make.sh
安裝
./make.sh install
libfastcommon安裝好后會自動將庫文件拷貝至/usr/lib64
下,由于FastDFS程序引用usr/lib目錄所以需要將/usr/lib64下的庫文件拷貝至/usr/lib下。
cp /usr/lib64/libfastcommon.so /usr/lib/
1.3 安裝FastDFS
進入local目錄
cd /usr/local
點擊下列地址,可獲取下載FastDFS_v5.05.tar.gz文件:
https://sourceforge.net/projects/fastdfs/
下載文件后,上傳FastDFS_v5.05.tar.gz
到/usr/local/
解壓文件
tar -zxvf FastDFS_v5.05.tar.gz
進入解壓文件夾
cd FastDFS
編譯
./make.sh
安裝
./make.sh install
安裝成功后,將安裝目錄下的conf下的文件拷貝到/etc/fdfs/
下
cd conf/
拷貝
cp * /etc/fdfs/
1.4 配置Tracker
接下來進行配置,安裝成功后進入/etc/fdfs
目錄
cd /etc/fdfs/
修改tracker.conf
vim tracker.conf
把base_path=/home/yuqing/fastdfs
改為base_path=/home/fastdfs
編輯后保存退出,然后創(chuàng)建一個對應的fastdfs文件夾
mkdir /home/fastdfs
然后啟動
/usr/bin/fdfs_trackerd /etc/fdfs/tracker.conf restart
設置開機啟動
vim /etc/rc.d/rc.local
將運行命令行添加進文件
/usr/bin/fdfs_trackerd /etc/fdfs/tracker.conf restart
1.5 配置Storage
進入/etc/fdfs目錄
cd /etc/fdfs
修改storage.conf
vim storage.conf
把base_path=/home/yuqing/fastdfs
改為base_path=/home/fastdfs
把store_path0=/home/yuqing/fastdfs
改為store_path0=/home/fastdfs/fdfs_storage
繼續(xù)修改,設置tracker服務器:IP,tracker_server=Linux局域網(wǎng)ip:22122 ,設置好后保存退出
創(chuàng)建對應fdfs_storage文件夾
mkdir /home/fastdfs/fdfs_storage
然后啟動
/usr/bin/fdfs_storaged /etc/fdfs/storage.conf restart
設置開機自動啟動
vim /etc/rc.d/rc.local
將運行命令行添加到文件,然后保存
/usr/bin/fdfs_storaged /etc/fdfs/storage.conf restart
1.6 測試上傳下載
FastDFS安裝成功可通過/usr/bin/fdfs_test命令測試上傳、下載等操作。
修改/etc/fdfs/client.conf
vim /etc/fdfs/client.conf
修改如下內(nèi)容,然后保存:
base_path=/home/fastdfstracker_server=Linux局域網(wǎng)ip:22122
接下來測試上傳文件,這里上傳了一張圖片到/usr/local
目錄下,作為測試使用
FastDFS上傳文件使用格式:
/usr/bin/fdfs_test /etc/fdfs/client.conf upload+ 上傳文件的路徑
然后按照格式,測試將test23.png圖片上傳到FastDFS中
/usr/bin/fdfs_test /etc/fdfs/client.conf upload /usr/local/test23.png
執(zhí)行后,我們可以看到返回地址信息,表示成功,但是目前還訪問不了,需要結(jié)合Nginx做訪問下載
1.7 與Nginx整合
點擊下載下面鏈接下載fastdfs-nginx-module_v1.16:
[https://sourceforge.net/projects/fastdfs/files/FastDFS%20Nginx%20Module%20Source%20Code/fastdfs-nginx-module_v1.16.tar.gz/download](https://sourceforge.net/projects/fastdfs/files/FastDFS Nginx Module Source Code/fastdfs-nginx-module_v1.16.tar.gz/download)
進入 /usr/local/文件夾下
cd /usr/local/
上傳fastdfs-nginx-module_v1.16.tar.gz
解壓fastdfs-nginx-module_v1.16.tar.gz
tar -zxvf fastdfs-nginx-module_v1.16.tar.gz
進入src,然后編輯配置文件
cd fastdfs-nginx-module/src/
修改config文件
vim config
修改這三個位置,將里面原本是/usr/local/的路徑改為/usr/,然后保存退出
然后將FastDFS-nginx-module/src下的mod_FastDFS.conf拷貝至/etc/fdfs/下
cp mod_fastdfs.conf /etc/fdfs/
修改mod_FastDFS.conf的內(nèi)容:
vim /etc/fdfs/mod_fastdfs.conf
修改內(nèi)容如下:
base_path=/home/fastdfs
tracker_server=Linux局域網(wǎng)ip地址:22122
url_have_group_name=true #url中包含group名稱
store_path0=/home/fastdfs/fdfs_storage #指定文件存儲路徑
接下來將libfdfsclient.so拷貝至/usr/lib下
cp /usr/lib64/libfdfsclient.so /usr/lib/
創(chuàng)建nginx/client目錄即可
mkdir -p /var/temp/nginx/client
1.8 安裝Nginx
首先安裝系列環(huán)境
yum -y install pcre pcre-devel
yum -y install zlib zlib-devel
yum -y install openssl openssl-devel
然后點擊下載Nginx包:
nginx-1.16.1.tar.gz
上傳到root目錄下
解壓,并進入解壓文件夾
tar -zxvf nginx-1.16.1.tar.gz && cd nginx-1.16.
添加FastDFS-nginx-module模塊,執(zhí)行以下命令:
./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-nginx-module/src
然后編譯
make
安裝
make install
1.9 配置Nginx
修改Nginx配置文件
vim /usr/local/nginx/conf/nginx.conf
添加server,添加后保存退出:
server { listen 8089;#為了防止80端口,我們改成8089 server_name 192.168.59.133;#這里需要使用你本機的局域網(wǎng)ip location /group1/M00/{ ngx_fastdfs_module; } }
啟動Nginx
/usr/local/nginx/sbin/nginx
如果啟動nginx出現(xiàn)以下錯誤:
nginx: [emerg] open() “/var/run/nginx/nginx.pid” failed (2: No such file or directory)
可以執(zhí)行如下命令,然后再次啟動:
mkdir /var/run/nginx
設置開機自動啟動。
vim /etc/rc.d/rc.local
將運行命令行添加進文件,然后保存退出:
/usr/local/nginx/sbin/nginx
關閉防火墻
service iptables stop
設置防火墻不自動啟動
chkconfig iptables off
2. 局域網(wǎng)測試訪問FastDFS
然后按照格式,測試將上面我們上傳的test23.png圖片上傳到FastDFS中
/usr/bin/fdfs_test /etc/fdfs/client.conf upload /usr/local/test23.png
執(zhí)行后,我們可以看到返回地址信息,表示成功
然后使用上面的地址,在瀏覽器訪問,即可看到我們上傳的圖片,fastDFS搭建完成
3. 安裝cpolar內(nèi)網(wǎng)穿透
上面我們在本地Linux虛擬機安裝了fastDFS分布式文件服務,下面我們安裝cpolar內(nèi)網(wǎng)穿透工具,通過cpolar的http公網(wǎng)地址,我們可以很容易遠程也可以訪問fastDFS里面上傳的文件,而無需自己注冊域名購買云服務器.下面是安裝cpolar內(nèi)網(wǎng)穿透步驟
cpolar官網(wǎng):https://www.cpolar.com/
使用一鍵腳本安裝命令
curl -L https://www.cpolar.com/static/downloads/install-release-cpolar.sh | sudo bash
token認證
登錄cpolar官網(wǎng)后臺,點擊左側(cè)的驗證,查看自己的認證token,之后將token貼在命令行里:
cpolar authtoken xxxxxxx
向系統(tǒng)添加服務
sudo systemctl enable cpolar
啟動cpolar服務
sudo systemctl start cpolar
4. 配置公網(wǎng)訪問地址
成功啟動cpolar服務后,我們在瀏覽器上訪問Linux局域網(wǎng)ip地址+9200端口,登錄cpolar web UI管理界面。
登錄成功后,點擊左側(cè)儀表盤的隧道管理——創(chuàng)建隧道,創(chuàng)建一個http協(xié)議的隧道指向上面設置的Nginx8089端口:
隧道名稱:可自定義,注意不要與已有的隧道名稱重復協(xié)議:http本地地址:8089域名類型:免費選擇隨機域名地區(qū):選擇China VIP
點擊創(chuàng)建
然后打開在線隧道列表,查看并且復制公網(wǎng)地址
然后打開瀏覽器,輸入公網(wǎng)地址,訪問我們上傳在fastDFS里的文件,即可遠程訪問成功
5. 固定公網(wǎng)地址
由于剛剛創(chuàng)建隧道使用的是隨機臨時地址,該地址會在24小時內(nèi)發(fā)生變化,為了長期和更穩(wěn)定遠程訪問,我們接下來將這個公網(wǎng)地址配置為固定的,
5.1 保留二級子域名
需升級至基礎套餐或以上才支持配置二級子域名,如有下載文件的需求,可以升級更高套餐以便獲取更大的帶寬,提高下載速度
登錄cpolar官網(wǎng)后臺,點擊左側(cè)儀表盤的預留
,找到保留二級子域名
,為http隧道保留一個二級子域名。
地區(qū):選擇服務器地區(qū)名稱:填寫您想要保留的二級子域名(可自定義)描述:即備注,可自定義填寫
本例保留一個名稱為fasttest
的二級子域名。子域名保留成功后,我們將子域名復制下來,接下來需要將其配置到隧道中去。
5.2 配置二級子域名
登錄cpolar web ui管理界面。點擊左側(cè)儀表盤的隧道管理
——隧道列表
,找到需要配置二級子域名的隧道,點擊右側(cè)的編輯
修改隧道信息,將二級子域名配置到隧道中:
域名類型:改為選擇二級子域名
Sub Domain:填寫我們剛剛所保留的二級子域名(本例為fasttest
)
修改完成后,點擊更新
隧道更新成功后,點擊左側(cè)儀表盤的狀態(tài)
——在線隧道列表
,可以看到隧道的公網(wǎng)地址,已經(jīng)更新為二級子域名了,將公網(wǎng)地址復制下來。
6. 測試訪問固定二級子域名
我們來測試一下訪問配置成功的二級子域名,打開瀏覽器,輸入公網(wǎng)地址加資源路徑,訪問我們上傳在fastDFS里的文件,出現(xiàn)圖片即可遠程訪問成功?,F(xiàn)在,我們?nèi)W(wǎng)唯一的私有二級子域名,就創(chuàng)建好了。
而且這個地址也不會再隨機變化,他是固定不變的,只要保持隧道在線,我們在外就可以通過這個公網(wǎng)地址,隨時隨地遠程訪問,無需公網(wǎng)IP,也不用設置路由器。
到此這篇關于FastDFS+Nginx如何搭建本地服務器并實現(xiàn)遠程訪問的文章就介紹到這了,更多相關FastDFS Nginx搭建本地服務器內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
安裝Windows版nginx及部署前端代碼并解決刷新出現(xiàn)404問題
這篇文章主要給大家介紹了關于安裝Windows版nginx及部署前端代碼解決刷新出現(xiàn)404問題的相關資料,使用nginx部署前端項目是一篇非常詳細的教程,旨在幫助初學者使用Nginx來部署前端項目,需要的朋友可以參考下2023-12-12Nginx反向代理如何到訪問者機器上(后端調(diào)試)
這篇文章主要介紹了Nginx反向代理如何到訪問者機器上(后端調(diào)試),具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2024-06-06Nginx轉(zhuǎn)發(fā)socket端口配置詳解
這篇文章主要介紹了Nginx轉(zhuǎn)發(fā)socket端口配置詳解,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2019-06-06nginx 自定義 404、50x 錯誤頁面的實現(xiàn)
本文主要介紹了nginx 自定義 404、50x 錯誤頁面的實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2024-12-12Nginx listen 監(jiān)聽端口的實現(xiàn)配置
本文將介紹Nginx的listen指令及其在配置文件中的應用,通過了解listen指令,我們可以知道Nginx如何監(jiān)聽端口,并配置相應的服務器塊來處理進入的請求2023-12-12