- 浏览: 832658 次
- 性别:
- 来自: 深圳
文章分类
- 全部博客 (379)
- struts (5)
- hibernate (16)
- spring (16)
- ssh (20)
- MySQL (16)
- 数据库脚本 (2)
- DownLoad (1)
- GAE (5)
- Java (103)
- LoadRunner (2)
- VF (1)
- 学习资料 (24)
- 软件使用 (21)
- 通信类 (4)
- 生活 (3)
- J2ME (1)
- 心理学 (1)
- Linux (26)
- Android (3)
- Oracle (1)
- 面向对象概念&面试准备 (11)
- ExtJs (2)
- Google Map (1)
- Flex (47)
- 算法研究 (1)
- share (20)
- python (1)
- MongoDB (7)
- centos6 (13)
- C++ (8)
- DB2 (3)
- C# (1)
- 代码片段 (24)
- Lucene (2)
- php (1)
- NodeJS (1)
- Express (1)
最新评论
-
shua1991:
已阅,我表示同意。
Eclipse统计代码行数 -
nakedou:
写的不错,挺详细的
在CentOS中使用 yum 安装MongoDB及服务器端配置 -
sjp524617477:
好方法
Eclipse统计代码行数 -
simpletrc:
<script>ale ...
Java写到.txt文件,如何实现换行 -
csdn_zuoqiang:
Apache Ftp Server,目前是1.0.4,非常好的 ...
Apache FtpServer在64位系统下服务不能启动解决方法
Apache FTPServer是一款用Java开发的FTP开源服务器,其二进制文件及源码可从http://mina.apache.org/ftpserver/下载。然而在使用中,发现如果将其安装为64位的Windows系统的服务时,服务将无法启动,总是提示错误。打开Log文件,则可以发现以下错误信息:
[174 javajni.c] [error] %1 is not a valid Win32 application.
[947 prunsrv.c] [error] Failed creating java C:\Program Files\Java\jdk1.6.0_26\jre\bin\server\jvm.dll
在网上搜索该问题的解决方案,几乎没有相关的内容,个别相关网页提及的解决方法是将32系统下的一个动态库拷贝到system32或其它什么指定的目录下,尝试后也未能解决问题。并且,从理论是说,在64位系统下,并且已成功安装64位的JDK或JRE的情况下,这么做似乎也是没有道理的。
经过分析其bin目录下的service.bat脚本文件及其它脚本,可以发现其实bin目录下的ftpd.exe并不是FTP服务器的必需文件,它只不过是为了在Windows系统下实现系统服务的一个外壳程序,似乎它本身是另外一个开源项目的二进制文件(这一点未经查实,只是猜测)。因此结合在启动FTP服务时日志中记录的异常信息,大胆推测是由于这个ftpd.exe不能在64位Windows系统下正常启动Java编写的FTP程序而造成的,而基于此前的分析,尝试拷贝Tomcat较新版本(6或7)安装在64位Windows系统下的bin目录里的tomcat6.exe或tomcat7.exe到Apache FTPServer的bin目录下,并将原有的ftpd.exe改名或删除,然后将tomcat6.exe或tomcat7.exe改名为ftpd.exe。再次尝试重启FTP服务,发现服务将可以正常启动。
以上方法在Windows 7 SP1 64Bit下验证通过。
评论
如果Ftp服务器提供的内容,有中文目录,文件名,XP下IE访问会出现一些错误。
如果IE的选项->高级里 为Ftp站点启用文件夹视图选项
没有选中,这时显示的是Html页面,但中文显示是乱码,强行指定编码为Utf8,则显示正常,但无法下载;
该选项选中,这时是文件夹方式显示Ftp服务器内容,选中文件夹后右键复制到文件夹,会复制出错,但用复制,然后粘贴到指定位置的方式可以正常复制。
使用windows带的ftp.exe访问站点,遇到中文也会出现错误。
但如果用流行的ftp客户端,比如FlashFXP就一切正常。
这说明XP 下IE的Ftp支持有bug。
但用户一般不用Ftp客户端,为了迁就IE,只有对ApacheFtpServer修改,通过查资料,XP下用的编码是GBK,只要把Apache FtpServer代码中处理编码的地方由国际标准UTF8编码改为迁就Xp下IE的GBK编码即可完成。
具体修改
org.apache.ftpserver.command.impl包里OPTS_UTF8.java
将
session.write(LocalizedFtpReply.translate(session, request, context, FtpReply.REPLY_200_COMMAND_OKAY, "OPTS.UTF8", null));
改为
session.write(LocalizedFtpReply.translate(session, request, context, FtpReply.REPLY_502_COMMAND_NOT_IMPLEMENTED, "OPTS.UTF8", null));
org.apache.ftpserver.listener.nio包里FtpServerProtocolCodecFactory.java
将
new TextLineDecoder(Charset.forName("UTF-8"));
改为:
new TextLineDecoder(Charset.forName("GBK"));
org.apache.ftpserver.impl包里IODataConnection.java
将
writer = new OutputStreamWriter(out, "UTF-8");
改为:
writer = new OutputStreamWriter(out, "GBK");
org.apache.ftpserver.listener.nio包里FtpResponseEncoder.java
将
Charset.forName("UTF-8").newEncoder();
改为:
Charset.forName("GBK").newEncoder();
重编译后,手动替换class就可以,
如果用mvn package,test过不了,只有将出错的test文件DecoderTest和I18NTest删除,再package。
然后IE两种方式都可以正确的访问FTP服务器中的中文资源了
以下步骤,将使用站长的安装目录为例,在你自己安装的时候,请更换为自己的目录
1、最新版是1.0.6,下载地址http://mina.apache.org/ftpserver/apache-ftpserver-106-release.html,确认你下载的是zip格式。
2、解压缩zip文档中的文件夹到你想要的任意目录,站长解压到的目录是D:\Program Files (x86)\Web,然后将文件夹重命名为ftpserver。这时你的apache-ftpserver的所有文件与文件夹夹应该位于D:\Program Files (x86)\Web\ftpserver。
3、进行初始配置,打开D:\Program Files (x86)\Web\ftpserver\res\conf\ftpd-typical.xml文件。修改如下:
<server xmlns="http://mina.apache.org/ftpserver/spring/v1" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation=" http://mina.apache.org/ftpserver/spring/v1 http://mina.apache.org/ftpserver/ftpserver-1.0.xsd "
id="myServer"
max-logins="5"
anon-enabled="false"
max-anon-logins="0"
max-login-failures="3"
login-failure-delay="30000">
<listeners>
<nio-listener name="default" port="21">
<ssl>
<keystore file="./res/ftpserver.jks" password="password" />
</ssl>
</nio-listener>
</listeners>
<file-user-manager file="./res/conf/users.properties" />
</server>
解释说明:
max-logins:允许同时登录ftp的用户数;
anon-enabled:是否运行匿名登录;
max-anon-logins:允许同时登录的最大匿名用户数;
max-login-failures:允许登录失败的次数,超过次数则关闭连接;
login-failure-delay:一次登录失败后,重新发起登录的间隔,单位毫秒;
4、打开D:\Program Files (x86)\Web\ftpserver\res\conf\users.properties,对admin部分修改如下:
ftpserver.user.admin.userpassword=21232F297A57A5A743894A0E4A801FC3
ftpserver.user.admin.homedirectory=./wwwroot
ftpserver.user.admin.enableflag=true
ftpserver.user.admin.writepermission=true
ftpserver.user.admin.maxloginnumber=3
ftpserver.user.admin.maxloginperip=3
ftpserver.user.admin.idletime=0
ftpserver.user.admin.uploadrate=0
ftpserver.user.admin.downloadrate=0
默认的用户名为admin,如果你要修改为别的,只要把上文中的admin换成其他即可,默认是使用md5加密的密码,初始密码为admin,第一行的是加密后的值。
如果你想要使用明码,将ftpd-typical.xml文件中的file标签修改为
<file-user-manager file="users.properties" encrypt-passwords="true" />
即可,但是强烈建议使用加密。
homedirectory:ftp文件目录,你上传的文件将被存放在此,我设置的是apache-ftpserver安装目录下的wwwroot文件夹,当然是我自己新建的。
5、安装,站长选择直接将ftpserver安装为windows服务的形式。
使用管理员身份打开cmd,定位到D:\Program Files (x86)\Web\ftpserver\bin目录,键入命令:
service install ftpd "D:\Program Files (x86)\Web\ftpserver\res\conf\ftpd-typical.xml"。
由于站长的路径中含有空格,应此使用双引号将整个路径引起来,如果你的路径中不含有空格,不需要使用双引号。
6、安装完成后,使用net start ftpd,即可启动apache-ftpserver。
7、访问ftp://127.0.0.1,使用你设置的用户名和密码即可登陆。
8、在D:\Program Files (x86)\Web\ftpserver\bin目录有一个图像界面管理工具,ftpdw.exe。右键使用管理员身份启动,你可以在这里设置,apache-ftpserver是否随系统启动。
发表评论
-
微信JS
2013-10-26 21:17 2049<div class="iteye-blog- ... -
ubuntu下MySQL用source命令导入sql文件出现乱码解决方法
2012-11-18 23:46 1493首先建立数据库的时候指明数据库编码如: CREA ... -
RandomAccessFile
2012-10-18 18:16 947public void run() { try { ... -
java中多种方式读文件
2012-10-18 16:53 935java中多种方式读文件一、多种方式读文件内容。1、按字节读取 ... -
FileChannelMain
2012-10-15 18:12 1081package scan; import java ... -
IDEA 常用配置以及快捷
2012-09-01 10:38 51011. IDEA内存优化 ... -
Ubuntu 10.04 TinyOS
2012-08-20 00:42 1553sudo gedit /etc/apt/sources.lis ... -
我看用户体验与用户价值
2012-07-01 14:55 1037不知道从什么时候开始,各个信息源都开始充斥着用户体验的讨 ... -
在windows 7上安装Maven2.2.1
2012-06-18 17:00 1223Maven是一个java工具,所以请确保jdk环境已经正确安装 ... -
产品经理如何赢得开发人员的尊重和支持?
2012-06-14 09:08 950对于产品经理来说, ... -
Java 集合类
2012-06-07 22:03 1590Java 集合类 1. 为什么要了解J ... -
Java集合工具类之List - ArrayList & LinkedList
2012-06-07 21:21 19041.ArrayList 的数据结构 ... -
网络爬虫调研报告
2012-06-06 11:17 6019网络爬虫调研报告 调研背景 项目中要对 ... -
海量数据处理
2012-06-05 10:02 1872一:常见的题目:- 1 ... -
short、int、long与byte之间的转换工具类
2012-05-31 11:05 4480/** * 各基础类型与byte之间的转换 * ... -
Ubuntu 12.04 改造指南
2012-05-28 10:47 1407升级12.04已经有一段时间了。作为一个从08年就开始用 ... -
使用apt-get方式为Linux Mint 13安装PHP+MYSQL+Apache
2012-05-25 17:48 4771使用apt-get方式为Ubuntu安装PHP+MYSQ ... -
Linux Mint 13 配置JAVA 环境
2012-05-24 22:35 26240.1--下载 JAVA ... -
CentOS 5.5下搭建部署独立SVN服务器全程详解
2012-05-10 10:08 1136SVN服务器有2种运行方式: 1、独立服务器 (例如:s ... -
centos下使用Heartbeat实现集群
2012-05-09 11:44 1409Linux 包括 CentOS 下高可用性(HA:High A ...
相关推荐
有个别同学说不能在win7下使用,此程序已经在Win2000/xp/2003/win7/win8/win2008下测试成功,操作系统均专业版。apache启动不了,原因一是防火墙拦截,二是80端口已经被别的程序占用,如IIS,迅雷等;三是没有安装VC...
12.2.6 Telnet服务的启动与停止 12.2.7 防火墙设置 12.2.8 更改Telnet端口号 12.2.9 Linux客户端 12.2.10 Windows客户端 12.3 SSH服务 12.3.1 SSH概述 12.3.2 安装OpenSSH 12.3.3 SSH的启动与停止 12.3.4 OpenSSH...
有个别同学说不能在win7下使用,此程序已经在Win2000/xp/2003/win7/win8/win2008下测试成功,操作系统均专业版。apache启动不了,原因一是防火墙拦截,二是80端口已经被别的程序占用,如IIS,迅雷等;三是没有安装VC...
32. OpenServer下的终端监控系统-Spy FileSystem 33.X常用的系统调用 34.X系统下部分控制代码介绍及其应用 35.用工具badtrk检查磁盘坏道? 36.x C 编程问题精粹 37.输入输出函数 38.命令详解及使用技巧 39.LOGIN:...
6.5.5 当系统不能引导时,Red Hat会 来救援 102 6.5.6 获取更多的信息 103 6.6 小结 104 第7章 SMTP和协议 105 7.1 Internet电子邮件标准的历史简述 105 7.1.1 sendmail介绍 105 7.1.2 邮局协议 105 7.1.3 Internet...
Java 3DMenu 界面源码,有人说用到游戏中不错,其实平时我信编写Java应用程序时候也能用到吧,不一定非要局限于游戏吧,RES、SRC资源都有,都在压缩包内。 Java zip压缩包查看程序源码 1个目标文件 摘要:Java源码...
Java 3DMenu 界面源码,有人说用到游戏中不错,其实平时我信编写Java应用程序时候也能用到吧,不一定非要局限于游戏吧,RES、SRC资源都有,都在压缩包内。 Java zip压缩包查看程序源码 1个目标文件 摘要:Java源码...
1.4.4 Apache的启动与关闭 12 1.4.5 Apache的配置文件httpd.conf与 1.4.5 .htaccess的简介 13 1.4.6 PHP的配置文件php.ini的简介 13 1.4.7 PHP常用参数的配置 14 1.5 几种综合网络服务器系统的安装 14 1.5.1 XAMPP ...
05 系统启动流程 06 grub加密 07 bios加密 08 top命令 09 free命令 10 进程管理 第6章 01 上节课复习 02 磁盘分区 03 文件系统与挂载 04 挂载信息讲解 05 磁盘用满的两种情况 06 软连接和硬链接 07 软连接和硬链接...
实例092 不能重写的方法 113 5.3 包装类的使用 114 实例093 将字符串转换成整数 114 实例094 整数进制转换器 115 实例095 查看数字的取值范围 116 实例096 ASCII编码查看器 117 实例097 Double类型的比较 118 5.4 ...