一、windows系统下删除Apache服务器有两种方法:1、运行cmd,进入apache程序所在目录
打如下卸载命令
>方法一如下:
1、打开ftp管理工具删除不需要的大量文件夹;
2、测试有的文件夹删除不了,换一个ftp管理工具删除;
3、打开浏览器,百度万网,进入官网, 登录主机用户;
4、进入主机服务器的控制台;
5、点击有文件管理,使用文件删除功能,进行删除;
6、查看网络状态,并用域名访问文件测试。
方法二如下:
1、登陆主机 *** 作平台;
2、点击“独立面板”;
3、点击“你的域名”;
4、打开“文件管理器”;
5、勾选需要删除的文件或文件夹, 同时勾选递归;
6、点击“重设拥有者”;
7、设置一下777权限;
8、勾选要删除的文件,点击“删除”。; FTP是Internet 上用来传送文件的协议 在Internet上通过FTP 服务器可以进行文件的上传(Upload)或下载(Download) FTP是实时联机服务 在使用它之前必须是具有该服务的一个用户(用户名和口令) 工作时客户端必须先登录到作为服务器一方的计算机上 用户登录后可以进行文件搜索和文件传送等有关 *** 作 如改变当前工作目录 列文件目录 设置传输参数及传送文件等 使用FTP可以传送所有类型的文件 如文本文件 二进制可执行文件 图象文件 声音文件和数据压缩文件等 FTP 命令 FTP 的主要 *** 作都是基于各种命令基础之上的 常用的命令有 ◆ 设置传输模式 它包括ASCⅡ(文本) 和BINARY 二进制模式 ◆ 目录 *** 作 改变或显示远程计算机的当前目录(cd dir/ls 命令) ◆ 连接 *** 作 open命令用于建立同远程计算机的连接 close命令用于关闭连接 ◆ 发送 *** 作 put命令用于传送文件到远程计算机 mput 命令用于传送多个文件到远程计算机 ◆ 获取 *** 作 get命令用于接收一个文件 mget命令用于接收多个文件 编程思路 根据FTP的工作原理 在主函数中建立一个服务器套接字端口 等待客户端请求 一旦客户端请求被接受 服务器程序就建立一个服务器分线程 处理客户端的命令 如果客户端需要和服务器端进行文件的传输 则建立一个新的套接字连接来完成文件的 *** 作
编程技巧说明 主函数设计 在主函数中 完成服务器端口的侦听和服务线程的创建 我们利用一个静态字符串变量initDir 来保存服务器线程运行时所在的工作目录 服务器的初始工作目录是由程序运行时用户输入的 缺省为C盘的根目录 具体的代码如下 public class ftpServer extends Thread{ private Socket socketClient; private int counter; private static String initDir; public static void main(String[] args){ if(args length != ) { initDir = args[ ]; }else{ initDir = c: ;} int i = ; try{ System out println( ftp server started! ) //监听 号端口 ServerSocket s = new ServerSocket( ) for( ){ //接受客户端请求 Socket ining = s accept() //创建服务线程 new ftpServer(ining i) start() i++; } }catch(Exception e){} } 线程类的设计 线程类的主要设计都是在run()方法中实现 用run()方法得到客户端的套接字信息 根据套接字得到输入流和输出流 向客户端发送欢迎信息 FTP命令的处理 ( ) 访问控制命令 ◆ user name(user) 和 password (pass) 命令处理代码如下 if(str startsWith( USER )){ user = str substring( ) user = user trim() out println( Password ) } if(str startsWith( PASS )) out println( User +user+ logged in ) User 命令和 Password 命令分别用来提交客户端用户输入的用户名和口令 ◆ CWD (CHANGE WORKING DIRECTORY) 命令处理代码如下 if(str startsWith( CWD )){ String str = str substring( ) dir = dir+ / +str trim() out println( CWD mand succesful ) } 该命令改变工作目录到用户指定的目录 ◆ CDUP (CHANGE TO PARENT DIRECTORY) 命令处理代码如下 if(str startsWith( CDUP )){ int n = dir lastIndexOf( / ) dir = dir substring( n) out println( CWD mand succesful ) } 该命令改变当前目录为上一层目录 ◆ QUIT命令处理代码如下 if(str startsWith( QUIT )) { out println( GOOD BYE ) done = true;} 该命令退出及关闭与服务器的连接 输出GOOD BYE
( ) 传输参数命令 ◆ Port命令处理代码如下 if(str startsWith( PORT )) { out println( PORT mand successful ) int i = str length() ; int j = str lastIndexOf( ) int k = str lastIndexOf( j ) String str str ;str = ; str = ;for(int l=k+ ; lstr = str + str charAt(l) } for(int l=j+ ;l<=i;l++){ str = str + str charAt(l) } tempPort = Integer parseInt(str ) +Integer parseInt(str ) } 使用该命令时 客户端必须发送客户端用于接收数据的 位IP 地址和 位 的TCP 端口号 这些信息以 位为一组 使用十进制传输 中间用逗号隔开 ◆ TYPE命令处理代码如下 if(str startsWith( TYPE )){ out println( type set ) } TYPE 命令用来完成类型设置 ( ) FTP 服务命令 ◆ RETR (RETEIEVE) 和 STORE (STORE)命令处理的代码 if(str startsWith( RETR )){ out println( Binary data connection ) str = str substring( ) str = str trim() RandomAccessFile outFile = newRandomAccessFile(dir+ / +str r ) Socket tempSocket = new Socket(host tempPort) OutputStream outSocket= tempSocket getOutputStream() byte byteBuffer[]= new byte[ ]; int amount; try{ while((amount = outFile read(byteBuffer)) != ){
outSocket write(byteBuffer amount) } outSocket close() out println( transfer plete ) outFile close() tempSocket close() } catch(IOException e){} } if(str startsWith( STOR )){ out println( Binary data connection ) str = str substring( ) str = str trim() RandomAccessFile inFile = newRandomAccessFile(dir+ / +str rw ) Socket tempSocket = new Socket(host tempPort) InputStream inSocket= tempSocket getInputStream() byte byteBuffer[] = new byte[ ]; int amount; try{ while((amount =inSocket read(byteBuffer) )!= ){ inFile write(byteBuffer amount) } inSocket close() out println( transfer plete ) inFile close() tempSocket close() } catch(IOException e) {} } 文件传输命令包括从服务器中获得文件RETR和向服务器中发送文件STOR 这两个命令的处理非常类似 处理RETR命令时 首先得到用户要获得的文件的名称 根据名称创建一个文件输入流 然后和客户端建立临时套接字连接 并得到一个输出流 随后 将文件输入流中的数据读出并借助于套接字输出流发送到客户端 传输完毕以后 关闭流和临时套接字 STOR 命令的处理也是同样的过程 只是方向正好相反 ◆ DELE (DELETE)命令处理代码如下 if(str startsWith( DELE )){ str = str substring( ) str = str trim() File file = new File(dir str) boolean del = file delete() out println( delete mand successful ) } DELE 命令用于删除服务器上的指定文件 ◆ LIST命令处理代码如下 if(str startsWith( LIST )) { try{ out println( ASCII data ) Socket tempSocket = new Socket(host tempPort) PrintWriter out = new PrintWriter(tempSocket getOutputStream() true) File file = new File(dir) String[] dirStructure = new String[ ]; dirStructure= file list() String strType= ; for(int i= ;iif( dirStructure[i] indexOf( ) == ) { strType = d ;} else{ strType = ;} out println(strType+dirStructure[i]) } tempSocket close() out println( transfer plete ) } catch(IOException e) {} LIST 命令用于向客户端返回服务器中工作目录下的目录结构 包括文件和目录的列表 处理这个命令时 先创建一个临时的套接字向客户端发送目录信息 这个套接字的目的端口号缺省为 然后为当前工作目录创建File 对象 利用该对象的list()方法得到一个包含该目录下所有文件和子目录名称的字符串数组 然后根据名称中是否含有文件名中特有的 来区别目录和文件 最后 将得到的名称数组通过临时套接字发送到客户端 lishixinzhi/Article/program/Java/hx/201311/26847
import javaioInputStream;
import javaioPrintStream;
import orgapachecommonsnettelnetTelnetClient;
/
利用apache net 开源包,使用telnet方式获取AIX主机信息
@version 12
/
public class NetTelnet {
// Telnet对象
private TelnetClient telnet = new TelnetClient();
private InputStream in;
private PrintStream out;
// 提示符。具体请telnet到AIX主机查看
private char prompt = '#';
// telnet端口
private String port;
// 用户
private String user;
// 密码
private String password;
// IP地址
private String ip;
public NetTelnet() {
try {
// AIX主机IP
thisip = "2192431210";
thispassword = "05933663007";
thisuser = "administrator";
thisport = "23";
telnetconnect(ip, IntegerparseInt(port));
Systemoutprintln("开始获取输入流");
in = telnetgetInputStream();
out = new PrintStream(telnetgetOutputStream());
// 登录
/ readUntil("login: ");
write(user);
readUntil("Password: ");
write(password);
readUntil(prompt + " ");/
} catch (Exception e) {
eprintStackTrace();
}
}
/
读取分析结果
@param pattern
@return
/
public String readUntil(String pattern) {
try {
char lastChar = patterncharAt(patternlength() - 1);
StringBuffer sb = new StringBuffer();
char ch = (char) inread();
while (true) {
sbappend(ch);
if (ch == lastChar) {
if (sbtoString()endsWith(pattern)) {
return sbtoString();
}
}
ch = (char) inread();
}
} catch (Exception e) {
eprintStackTrace();
}
return null;
}
/
写
@param value
/
public void write(String value) {
try {
outprintln(value);
outflush();
} catch (Exception e) {
eprintStackTrace();
}
}
/
向目标发送命令字符串
@param command
@return
/
public String sendCommand(String command) {
try {
write(command);// 执行删除的命令 rm -rf
return readUntil(prompt + " ");
} catch (Exception e) {
eprintStackTrace();
}
return null;
}
/
关闭连接
/
public void disconnect() {
try {
telnetdisconnect();
} catch (Exception e) {
eprintStackTrace();
}
}
public static void main(String[] args) {
try {
Systemoutprintln("开始执行telnet");
NetTelnet telnet = new NetTelnet();
// 通过aix的命令“查找主机名称”获取数据
// 命令是 "hostname"
// 不熟悉命令的参考<<AIX网络管理手册>>
Systemoutprintln("开始发送hostname命令");
String result = telnetsendCommand("hostname");
Systemoutprintln("显示结果");
Systemoutprintln(result);
// 最后一定要关闭
telnetdisconnect();
} catch (Exception e) {
eprintStackTrace();
}
}
}1、首先打开服务器管理器,点击工具,点击DHCP,在右边目录下选择本地服务器,然后进入IPv4,右键IPv4,选择新建作用域,即可出现向导程序。
2、在向导程序中点击下一步,名称中填入自定义DHCP作用域名称,下一步,启始IP地址填入本局域网地址,192168671,结束地址填入19216867254(19216867255是广播地址)。
3、子网掩码默认为255 255 255 0 长度为24,单击下一步
4、这一步是你想要排除的IP地址,这里要在起始地址下填入网关地址192168671,点击添加,点击下一步。
5、租期默认,下一步。
6、点击否,下一步,完成。
7、右键点击作用域192168670,点击激活。
保留IP设置
如果你想为制定的计算机分配一个固定的IP地址,即可使用保留功能。
1、双击新建好的作用域,右键保留,点击新建保留。
2、填入自定义的保留名称,填入想要保留的IP地址,填入客户机MAC地址,点击添加即可。
作用域选项
如果你想为客户机分配本服务器为路由器和DNS服务器,可以使用本功能。
1、右键单击作用域选项,将服务器的对号钩上,在下面输入本机的IP地址,单击添加,确定即可。
2、DNS服务器同上。
客户机设置
1、首选找到系统的网络和共享中心,点击更改适配器选项,选择本机的上网设备,右键属性,选择Internet 协议版本4,双击,设置为自动获得IP地址和自动获得DNS服务器地址。
2、按下WIN+R快捷键,输入CMD,在CMD窗口中输入ipconfig -all,即可查看本机目前的DHCP服务器地址。
3、如果想要验证当前连接的是否是室友的服务器,可以先删除DHCP服务器,然后再重新查找DHCP服务器。具体命令为:删除服务器 ipconfig/realese和查找 ipconfig/renew
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)