百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 技术资源 > 正文

Mac 基于HTTP方式访问下载共享文件,配置共享服务器

off999 2025-03-12 19:28 22 浏览 0 评论

方法一:使用Python的SimpleHTTPServer进行局域网文件共享

Mac 自带Python,所以不需要安装其他软件,一条命令即可

1):进入需要共享的文件夹,如Public文件夹

cd /Users/test/Public

2):启动局域网共享

后面可加端口,如不加80端口,默认为8000端口

sudo python -m SimpleHTTPServer 80

在浏览器访问 ip:端口,可查看文件

优点:简单

缺点:文件显示简单,没有详细信息,界面不友好


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

1):需要搭建Java环境

  • 1.1下载Java JDK安装

下载地址
https://www.oracle.com/java/technologies/downloads/

选择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

  • 终端输入命令下载解压
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

3):浏览器输入ftp://IP:端口测试

这里测试IP为:
ftp://192.168.152.180:2121/
,浏览器输入即可

或者在“我的电脑” 地址栏,输入测试。

搭建完成,文件保存路径为:
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)"

按提示输入管理员密码,和回车键即可。

2):安装nginx

brew install nginx

安装完成

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地址即可访问,

这里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

原配置如下





Label
homebrew.mxcl.nginx
ProgramArguments

/usr/local/opt/nginx/bin/nginx
-g
daemon off;

RunAtLoad

WorkingDirectory
/usr/local

更改后如下,更改两点。

1:删掉daemon off,让默认后台运行。

2:设置Nginx 服务状态是活跃的,加上参数KeepAlive





Label
homebrew.mxcl.nginx
ProgramArguments

/usr/local/opt/nginx/bin/nginx

KeepAlive

RunAtLoad

WorkingDirectory
/usr/local


注册为系统服务,加 sudo 和不加sudo是不同的效果,非root用户启动不加。否则开机启动不生效。

用户根据自己需求看是否添加sudo启动。

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

非root用户查看是否生效,root用户加sudo查看。

brew services list

如状态Status为start状态,为启动,stop为没有启动。如下图所示

重启电脑后,查看nginx是否启动

ps -ef|grep nginx

启动完成,nginx共享文件完成。

相关推荐

Python设计模式 第 13 章 中介者模式(Mediator Pattern)

在行为型模式中,中介者模式是解决“多对象间网状耦合”问题的核心模式。它就像“机场调度中心”——多个航班(对象)无需直接沟通起飞、降落时间,只需通过调度中心(中介者)协调,避免航班间的冲突与混乱...

1.3.1 python交互式模式的特点和用法

什么是Python交互模式Python交互模式,也叫Python交互式编程,是一种在Python解释器中运行的模式,它允许用户在解释器窗口中输入单个Python语句,并立即查看结果,而不需要编写整个程...

Python设计模式 第 8 章 装饰器模式(Decorator Pattern)

在结构型模式中,装饰器模式是实现“动态功能扩展”的核心模式。它就像“手机壳与手机的关系”——手机(原始对象)具备通话、上网等基础功能,手机壳(装饰器)可在不改变手机本身的前提下,为其新增保护、...

python设计模式 综合应用与实战指南

经过前面16章的学习,我们已系统掌握创建型模式(单例、工厂、建造者、原型)、结构型模式(适配器、桥接、组合、装饰器、外观、享元、代理)、行为型模式(责任链、命令、迭代器、中介者、观察者、状态、策略...

Python入门学习教程:第 16 章 图形用户界面(GUI)编程

16.1什么是GUI编程?图形用户界面(GraphicalUserInterface,简称GUI)是指通过窗口、按钮、菜单、文本框等可视化元素与用户交互的界面。与命令行界面(CLI)相比,...

Python 中 必须掌握的 20 个核心:str()

str()是Python中用于将对象转换为字符串表示的核心函数,它在字符串处理、输出格式化和对象序列化中扮演着关键角色。本文将全面解析str()函数的用法和特性。1.str()函数的基本用法1.1...

Python偏函数实战:用functools.partial减少50%重复代码的技巧

你是不是经常遇到这样的场景:写代码时同一个函数调用了几十次,每次都要重复传递相同的参数?比如处理文件时总要用encoding='utf-8',调用API时固定传Content-Type...

第2节.变量和数据类型【第29课-输出总结】

同学们,关于输出的知识点讲解完成之后,把重点性的知识点做一个总结回顾。·首先对于输出这一章节讲解的比如有格式化符号,格式化符号这里需要同学们额外去多留意的是不是百分号s格式化输出字符串。当然课上也说百...

AI最火语言python之json操作_python json.loads()

JSON(JavaScriptObjectNotation,JavaScript对象表示法)是一种开放标准的文件格式和数据交换格式,它易于人阅读和编写。JSON是一种常用的数据格式,比如对接各种第...

python中必须掌握的20个核心函数—split()详解

split()是Python字符串对象的方法,用于将字符串按照指定的分隔符拆分成列表。它是文本处理中最常用的函数之一。一、split()的基本用法1.1基本语法str.split(sep=None,...

实用方法分享:pdf文件分割方法 横向A3分割成纵向A4

今天在街上打印店给儿子打印试卷时,我在想:能不能,把它分割成A4在家中打印,这样就不需要跑到街上的打印店打印卷子了。原来,老师发的作业,是电子稿,pdf文件,A3格式的试卷。可是家中的打印机只能打印A...

20道常考Python面试题大总结_20道常考python面试题大总结免费

20道常考Python面试题大总结关于Python的面试经验一般来说,面试官会根据求职者在简历中填写的技术及相关细节来出面试题。一位拿了大厂技术岗SpecialOffer的网友分享了他总结的面试经...

Kotlin Data Classes 快速上手_kotlin快速入门

引言在日常开发中,我们常常需要创建一些只用来保存数据的类。问题是,这样的类往往需要写一堆模板化的方法:equals()、hashCode()、toString()……每次都重复,既枯燥又容易出错。//...

python自动化RobotFramework中Collections字典关键字使用(五)

前言介绍安装好robotframework库后,跟之前文章介绍的BuiltIn库一样BuiltIn库使用介绍,在“python安装目录\Lib\site-packages\robot\librarie...

Python中numpy数据分析库知识点总结

Python中numpy数据分析库知识点总结二、对已读取数据的处理②指定一个值,并对该值双边进行修改③指定两个值,并对第一个值的左侧和第二个值的右侧进行修改2.4数组的拼接和行列交换①竖直拼接(np...

取消回复欢迎 发表评论: