天天看點

Mac 基于HTTP方式通路下載下傳共享檔案,配置共享伺服器

作者:運維筆記ywbj

方法一:使用Python的SimpleHTTPServer進行區域網路檔案共享

Mac 自帶Python,是以不需要安裝其他軟體,一條指令即可

1):進入需要共享的檔案夾,如Public檔案夾

cd /Users/test/Public           

2):啟動區域網路共享

後面可加端口,如不加80端口,預設為8000端口

sudo python -m SimpleHTTPServer 80           

在浏覽器通路 ip:端口,可檢視檔案

Mac 基于HTTP方式通路下載下傳共享檔案,配置共享伺服器

優點:簡單

缺點:檔案顯示簡單,沒有詳細資訊,界面不友好

方法二:搭建apache ftp server 伺服器

1):需要搭建Java環境

  • 1.1下載下傳Java JDK安裝

下載下傳位址https://www.oracle.com/java/technologies/downloads/

Mac 基于HTTP方式通路下載下傳共享檔案,配置共享伺服器

選擇macOS 下載下傳,在電腦上安裝即可。

  • 1.2 配置java環境

進入跟目錄,建立或編輯 .bash_profile檔案,

cd /
vi .bash_profile           

内容如下:

JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk-17.jdk/Contents/Home/
CLASSPAHT=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
PATH=$JAVA_HOME/bin:$PATH:
export JAVA_HOME
export CLASSPATH
export PATH           

編輯完成後,重新整理配置檔案

source .bash_profile           

配置完成,輸入`echo $JAVA_HOME`,可檢視剛才配置環境

test@testdeMac ~ % echo $JAVA_HOME
/Library/Java/JavaVirtualMachines/jdk-17.jdk/Contents/Home           

至此java環境搭建完成。

2):下載下傳apache ftp server

下載下傳位址:

https://www.apache.org/dyn/closer.lua/mina/ftpserver/1.1.1/dist/apache-ftpserver-1.1.1.tar.gz

Mac 基于HTTP方式通路下載下傳共享檔案,配置共享伺服器
  • 終端輸入指令下載下傳解壓
curl -O https://dlcdn.apache.org/mina/ftpserver/1.1.1/dist/apache-ftpserver-1.1.1.tar.gz
tar zxvf apache-ftpserver-1.1.1.tar.gz           
  • 修改使用者配置(\apache-ftpserver-1.1.1\res\conf\users.properties),如:需要添加(使用者:ftpuser 密碼:ftpuser),則在末尾添加
vim apache-ftpserver-1.1.1/res/conf/users.properties           

添加使用者資訊如下:

########### 自定義使用者 ##########
#密碼
ftpserver.user.ftpuser.userpassword=ftpuser
#主目錄(檔案上傳的根目錄)
ftpserver.user.ftpuser.homedirectory=./res/home
#目前使用者可用
ftpserver.user.ftpuser.enableflag=true
#是否具有上傳權限
ftpserver.user.ftpuser.writepermission=true
#最大登入數為20(如果為0,表示無限制)
ftpserver.user.ftpuser.maxloginnumber=20
#同IP登入使用者數為2(如果為0,表示無限制)
ftpserver.user.ftpuser.maxloginperip=2
#空閑時間為300秒(如果為0,表示無限制)
ftpserver.user.ftpuser.idletime=300
#上傳速率限制為480000位元組每秒(如果為0,表示無限制)
ftpserver.user.ftpuser.uploadrate=4800
#下載下傳速率限制為480000位元組每秒(如果為0,表示無限制)
ftpserver.user.ftpuser.downloadrate=4800           
  • 修改伺服器配置資訊,如端口,預設為2121
vim apache-ftpserver-1.1.1/res/conf/ftpd-typical.xml           
  • 啟動,修改完成後,進入apache-ftpserver-1.1.1/bin目錄
cd apache-ftpserver-1.1.1/bin           

啟動ftp伺服器:

./ftpd.sh res/conf/ftpd-typical.xml           

提示以下資訊,啟動成功:

Using XML configuration file res/conf/ftpd-typical.xml...

FtpServer started

Mac 基于HTTP方式通路下載下傳共享檔案,配置共享伺服器

3):浏覽器輸入ftp://IP:端口測試

這裡測試IP為: ftp://192.168.152.180:2121/ ,浏覽器輸入即可

Mac 基于HTTP方式通路下載下傳共享檔案,配置共享伺服器

或者在“我的電腦” 位址欄,輸入測試。

Mac 基于HTTP方式通路下載下傳共享檔案,配置共享伺服器

搭建完成,檔案儲存路徑為:apache-ftpserver-1.1.1/res/home/

優點:支援檔案資料總管和浏覽器檢視下載下傳,上傳在用戶端也可以。

缺點:浏覽器支援不多,老版IE和火狐支援,最新版浏覽器,如谷歌,已不支援ftp界面顯示

方法三:搭建nginx伺服器,配置檔案管理(推薦)

mac無法直接安裝nginx,需下載下傳Homebrew工具包安裝。

1):安裝Homebrew

官網:https://brew.sh/

按照指令安裝

/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"           

按提示輸入管理者密碼,和Enter鍵即可。

Mac 基于HTTP方式通路下載下傳共享檔案,配置共享伺服器

2):安裝nginx

brew install nginx           

安裝完成

Mac 基于HTTP方式通路下載下傳共享檔案,配置共享伺服器

3):配置nginx共享配置檔案

進入nginx配置檔案夾,建立共享檔案sharefile.conf

cd /usr/local/etc/nginx/servers           

輸入以下内容

server {
	listen 80;
	server_name localhost;

location / {
	root /; #共享檔案目錄位置
	#index index.html index.htm;
	autoindex on; #--- 開啟nginx站點目錄索引功能
	#auth_basic "pass";
	#auth_basic_user_file password/htpasswd;
	}
}           

其他參數參考

autoindex on; #開啟nginx目錄浏覽功能
autoindex_exact_size off; #檔案大小從KB開始顯示
autoindex_localtime on; #顯示檔案修改時間為伺服器本地時間           

最後啟動nginx即可通路,輸入nginx即可啟動

nginx           

如果更改配置檔案後,重載配置檔案即可

nginx -s reload           

最後浏覽器輸入IP位址即可通路,

Mac 基于HTTP方式通路下載下傳共享檔案,配置共享伺服器

這裡nginx共享檔案搭建完成。

4):配置nginx開機啟動

複制啟動檔案到/Library/LaunchDaemons/

sudo cp /usr/local/opt/nginx/homebrew.mxcl.nginx.plist /Library/LaunchDaemons/           

根據自己需求更改配置檔案

sudo vim /Library/LaunchDaemons/homebrew.mxcl.nginx.plist           

原配置如下

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>Label</key>
<string>homebrew.mxcl.nginx</string>
<key>ProgramArguments</key>
<array>
<string>/usr/local/opt/nginx/bin/nginx</string>
<string>-g</string>
<string>daemon off;</string>
</array>
<key>RunAtLoad</key>
<true/>
<key>WorkingDirectory</key>
<string>/usr/local</string>
</dict>
</plist>           

更改後如下,更改兩點。

1:删掉daemon off,讓預設背景運作。

2:設定Nginx 服務狀态是活躍的,加上參數<key>KeepAlive</key><true/>

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>Label</key>
<string>homebrew.mxcl.nginx</string>
<key>ProgramArguments</key>
<array>
<string>/usr/local/opt/nginx/bin/nginx</string>
</array>
<key>KeepAlive</key>
<true/>
<key>RunAtLoad</key>
<true/>
<key>WorkingDirectory</key>
<string>/usr/local</string>
</dict>
</plist>           

注冊為系統服務,加 sudo 和不加sudo是不同的效果,非root使用者啟動不加。否則開機啟動不生效。

使用者根據自己需求看是否添加sudo啟動。

launchctl load /Library/LaunchDaemons/com.nginx.plist           

非root使用者檢視是否生效,root使用者加sudo檢視。

brew services list           

如狀态Status為start狀态,為啟動,stop為沒有啟動。如下圖所示

Mac 基于HTTP方式通路下載下傳共享檔案,配置共享伺服器
Mac 基于HTTP方式通路下載下傳共享檔案,配置共享伺服器

重新開機電腦後,檢視nginx是否啟動

ps -ef|grep nginx           
Mac 基于HTTP方式通路下載下傳共享檔案,配置共享伺服器

啟動完成,nginx共享檔案完成。

繼續閱讀