Windows环境
ftp服务器。
apache server技术。
首先我们要先下载Apache2.4服务器:http://httpd.apache.org/。
关于现在那个版本的服务器我这里要说明一下,Apache有本身的服务器是不能使用的,必须要先编译才可以使用的。但是在他的官网上也提供了第三方编译好的Apache所以这里我们就,下载第三方的而不用自己手动在编译了。这里它提供了五个第三方的服务器。
1、如果要安装继承开发环境,可以选择后两个WampServer和XAMPP,安装使用都很方便。
2、下载单独的安装包可以选择前两个网站ApacheHaus和Apache Lounge
下载工程
1、下载好之后我们将压缩包进行解压,然后将解压后的文件放置在指定的目录下(下面是自己的放置目录):
解压后可以看到以下目录结构:
2、进入conf目录下打开httpd.conf文件,对其进行修改默认的配置:
修改一:
第38行默认是:
修改为你安装Apache的所在目录:
httpd.exe: Syntax error on line 39 of D:/Android_Develop_Tools/httpd-2.4.23-x64-
vc14/Apache24/conf/httpd.conf: ServerRoot must be a valid directory
修改二:
第60行默认是:
改为8081(你可以自己随便定义,但是不要和其他的冲突即可)
修改三:
第223行默认是:
改为:
如果不修改会提示错误:
(OS 10048)通常每个套接字地址(协议/网络地址/端口)只允许使用一次。 : AH00072: make_sock: could not bind to address [::]:80
(OS 10048)通常每个套接字地址(协议/网络地址/端口)只允许使用一次。 : AH00072: make_sock: could not bind to address 0.0.0.0:80
AH00451: no listening sockets available, shutting down
4、解决443端口被占了
(OS 10048)通常每个套接字地址(协议/网络地址/端口)只允许使用一次。 : AH00072: make_sock: could not bind to address [::]:443
(OS 10048)通常每个套接字地址(协议/网络地址/端口)只允许使用一次。 : AH00072: make_sock: could not bind to address 0.0.0.0:443 AH00451: no listening sockets available, shutting down
如果提示你上方的信息说明你的443端口被占用了,解决办法为
打开httpd.conf, 找到加载ssl_module的那一行, 加#号注释掉就好了:# LoadModule ssl_module modules/mod_ssl.so
现在输入httpd.exe -k start命令就可以了。(httpd.exe -k start为启动Apache服务命令)
我们在浏览器中输入http://localhost:8081/index.html,看的效果如下图所示:
特别说明:
Apache安装成功后,在安装目录中,找到E:\Apache_App_Server\httpd-2.4.25-x64-vc14-r1\Apache24\bin\ApacheMonitor.exe可执行文件,双击运行,桌面右下角会出现图标,双击打开窗口界面如下图点击 start 启动Apacha服务。
现在是启动状态,当然你也可以手动进行Shop、Start、exit等操作。
到此apache服务安装成功。
补充说明:
若Apache服务器软件不想用了,想要卸载,需要先卸载apache服务(切记,若直接删除安装路径的文件夹,会有残余文件在电脑,可能会造成不必要的麻烦)。在CMD命令窗口,输入如下(建议先停止服务再删除):
apache是Apache服务器的服务名
项目下面htdocs放有图片的话,可以用浏览器访问图片。
pom.xml
commons-net
commons-net
3.3
@Test
public void testFtp1(){
//创建客户端对象
FTPClient ftp = new FTPClient();
InputStream local=null;
try {
//连接ftp服务器
ftp.connect("192.168.80.161", 21);
//登录
ftp.login("ftpuser", "1111");
//设置上传路径
String path="/home/ftpuser/image";
//检查上传路径是否存在 如果不存在返回false
boolean flag = ftp.changeWorkingDirectory(path);
if(!flag){
//创建上传的路径 该方法只能创建一级目录,在这里如果/home/ftpuser存在则可创建image
ftp.makeDirectory(path);
}
//指定上传路径
ftp.changeWorkingDirectory(path);
//指定上传文件的类型 二进制文件
ftp.setFileType(FTP.BINARY_FILE_TYPE);
//读取本地文件
File file = new File("mm.jpg");
local = new FileInputStream(file);
//第一个参数是文件名
ftp.storeFile(file.getName(), local);
} catch (SocketException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}finally {
try {
//关闭文件流
local.close();
//退出
ftp.logout();
//断开连接
ftp.disconnect();
} catch (IOException e) {
e.printStackTrace();
}
}
}