jsp服务器配置时使用apache+tomcat服务器配合使用和单独使用tomcat服务器相比有什么优点?

jsp服务器配置时使用apache+tomcat服务器配合使用和单独使用tomcat服务器相比有什么优点?,第1张

实际上,只有针对一个象amazoncom这样的大型站点,采用apache -> tomcat这样的结构才具有更特出的优点,主要体现在具有更好的可扩展性和安全性。这种类型的站点的主要特点是每一个页面都可能是动态生成的,但这些数据中主要部分还是静态的(比如,各类图像GIF、JPG、PNG,流式媒体等)。

想象以下某个站点采用了多个用于负载均衡的硬件设备,这些设备后端连结一组服务器,这些服务器可能是一组相对廉价的运行apache的linux服务器簇。

这组位于前端的服务器簇将仅占总访问请求的10%的真正需要调用servlet的访问请求发送给后段的系统,后锻系统可以是一台Sun的E3500,或是IBM的AS/400,在这个后端的系统上运行着Tomcat,可能还包括企业级数据库。

这种结构的优点是兼有可扩展性和安全性。假如单位时间内访问请求数急剧增加,可以用相对较低的费用增加前端的能力。尽管后段的处理部分也需要扩充,但通常情况下,这种定位在单个服务器上的处理部分比较容易扩展。由于是通过在这台功能强大的服务器上运行的单个servlet容器,实际上也就不需要考虑session状态在分布式环境下的维护这类复杂的问题。

另外,因为这台后端服务器在外界不可以访问,网上的黑客只能访问前端的web服务器,不能直接访问后端的应用服务器,这就提高了安全性。但这并不意味着黑客们不能通过网络浏览器进行其它形式的攻击。对于apache->tomcat这种配置来说,前端和后端是通过ajp12协议来进行通信,ajp12不过是http访问请求的一种转换形式,如果给黑客们足够的时间,他们也许有能力通过Web层,从后端的数据库中取得一些比如信用卡号等关键数据。

JAVA篇

============================================================================================

1jdk150的下载地址

http://javasuncom/j2se/150/downloadjsp

2jdk150的安装

很简单,没什么可说的,只建议修改安装目录名成为jdk150

3jdk150的配置

(假设jdk的安装目录是d:\jdk150)

右键点击[我的电脑],选择[属性],选择[高级]选项卡,单击[环境变量]按钮,在[系统变量]找到path变量,单击[编辑]按钮,把d:\jdk150\bin添加到里面,与已有的内容用分号隔开

在[系统变量]中单击[新建]按钮,在[变量名]文本框中输入名称classpath,在[变量值]文本框中输入;D:\jdk15\lib

4编写HelloWorld

推荐刚入门时不要使用IDE,用简单的文本编辑器就可以了,比较好用的有Jcreator(可以不用进dos直接编译运行java程序),Editplus,UltraEdit

public class HelloWorld {

public static void main(String args[]) {

Systemoutprintln("Hello World!");

}

}

保存为HelloWorldjava,注意文件名必须与声明为public类的类名完全相同,包括大小写

5编译HelloWorld

在dos下进入HelloWorldjava文件所在目录,使用命令javac HelloWorldjava编译,注意HelloWorldjava大小写一定要正确

6运行HelloWorld

使用命令java HelloWorld,注意HelloWorld大小写一定要正确,而且不要写java后缀

7java入门推荐书籍

java编程思想(thinking in java),虽然现在已经出第三版了,但是还是强烈推荐学习第二版,侯捷翻译的,第三版翻译的不好

8java API

现在jdk50有中文版api了,只不过还没完全翻译完

浏览地址:http://gceclubsuncomcn/chinese_java_docshtml

下载地址:论坛里有网友做好的chm格式的API,可以免费下载

9java连接SQL Server2000

(现在企业最常用的数据库就是SQL Server2000,所以只说这个,别的都是大同小异,连接access,mysql,Oracle数据库遇到问题的可以和我联系)

java连接数据库一般有两种方式,一是通过jdbc/odbc桥(需要配置数据源),二是通过jdbc驱动这里强烈推荐使用后者,因为前者涉及到jdbc到odbc转换的问题,执行效率很低

首先下载jdbc驱动包(用搜索引擎搜下,多如牛毛),安装之后,打开那个文件夹,会看到三个jar包,只要把这三个jar包设置到环境变量(classpath)里就可以了

假设驱动程序安装在d:\sqldriver目录下,那么就在classpath中添加d:\sqldriver\msbasejar;d:\sqldriver\mssqlserverjar;d:\sqldriver\msutiljar;

注意:如果使用的是windows xp系统的sp2 版本,就需要给SQL Server2000打一个sp3a或者sp4的补丁打完之补丁之后才可以使用

测试代码(使用的是SQL Server自带的数据库,可以直接编译运行)

import javasql;

public class SqlTesting {

public static void main(String args[]) {

String url = "jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=Northwind";

String user ="sa";

String password = "sa";

String sqlStr = "select CustomerID, CompanyName, ContactName from Customers";

try {

ClassforName("commicrosoftjdbcsqlserverSQLServerDriver");

Systemoutprintln( "" );

Connection con = DriverManagergetConnection( url, user, password );

Statement st = concreateStatement();

ResultSet rs = stexecuteQuery( sqlStr );

while(rsnext()) {

Systemoutprint(rsgetString("CustomerID") + " ");

Systemoutprint(rsgetString("CompanyName") + " ");

Systemoutprintln(rsgetString("ContactName"));

}

rsclose();

stclose();

conclose();

} catch(Exception err) {

errprintStackTrace(Systemout);

}

}

}

--------------------------------------------------------------------------------------------

JSP篇

============================================================================================

1tomcat55的下载地址

http://tomcatapacheorg

2tomcat55的安装

也很简单,没什么可说的,只建议修改安装目录名称为tomcat55,安装好后启动tomcat,在地址栏中输入

http://localhost:8080,可以看见"cat"的欢迎界面

3tomcat55的配置

需要配置classpath

假设tomcat的安装目录是d:\tomcat55,那么就在classpath中添加d:\tomcat55\common\lib\servlet-apijar;d:\tomcat55\common\lib\jsp-apijar;

4编写HelloWorld

<%

outprintln("Hello World!");

%>

保存为HelloWorldjsp

5编译HelloWorld

把HelloWorldjsp放到tomcat的webapps\ROOT目录下,启动tomcat时服务器会自动把jsp文件翻译成servlet文件

6运行HelloWorld

在地址栏中输入http://localhost:8080/HelloWorldjsp,注意HelloWorld的大小写和后缀名不要写错

7jsp连接SQL Server2000

要在tomcat中使用jdbc,就要把驱动程序设置到tomcat中,否则服务器是找不到的

把jdbc驱动放到tomcat的\webapps\ROOT\WEB-INF\lib下,然后设置classpath

假设tomcat安装在d:\tomcat55目录下,那么就在classpath中添加d:\tomcat55\webapps\ROOT\WEB-INF\lib\msbasejar;d:\tomcat55\webapps\ROOT\WEB-INF\lib\mssqlserverjar;d:\tomcat55\webapps\ROOT\WEB-INF\lib\msutiljar;

测试代码(使用的是SQL Server自带的数据库,可以直接编译运行)

<%@ page contentType="text/html;charset=gb2312"%>

<%@ page import="javasql"%>

<html>

<body>

<%

ClassforName("commicrosoftjdbcsqlserverSQLServerDriver")newInstance();

String url="jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=pubs";

String user="sa";

String password="sa";

Connection conn= DriverManagergetConnection(url,user,password);

Statement stmt=conncreateStatement();

String sql="select from jobs";

ResultSet rs=stmtexecuteQuery(sql);

while(rsnext()) {%>

<%=rsgetString(1)%>

<%=rsgetString(2)%>

<%}%>

<%rsclose();

stmtclose();

connclose();

%>

</body>

</html>

JSP篇补充

============================================================================================

jsp调用javabean版的HelloWorld

1在tomcat下的webapps目录下新建一个文件夹jsp,这个目录下专门存放jsp文件

2在jsp下建立一个新文件夹WEB-INF(不能自定义),这个目录下专门存放webxml文件(这次用不到)

3在WEB-INF下建立一个新文件夹classes(不能自定义),这个目录下专门存放编译好的class文件,包括servlet

4编写javabean代码

package beans;

public class TestBean {

private String name = null;

public void setName(String name) {

thisname = name;

}

public String getName() {

return thisname;

}

}

5编译javabean代码

使用命令javac -d TestBeanjava,javac与-d

-d与

与TestBeanjava之间都要有空格

(这样编译会生成beans目录,目录下是编译好的TestBeanclass)

将beans目录剪切到webapps\jsp\WEB-INF\classes目录下

6编写jsp代码

<%@ page import="beansTestBean" %>

<html>

<body>

<%

TestBean bean=new TestBean();

beansetName("Hello World!");

%>

<%=beangetName()%>

</body>

</html>

假设保存为hellojsp

7运行

启动tomcat服务器,在地址栏中输入http://localhost:8080/jsp/hellojsp

--------------------------------------------------------------------------------------------

servlet篇

============================================================================================

servlet版的HelloWorld

1在tomcat下的webapps目录下新建一个文件夹java

2在java下建立一个新文件夹WEB-INF(不能自定义)

3在WEB-INF下建立一个新文件夹classes(不能自定义),这个目录下专门存放编译好的class文件,包括servlet

4编写servlet

import javaio;

import javaxservlet;

import javaxservlethttp;

public class HelloWorld extends HttpServlet {

public void doGet(HttpServletRequest request,

HttpServletResponse response) throws IOException, ServletException {

responsesetContentType("text/html");

PrintWriter out = responsegetWriter();

outprintln("<html>");

outprintln("<body>");

outprintln("Hello World!");

outprintln("</body>");

outprintln("</html>");

}

}

保存为HelloWorldjava

5编译HelloWorldjava

使用命令javac HelloWorldjava,把编译好的class文件放到webapps\java\WEB-INF\classes目录下

6编写webxml文件

<xml version="10" encoding="big5">

<!DOCTYPE web-app PUBLIC

"-//Sun Microsystems, Inc//DTD Web Application 23//EN"

"http://javasuncom/dtd/web-app_2_3dtd">

<web-app>

<servlet>

<servlet-name>HelloWorld</servlet-name>

<servlet-class>HelloWorld</servlet-class>

</servlet>

<servlet-mapping>

<servlet-name>HelloWorld</servlet-name>

<url-pattern>/hello</url-pattern>

</servlet-mapping>

</web-app>

保存为webxml(不能自定义),把webxml文件放到webapps\java\WEB-INF目录下

7运行

启动tomcat服务器,在地址栏中输入http://localhost:8080/java/hello

tomcat的的下载地址http://wwwapacheorg/dist/jakarta/tomcat-4/

1、安装jdk,详细操作请参考本站windows 2k和redhat 80下java环境配置

2、如何修改端口号

使用文本编辑器如EditPlus,打开serverxml文件,查找到

<!-- Define a non-SSL Coyote HTTP/11 Connector on port 8080 -->

<Connector className="orgapachecoyotetomcat4CoyoteConnector"

port="8080" minProcessors="5" maxProcessors="75"

enableLookups="true" redirectPort="8443"

acceptCount="100" debug="0" connectionTimeout="20000"

useURIValidationHack="false" disableUploadTimeout="true" />

将其中的8080,改成80,然后重启tomcat,本机使用http://localhost即可访问。

注:其他版本,查找相应的8080,然后修改。

3、修改发布目录

例如将d:\test目录作为自己的文档发布目录,并指定mytest为http访问的相对目录(本机即http://localhost/mytest)。

同上要修改serverxml文件,找到

<!-- Tomcat Root Context -->

<!--

<Context path="" docBase="ROOT" debug="0"/>

-->

去掉注释,或者将已经屏蔽掉的<Context path="" docBase="ROOT" debug="0"/> 复制到下面的空白处,这时候复制的文本已经可以彩色亮显。根据例子中的要求,修改这段文本如下:

<Context path="/mytest" docBase="d:\test" debug="0"/>

然后重启tomcat,本机即可通过http://localhost/mytest来访问放在d:\test目录下的JSP文件。

总结:

如上例中发布目录结构整体结构如下:

d:\test┄┄JSP文件

└/WEB-INF┄┄webxml

└/classes┈┈JavaBean/Servlet文件

└myPackages(包路径) ┈┈JavaBean/Servlet文件

Tomcat配置技巧Top 10

2004-01-09 17:19:25

作者:Jason Brittain & Ian F Darwin

出处:http://wwworiellycom

译者:陈光

2003-12-31

编者按:现在开发Java Web应用,建立和部署Web内容是一件很简单的工作。使用Jakarta Tomcat作为Servlet和JSP容器的人已经遍及全世界。Tomcat具有免费、跨平台等诸多特性,并且更新得很快,现在非常的流行。

你所需要做的就是:按照你的需求配置Tomcat,只要你正确配置,Tomcat一般都能适合你的要求。下面是一系列关于Tomcat的配置技巧,这些技巧源自于我的书:《Tomcat权威指南》,希望对你有所帮助。—— Jason Brittain

1. 配置系统管理(Admin Web Application)

大多数商业化的J2EE服务器都提供一个功能强大的管理界面,且大都采用易于理解的Web应用界面。Tomcat按照自己的方式,同样提供一个成熟的管理工具,并且丝毫不逊于那些商业化的竞争对手。Tomcat的Admin Web Application最初在41版本时出现,当时的功能包括管理context、data source、user和group等。当然也可以管理像初始化参数,user、group、role的多种数据库管理等。在后续的版本中,这些功能将得到很大的扩展,但现有的功能已经非常实用了。

Admin Web Application被定义在自动部署文件:CATALINA_BASE/webapps/adminxml 。

(译者注:CATALINA_BASE即tomcat安装目录下的server目录)

你必须编辑这个文件,以确定Context中的docBase参数是绝对路径。也就是说,CATALINA_BASE/webapps/adminxml 的路径是绝对路径。作为另外一种选择,你也可以删除这个自动部署文件,而在serverxml文件中建立一个Admin Web Application的context,效果是一样的。你不能管理Admin Web Application这个应用,换而言之,除了删除CATALINA_BASE/webapps/adminxml ,你可能什么都做不了。

如果你使用UserDatabaseRealm(默认),你将需要添加一个user以及一个role到CATALINA_BASE/conf/tomcat-usersxml 文件中。你编辑这个文件,添加一个名叫“admin”的role 到该文件中,如下:

<role name="admin"/>

你同样需要有一个用户,并且这个用户的角色是“admin”。象存在的用户那样,添加一个用户(改变密码使其更加安全):

<user name="admin" password="deep_dark_secret" roles="admin"/>

当你完成这些步骤后,请重新启动Tomcat,访问http://localhost:8080/admin,你将看到一个登录界面。Admin Web Application采用基于容器管理的安全机制,并采用了Jakarta Struts框架。一旦你作为“admin”角色的用户登录管理界面,你将能够使用这个管理界面配置Tomcat。

2.配置应用管理(Manager Web Application)

Manager Web Application让你通过一个比Admin Web Application更为简单的用户界面,执行一些简单的Web应用任务。

Manager Web Application被被定义在一个自动部署文件中:

CATALINA_BASE/webapps/managerxml 。

你必须编辑这个文件,以确保context的docBase参数是绝对路径,也就是说CATALINA_HOME/server/webapps/manager的绝对路径。

(译者注:CATALINA_HOME即tomcat安装目录)

如果你使用的是UserDatabaseRealm,那么你需要添加一个角色和一个用户到CATALINA_BASE/conf/tomcat-usersxml文件中。接下来,编辑这个文件,添加一个名为“manager”的角色到该文件中:

<role name=”manager”>

你同样需要有一个角色为“manager”的用户。像已经存在的用户那样,添加一个新用户(改变密码使其更加安全):

<user name="manager" password="deep_dark_secret" roles="manager"/>

然后重新启动Tomcat,访问http://localhost/manager/list,将看到一个很朴素的文本型管理界面,或者访问http://localhost/manager/html/list,将看到一个HMTL的管理界面。不管是哪种方式都说明你的Manager Web Application现在已经启动了。

Manager application让你可以在没有系统管理特权的基础上,安装新的Web应用,以用于测试。如果我们有一个新的web应用位于/home/user/hello下在,并且想把它安装到 /hello下,为了测试这个应用,我们可以这么做,在第一个文件框中输入“/hello”(作为访问时的path),在第二个文本框中输入“file:/home/user/hello”(作为Config URL)。

Manager application还允许你停止、重新启动、移除以及重新部署一个web应用。停止一个应用使其无法被访问,当有用户尝试访问这个被停止的应用时,将看到一个503的错误——“503 - This application is not currently available”。

移除一个web应用,只是指从Tomcat的运行拷贝中删除了该应用,如果你重新启动Tomcat,被删除的应用将再次出现(也就是说,移除并不是指从硬盘上删除)。

3.部署一个web应用

有两个办法可以在系统中部署web服务。

1> 拷贝你的WAR文件或者你的web应用文件夹(包括该web的所有内容)到$CATALINA_BASE/webapps目录下。

2> 为你的web服务建立一个只包括context内容的XML片断文件,并把该文件放到$CATALINA_BASE/webapps目录下。这个web应用本身可以存储在硬盘上的任何地方。

如果你有一个WAR文件,你若想部署它,则只需要把该文件简单的拷贝到CATALINA_BASE/webapps目录下即可,文件必须以“war”作为扩展名。一旦Tomcat监听到这个文件,它将(缺省的)解开该文件包作为一个子目录,并以WAR文件的文件名作为子目录的名字。接下来,Tomcat将在内存中建立一个context,就好象你在serverxml文件里建立一样。当然,其他必需的内容,将从serverxml中的DefaultContext获得。

部署web应用的另一种方式是写一个Context XML片断文件,然后把该文件拷贝到CATALINA_BASE/webapps目录下。一个Context片断并非一个完整的XML文件,而只是一个context元素,以及对该应用的相应描述。这种片断文件就像是从serverxml中切取出来的context元素一样,所以这种片断被命名为“context片断”。

举个例子,如果我们想部署一个名叫MyWebAppwar的应用,该应用使用realm作为访问控制方式,我们可以使用下面这个片断:

<!--

Context fragment for deploying MyWebAppwar

-->

<Context path="/demo" docBase="webapps/MyWebAppwar"

debug="0" privileged="true">

<Realm className="orgapachecatalinarealmUserDatabaseRealm"

resourceName="UserDatabase"/>

</Context>

把该片断命名为“MyWebAppxml”,然后拷贝到CATALINA_BASE/webapps目录下。

这种context片断提供了一种便利的方法来部署web应用,你不需要编辑serverxml,除非你想改变缺省的部署特性,安装一个新的web应用时不需要重启动Tomcat。

4.配置虚拟主机(Virtual Hosts)

关于serverxml中“Host”这个元素,只有在你设置虚拟主机的才需要修改。虚拟主机是一种在一个web服务器上服务多个域名的机制,对每个域名而言,都好象独享了整个主机。实际上,大多数的小型商务网站都是采用虚拟主机实现的,这主要是因为虚拟主机能直接连接到Internet并提供相应的带宽,以保障合理的访问响应速度,另外虚拟主机还能提供一个稳定的固定IP。

基于名字的虚拟主机可以被建立在任何web服务器上,建立的方法就是通过在域名服务器(DNS)上建立IP地址的别名,并且告诉web服务器把去往不同域名的请求分发到相应的网页目录。因为这篇文章主要是讲Tomcat,我们不准备介绍在各种操作系统上设置DNS的方法,如果你在这方面需要帮助,请参考《DNS and Bind》一书,作者是Paul Albitz and Cricket Liu (O'Reilly)。为了示范方便,我将使用一个静态的主机文件,因为这是测试别名最简单的方法。

在Tomcat中使用虚拟主机,你需要设置DNS或主机数据。为了测试,为本地IP设置一个IP别名就足够了,接下来,你需要在serverxml中添加几行内容,如下:

<Server port="8005" shutdown="SHUTDOWN" debug="0">

<Service name="Tomcat-Standalone">

<Connector className="orgapachecoyotetomcat4CoyoteConnector"

port="8080" minProcessors="5" maxProcessors="75"

enableLookups="true" redirectPort="8443"/>

<Connector className="orgapachecoyotetomcat4CoyoteConnector"

port="8443" minProcessors="5" maxProcessors="75"

acceptCount="10" debug="0" scheme="https" secure="true"/>

<Factory className="orgapachecoyotetomcat4CoyoteServerSocketFactory"

clientAuth="false" protocol="TLS" />

</Connector>

<Engine name="Standalone" defaultHost="localhost" debug="0">

<!-- This Host is the default Host -->

<Host name="localhost" debug="0" appBase="webapps"

unpackWARs="true" autoDeploy="true">

<Context path="" docBase="ROOT" debug="0"/>

<Context path="/orders" docBase="/home/ian/orders" debug="0"

reloadable="true" crossContext="true">

</Context>

</Host>

<!-- This Host is the first "Virtual Host": wwwexamplecom -->

<Host name="wwwexamplecom" appBase="/home/example/webapp">

<Context path="" docBase=""/>

</Host>

</Engine>

</Service>

</Server>

Tomcat的serverxml文件,在初始状态下,只包括一个虚拟主机,但是它容易被扩充到支持多个虚拟主机。在前面的例子中展示的是一个简单的serverxml版本,其中粗体部分就是用于添加一个虚拟主机。每一个Host元素必须包括一个或多个context元素,所包含的context元素中必须有一个是默认的context,这个默认的context的显示路径应该为空(例如,path=””)。

5.配置基础验证(Basic Authentication)

容器管理验证方法控制着当用户访问受保护的web应用资源时,如何进行用户的身份鉴别。当一个web应用使用了Basic Authentication(BASIC参数在webxml文件中auto-method元素中设置),而有用户访问受保护的web应用时,Tomcat将通过HTTP Basic Authentication方式,弹出一个对话框,要求用户输入用户名和密码。在这种验证方法中,所有密码将被以64位的编码方式在网络上传输。

注意:使用Basic Authentication通过被认为是不安全的,因为它没有强健的加密方法,除非在客户端和服务器端都使用HTTPS或者其他密码加密码方式(比如,在一个虚拟私人网络中)。若没有额外的加密方法,网络管理员将能够截获(或滥用)用户的密码。但是,如果你是刚开始使用Tomcat,或者你想在你的web应用中测试一下基于容器的安全管理,Basic Authentication还是非常易于设置和使用的。只需要添加<security-constraint>和<login-config>两个元素到你的web应用的webxml文件中,并且在CATALINA_BASE/conf/tomcat-usersxml 文件中添加适当的<role>和<user>即可,然后重新启动Tomcat。

下面例子中的webxml摘自一个俱乐部会员网站系统,该系统中只有member目录被保护起来,并使用Basic Authentication进行身份验证。请注意,这种方式将有效的代替Apache web服务器中的htaccess文件。

<!--

Define the Members-only area, by defining

a "Security Constraint" on this Application, and

mapping it to the subdirectory (URL) that we want

to restrict

-->

<security-constraint>

<web-resource-collection>

<web-resource-name>

Entire Application

</web-resource-name>

<url-pattern>/members/</url-pattern>

</web-resource-collection>

<auth-constraint>

<role-name>member</role-name>

</auth-constraint>

</security-constraint>

<!-- Define the Login Configuration for this Application -->

<login-config>

<auth-method>BASIC</auth-method>

<realm-name>My Club Members-only Area</realm-name>

</login-config>

6.配置单点登录(Single Sign-On)

一旦你设置了realm和验证的方法,你就需要进行实际的用户登录处理。一般说来,对用户而言登录系统是一件很麻烦的事情,你必须尽量减少用户登录验证的次数。作为缺省的情况,当用户第一次请求受保护的资源时,每一个web应用都会要求用户登录。如果你运行了多个web应用,并且每个应用都需要进行单独的用户验证,那这看起来就有点像你在与你的用户搏斗。用户们不知道怎样才能把多个分离的应用整合成一个单独的系统,所有他们也就不知道他们需要访问多少个不同的应用,只是很迷惑,为什么总要不停的登录。

Tomcat 4的“single sign-on”特性允许用户在访问同一虚拟主机下所有web应用时,只需登录一次。为了使用这个功能,你只需要在Host上添加一个SingleSignOn Valve元素即可,如下所示:

<Valve className="orgapachecatalinaauthenticatorSingleSignOn"

debug="0"/>

在Tomcat初始安装后,serverxml的注释里面包括SingleSignOn Valve配置的例子,你只需要去掉注释,即可使用。那么,任何用户只要登录过一个应用,则对于同一虚拟主机下的所有应用同样有效。

使用single sign-on valve有一些重要的限制:

1> value必须被配置和嵌套在相同的Host元素里,并且所有需要进行单点验证的web应用(必须通过context元素定义)都位于该Host下。

2> 包括共享用户信息的realm必须被设置在同一级Host中或者嵌套之外。

3> 不能被context中的realm覆盖。

4> 使用单点登录的web应用最好使用一个Tomcat的内置的验证方式(被定义在webxml中的<auth-method>中),这比自定义的验证方式强,Tomcat内置的的验证方式包括basic、digest、form和client-cert。

5> 如果你使用单点登录,还希望集成一个第三方的web应用到你的网站中来,并且这个新的web应用使用它自己的验证方式,而不使用容器管理安全,那你基本上就没招了。你的用户每次登录原来所有应用时需要登录一次,并且在请求新的第三方应用时还得再登录一次。当然,如果你拥有这个第三方web应用的源码,而你又是一个程序员,你可以修改它,但那恐怕也不容易做。

6> 单点登录需要使用cookies。

7.配置用户定制目录(Customized User Directores)

一些站点允许个别用户在服务器上发布网页。例如,一所大学的学院可能想给每一位学生一个公共区域,或者是一个ISP希望给一些web空间给他的客户,但这又不是虚拟主机。在这种情况下,一个典型的方法就是在用户名前面加一个特殊字符(~),作为每位用户的网站,比如:

http://wwwcsmyuniversityedu/~username

http://membersmybigispcom/~username

Tomcat提供两种方法在主机上映射这些个人网站,主要使用一对特殊的Listener元素。Listener的className属性应该是orgapachecatalinastartupUserConfig,userClass属性应该是几个映射类之一。如果你的系统是Unix,它将有一个标准的/etc/passwd文件,该文件中的帐号能够被运行中的Tomcat很容易的读取,该文件指定了用户的主目录,使用PasswdUserDatabase 映射类。

<Listener className="orgapachecatalinastartupUserConfig"

directoryName="public_html"

userClass="orgapachecatalinastartupPasswdUserDatabase"/>

web文件需要放置在像/home/users/ian/public_html 或者 /users/jbrittain/public_html一样的目录下面。当然你也可以改变public_html 到其他任何子目录下。

实际上,这个用户目录根本不一定需要位于用户主目录下里面。如果你没有一个密码文件,但你又想把一个用户名映射到公共的像/home一样目录的子目录里面,则可以使用HomesUserDatabase类。

<Listener className="orgapachecatalinastartupUserConfig"

directoryName="public_html" homeBase="/home"

userClass="orgapachecatalinastartupHomesUserDatabase"/>

这样一来,web文件就可以位于像/home/ian/public_html 或者 /home/jasonb/public_html一样的目录下。这种形式对Windows而言更加有利,你可以使用一个像c:\home这样的目录。

这些Listener元素,如果出现,则必须在Host元素里面,而不能在context元素里面,因为它们都用应用于Host本身。

8.在Tomcat中使用CGI脚本

Tomcat主要是作为Servlet/JSP容器,但它也有许多传统web服务器的性能。支持通用网关接口(Common Gateway Interface,即CGI)就是其中之一,CGI提供一组方法在响应浏览器请求时运行一些扩展程序。CGI之所以被称为通用,是因为它能在大多数程序或脚本中被调用,包括:Perl,Python,awk,Unix shell scripting等,甚至包括Java。当然,你大概不会把一个Java应用程序当作CGI来运行,毕竟这样太过原始。一般而言,开发Servlet总要比CGI具有更好的效率,因为当用户点击一个链接或一个按钮时,你不需要从操作系统层开始进行处理。

Tomcat包括一个可选的CGI Servlet,允许你运行遗留下来的CGI脚本。

为了使Tomcat能够运行CGI,你必须做如下几件事:

1 把servlets-cgirenametojar (在CATALINA_HOME/server/lib/目录下)改名为servlets-cgijar。处理CGI的servlet应该位于Tomcat的CLASSPATH下。

2 在Tomcat的CATALINA_BASE/conf/webxml 文件中,把关于<servlet-name> CGI的那段的注释去掉(默认情况下,该段位于第241行)。

3 同样,在Tomcat的CATALINA_BASE/conf/webxml文件中,把关于对CGI进行映射的那段的注释去掉(默认情况下,该段位于第299行)。注意,这段内容指定了HTML链接到CGI脚本的访问方式。

4 你可以把CGI脚本放置在WEB-INF/cgi 目录下(注意,WEB-INF是一个安全的地方,你可以把一些不想被用户看见或基于安全考虑不想暴露的文件放在此处),或者你也可以把CGI脚本放置在context下的其他目录下,并为CGI Servlet调整cgiPathPrefix初始化参数。这就指定的CGI Servlet的实际位置,且不能与上一步指定的URL重名。

5 重新启动Tomcat,你的CGI就可以运行了。

在Tomcat中,CGI程序缺省放置在WEB-INF/cgi目录下,正如前面所提示的那样,WEB-INF目录受保护的,通过客户端的浏览器无法窥探到其中内容,所以对于放置含有密码或其他敏感信息的CGI脚本而言,这是一个非常好的地方。为了兼容其他服务器,尽管你也可以把CGI脚本保存在传统的/cgi-bin目录,但要知道,在这些目录中的文件有可能被网上好奇的冲浪者看到。另外,在Unix中,请确定运行Tomcat的用户有执行CGI脚本的权限。

9.改变Tomcat中的JSP编译器(JSP Compiler)

在Tomcat 41(或更高版本,大概),JSP的编译由包含在Tomcat里面的Ant程序控制器直接执行。这听起来有一点点奇怪,但这正是Ant有意为之的一部分,有一个API文档指导开发者在没有启动一个新的JVM的情况下,使用Ant。这是使用Ant进行Java开发的一大优势。另外,这也意味着你现在能够在Ant中使用任何javac支持的编译方式,这里有一个关于Apache Ant使用手册的javac page列表。使用起来是容易的,因为你只需要在<init-param> 元素中定义一个名字叫“compiler”,并且在value中有一个支持编译的编译器名字,示例如下:

<servlet>

<servlet-name>jsp</servlet-name>

<servlet-class>

orgapachejasperservletJspServlet

</servlet-class>

<init-param>

<param-name>logVerbosityLevel</param-name>

<param-value>WARNING</param-value>

</init-param>

<init-param>

<param-name>compiler</param-name>

<param-value>jikes</param-value>

</init-param>

<load-on-startup>3</load-on-startup>

</servlet>

当然,给出的编译器必须已经安装在你的系统中,并且CLASSPATH可能需要设置,那处决于你选择的是何种编译器。

10.限制特定主机访问(Restricting Access to Specific Hosts)

有时,你可能想限制对Tomcat web应用的访问,比如,你希望只有你指定的主机或IP地址可以访问你的应用。这样一来,就只有那些指定的的客户端可以访问服务的内容了。为了实现这种效果,Tomcat提供了两个参数供你配置:RemoteHostValve 和RemoteAddrValve。

通过配置这两个参数,可以让你过滤来自请求的主机或IP地址,并允许或拒绝哪些主机/IP。与之类似的,在Apache的httpd文件里有对每个目录的允许/拒绝指定。

例如你可以把Admin Web application设置成只允许本地访问,设置如下:

<Context path="/path/to/secret_files" >

<Valve className="orgapachecatalinavalvesRemoteAddrValve"

allow="127001" deny=""/>

</Context>

如果没有给出允许主机的指定,那么与拒绝主机匹配的主机就会被拒绝,除此之外的都是允许的。与之类似,如果没有给出拒绝主机的指定,那么与允许主机匹配的主机就会被允许,除此之外的都是拒绝的。

随着java的流行,其在web上的应用也越来越广,tomcat作为一个开源的servlet容器,应用前景越来越广,本文将向你讲述tomcat的一些知识。

一:简介

tomcat是jakarta项目中的一个重要的子项目,其被JavaWorld杂志的编辑选为2001年度最具创新的java产品(Most Innovative Java Product),同时它又是sun公司官方推荐的servlet和jsp容器(具体可以见http://javasuncom/products/jsp/tomcat/),因此其越来越多的受到软件公司和开发人员的喜爱。servlet和jsp的最新规范都可以在tomcat的新版本中得到实现。

二:安装及配置

tomcat最新版本为401,这个版本用了一个新的servlet容器Catalina,完整的实现了servlet23和jsp12规范。注意安装之前你的系统必须安装了jdk12以上版本。

(一):安装

1:windows平台

从tomcat网站下载jakarta-tomcat-401exe,按照一般的windows程序安装步骤即可安装好tomcat,安装时它会自动寻找你的jdk和jre的位置。

2:linux平台

下载jakarta-tomcat-401targz,将其解压到一个目录。

(二):配置

运行tomcat需要设置JAVA_HOME变量

set JAVA_HOME=c:/jdk (win98,在msdos方式下使用,或者放入autoexecbat中)

export JAVA_HOME=/usr/local/jdk (linux下使用,放到/etc/bashrc或者/etc/profile中)

(三):运行

设置完毕后就可以运行tomcat服务器了,进入tomcat的bin目录,win98下用startup启动tomcat,linux下用startupsh,相应的关闭tomcat的命令为shutdown和shutdownsh。

启动后可以在浏览器中输入http://localhost:8080/测试,由于tomcat本身具有web服务器的功能,因此我们不必安装apache,当然其也可以与apache集成到一起,下面会介绍。

下面你可以测试其自带的jsp和servlet示例。

三:应用

(一):目录结构

tomcat的目录结构如下: 目录名 简介

bin 存放启动和关闭tomcat脚本

conf 包含不同的配置文件,serverxml(Tomcat的主要配置文件)和webxml

work 存放jsp编译后产生的class文件

webapp 存放应用程序示例,以后你要部署的应用

你的服务器打开了没啊?tomcat文件夹下bin\startupbat

还有的是,你的访问的路径不知对不对。。http://localhost:[端口]/[项目文件夹名]/jsp

jsp访问Servlet 要如何配置webxml:

你新建servlet类时,一般会自动配置webxml。不需要你去配置。具体配置,例子如下:

<servlet>

<description>This is the description of my J2EE component</description>

<display-name>This is the display name of my J2EE component</display-name>

<servlet-name>CartServlet</servlet-name>

<servlet-class>comdigitalwebservletCartServlet</servlet-class>

</servlet>

<servlet-mapping>

<servlet-name>CartServlet</servlet-name>

<url-pattern>/CartServlet</url-pattern>

</servlet-mapping>

这里的servlet类名为CartServlet,存放在包comdigitalwebservlet里

Servlet:

Servlet(Server Applet)是Java Servlet的简称,称为小服务程序或服务连接器,用Java编写的服务器端程序,主要功能在于交互式地浏览和修改数据,生成动态Web内容。

>>>

还可以用Weblogic 它也可以运行jsp文件 服务器的配置首选!

IIS不支持jsp,所以无法运行!用tomcat吧!用tomcat你只要把文件放在目录webapps下的某个目录(如test),打开IE,输入:http://localhost:8080/test就能看到拉!

若还是用iis的话,也可以:(不过resin本来也支持jsp,如果是学习用,我觉得是不是太麻烦拉!就单独用resin或tomcat就行何必费事呢对吧!)

一、分别安装配置iis和resin11使各自都单独能正常运行。iis和resin11的安装后路径如下:c:\apache 和 c:\resin11。

二、配置IIS

1拷贝iis_srundll 到IIS scripts目录"c:\inetpub\scripts";

2在c:\inetpub\scripts目录下创建配置文件(resinini)用于指定resin的配置文件的位置。

resinini内容如下:

CauchoConfigFile c:/resin11/conf/resinconf

三、配置resin

<cauchocom>

<http-server app-dir=`C:\Inetpub\wwwroot`>

<servlet-mapping rl-pattern=`/servlets/` servlet-name=`invoker`/>

<servlet-mapping rl-pattern=`xtp` ervlet-name=`comcauchojspXtpServlet`/>

<servlet-mapping rl-pattern=`jsp` servlet-name=`comcauchojspJspServlet`/>

</http-server>

</cauchocom>

四、测试

1、 运行IIS,启动resin的jsp引擎(运行c:\resin11\bin\srunexe)

2、 把一个jsp文件(testjsp )放入IIS的C:\Inetpub\wwwroot目录下

testjsp如下:

<%@ page language=java>

2+2=<%=2+2%>

浏览http://localhost:port/testjsp。你将看到:2+2=4<这个结果

注:port为端口号,调试环境nt40+iis+resin11

第一部分 安装JDK+Tomcat+mySQL

  ----------------------------------

这一步的安装要求是支持JSP、html、htm网页,所以选用JDK150+Tomcat554+mySQL417,这些都是当前各软件最新的稳定版本(非测试版),这是现在流行、经典的配置。暂没有安装Apache和支持PHP,主要是考虑到用桌面版Linux的网友基本是个人网站,主要是为学习、测试JSP而用,用这些配置已经是绰绰有余,况且更能轻装上阵。

  若要安装Apache和PHP请参考第二部分的内容。

  注意,在下面的安装中,开头带#号的代表root用户在系统终端下的操作,实际操作时不用输入#号。

一、下载相关的必要软件,放到一个统一目录(如/tmp/myDown):

  1、下载JDK150安装包(即JAVA50),文件名:jdk-1_5_0-linux-i586-rpmbin

  下载链接:http://javasuncom/j2se/150/downloadjsp

  2、下载Tomcat安装包(支持JSP),文件名:jakarta-tomcat-554targz

  下载链接:http://apachefreelampcom/jakarta/tomcat-5/v554/bin/jakarta-tomcat-554targz

  3、下载mySQL安装包(数据库软件),文件名:mysql-standard-417-pc-linux-i686targz

  下载链接:http://devmysqlcom/get/Downloads/MySQL-41/mysql-standard-417-pc-linux-i686targz/from/pick

  4、下载mySQL的JDBC驱动,文件名:mysql-connector-java-3016-gatargz

  下载链接:http://devmysqlcom/downloads/connector/j/30html

二、安装软件

  1、安装JDK(因JDK包含JRE,若原来装LumaQQ时安装了JRE,请先卸载JRE的rpm包,可节省85M空间)

  (1)安装:

  #cd /tmp/myDown

  #/jdk-1_5_0-linux-i586-rpmbin

  这样JDK就安装到了/usr/java/jdk150目录

  (2)编辑文件/etc/profile,在最后加入:

  export JAVA_HOME=/usr/java/jdk150

  export CLASSPATH=$CLASSPATH:$JAVA_HOME/lib/toolsjar:$JAVA_HOME/lib/dtjar:

  export PATH=$PATH:$JAVA_HOME/bin

  (3)为让新配置生效,运行#source /etc/profile

  (4)测试,用文本编辑器写一个java程序来验证,保存在/tmp/myDown目录,文件名:HelloWorldjava,输入如下内容:

  public class HelloWorld{

  public static void main(String args[]){

  Systemoutprintln("Hello,Wrold");

  }

  }

然后,在终端下执行:

  #cd /tmp/myDwon

  #javac HelloWorldjava

  #java HelloWorld

  这时如果出现"Hello,World",就说明你的JAVA编译、运行环境搭建好了。

2、安装Tomcat

  (1)在图形环境下右键单击jakarta-tomcat-554targz文件图标,选择解压到/usr/local目录。

  为方便使用,在终端下执行:

  #cd /usr/local

  #ln -s jakarta-tomcat-554 tomcat

  (2)编辑文件/etc/profile,在最后加入:export CATALINA_HOME=/usr/local/tomcat

  (3)如果要求系统开机自动启动tomcat(没有此要求的朋友就不用做这步),请修改/usr/local/tomcat/bin/startupsh 为:

  export JAVA_HOME=/usr/java/jdk150

  export CLASSPATH=$CLASSPATH:$JAVA_HOME/lib/toolsjar:$JAVA_HOME/lib/dtjar:

  export PATH=$PATH:$JAVA_HOME/bin

  export CATALINA_HOME=/usr/local/tomcat

  /usr/local/tomcat/bin/catalinash start

并在/etc/rcd/rclocal中加入:/usr/local/tomcat/bin/startupsh

(4)执行#source /etc/profile使配置生效,运行/usr/local/tomcat/bin/startupsh启动tomcat

  (5)测试,在浏览器中输入:http://localhost:8080,若出现Tomcat的欢迎页面则安装成功。

3、安装mySQL(我安装的不是RPM包,建议下载mysql的RPM包,即Server、Client和开发包库文件和头文件,这样安装较简单,不另介绍)

  (1)在图形环境下右键单击mysql-standard-417-pc-linux-i686targz文件图标,选择解压到/usr/local目录。

  为方便使用,在终端下执行:

  #cd /usr/local

  #ln -s mysql-standard-417-pc-linux-i686 mysql

  然后执行:

  #cd mysql

  #scripts/mysql_install_db --user=mysql

  #chown -R root

  #chown -R mysql data

  #chgrp -R mysql

  #bin/mysqld_safe --user=mysql

  (2)测试,

  #cd /usr/local/mysql/bin

  #/mysql

  如果能看到mysql符号,则安装成功。

  如果要求系统开机自动启动mysql,请在/etc/rcd/rclocal中加入:/usr/local/mysql/support-files/mysqlserver start

4、安装mySQL的JDBC驱动

  (1)在图形环境下右键单击mysql-connector-java-3016-gatargz文件图标解压到当前目录(/tmp/myDown)

  (2)把解压出来的mysql-connector-java-3016-ga-binjar拷贝到/usr/local/tomcat/common/lib

  (3)增加mysql用户从本机访问数据库的权限(运行JSP需要),注意括号内的内容不要输入:

  #cd /usr/local/mysql/bin

  #/mysql

  mysqlGRANT ALL PRIVILEGES ON TO mysql(用户名)@localhostlocaldomain(本机的主机名) IDENTIFIED BY ''(密码);

  mysqlquit

三、Tomcat+JDK+mySQL完整测试:

  1、在/usr/local/tomcat/webapps下建立子目录test

  2、复制目录(注意是整个目录)usr/local/tomcat/webapps/ROOT/WEB-INF到新建的test目录下

  3、在test目录下新建indexjsp文件:

  %@ page contentType="text/html;charset=gb2312"%

  %@ page import="javasql"%

  htmltitle红旗桌面Linux41下测试JSP页面(Tomcat+MySQL)/titlebody

  %ClassforName("orggjtmmmysqlDriver")newInstance();

  String url ="jdbc:mysql://localhost:3306/mysqluser=rootpassword=useUnicode=truecharacterEncoding=GB2312";

  Connection conn= DriverManagergetConnection(url);

  Statement stmt=conncreateStatement(ResultSetTYPE_SCROLL_SENSITIVE,ResultSetCONCUR_UPDATABLE);

  String sql="select from user";

  ResultSet rs=stmtexecuteQuery(sql); %

  tabletrtd您的第一个字段内容为:/td

  td您的第二个字段内容为:/td

  /tr

  %while(rsnext()) {%

  trtd

  %=rsgetString(1)% /tdtd

  %=rsgetString(2)% /td/tr

  %}%

  /table

  %outprint("Tomcat+JDK+mySQL完整测试,恭喜你,数据库操作成功!");%

  %rsclose();

  stmtclose();

  connclose();

  %

  /body

  /html

4、测试,在浏览器中输入:http://localhost:8080/test,若出现“Tomcat+JDK+mySQL完整测试,恭喜你,数据库操作成功!”,则说明你的Tomcat+JDK+mySQL整体配置成功。

四、如果你使用的是ADSL拔号上网,IP可能就是动态不固定的。这时如果你要让别人从Internet上访问你的网站,就需要申请动态IP域名服务,在www3322org上有免费的,都是中文就不用我多说了。

注:JSP服务器的安装和配置就到此结束,实际上Tomcat的配置工作还有许多需要做,这个只是基本安装入门仅能使用而已,更多的请查看相关文章和书籍。

---------------------------------

  第二部分 安装Apache和PHP

  ---------------------------------

Apache是一个非常专业、稳定性极好的WEB服务器,但是其本身仅能解析简单的静态网页和JavaScript网页,但结合Tomcat和PHP就可处理JSP和PHP动态网页。注意,下面的安装是在上面已安装JDK+Tomcat+mySQL的基础上进行的。

一、下载相关软件放到一固定目录(如/tmp/myDown)

  1、Apache2:下载链接:http://apachefreelampcom/httpd/httpd-2052targz

  2、PHP5:文件名:php-502targz,下载链接:http://cnphpnet/get/php-502targz/from/a/mirror

  3、jk2(用于整合Apache与Tomcat),下载链接:http: //apachefreelampcom/jakarta/tomcat-connectors/jk2/jakarta-tomcat-connectors-jk2-src-currenttargz

二、开始安装

  1、安装Apache:

  (1)解压并编译安装

  #cd /tmp/myDown

  #tar xvfz httpd-2052targz

  #cd httpd-2052

  #/configure --prefix=/usr/local/apache --enable-so --enable-vhost_alias

  #make

  #make install

  (2)编辑/usr/local/apache/conf/httpdconf:

  在DirectoryIndex后加上indexphp indexjsp

  加一行 AddType application/x-httpd-php php phtml php3 inc

  AddDefaultCharset后改为GB2312

  (3)测试,执行#/usr/local/apache/bin/apachectl start启动Apache,在浏览器输入http://localhost应该会出现Apache的欢迎页面。

  若要开机自动启动Apache,请在/etc/rcd/rclocal中加入:/usr/local/apache/bin/apachectl start

2、安装PHP:

  (1)解压并编译安装

  #cd /tmp/myDown

  #tar xvfz php-502targz

  #cd php-502

  #/configure --with-apxs2=/usr/local/apache/bin/apxs --enable-track-vars --with-mysql=/usr/local/mysql

  #make

  #make install

  #cp phpini-dist /usr/local/lib/phpini

  (2)测试,执行#/usr/local/apache/bin/apachectl restart重启Apache

  在/usr/local/apache/htdocs中新建testphp文件,内容: phpinfo()

  在浏览器输入http://localhost/testphp应该会出现服务器信息。

3、整合Apache和Tomcat(这步较烦,请细心点):

  (1)解压并编译安装jk2

  #cd /tmp/myDown

  #tar -xzvf jakarta-tomcat-connectors-jk2-src-currenttargz

  #cd jakarta-tomcat-connectors-jk2-204-src/jk/native2

  #/configure --with-apxs2=/usr/local/apache/bin/apxs --enable-EAPI

  #make

  #make install

  #注:如果make install不成功需要手工发布mod_jk2so

  #cd /tmp/myDown/jakarta-tomcat-connectors-jk2-204-src/jk/build/jk2/apache2

  #cp so /usr/local/apache/modules/

(2)编辑文件/usr/local/tomcat/conf/jk2properties,在最后加入:

  # list of needed handlers

  handlerlist=channelSocket,request

  # Override the default port for the channelSocket

  channelSocketport=8009

(3)编辑文件/usr/local/apache/conf/workers2properties(若无此文件则新建一个),内容如下:

  # only at beginnin In production uncomment it out

  [loggerapache2]

  level=DEBUG

[shm]

  file=/usr/local/apache/logs/shmfile

  size=1048576

# Example socket channel, override port and host

  [channelsocket:localhost:8009]

  port=8009

  host=127001

# define the worker

  [ajp13:localhost:8009]

  channel=channelsocket:localhost:8009

# Uri mapping

  [uri:/jsp]

  worker=ajp13:localhost:8009

#以下主要是为方便在Apache下操作Tomcat的管理、例子、文档,也可去掉

  [uri:/jsp-examples/]

  info=Map the jsp-examples webapp

  worker=ajp13:localhost:8009

[uri:/servlets-examples/]

  info=Map the servlets-examples webapp

  worker=ajp13:localhost:8009

[uri:/tomcat-docs/]

  info=Map the tomcat-docs webapp

  worker=ajp13:localhost:8009

[uri:/manager/]

  info=Map the manager webapp

  worker=ajp13:localhost:8009

(4)编辑文件/usr/local/apache/conf/httpdconf,加入:

  LoadModule jk2_module modules/mod_jk2so

  DocumentRoot "/usr/local/tomcat/webapps/ROOT"

  #Apache默认的是/usr/local/apache/htdocs,Tomcat默认的是/usr/local/tomcat/webapps

  #指定Apache和Tomcat的发布为同一目录(经测试设为ROOT更好些),在混合使用html、JSP、PHP的情况下利于操作

  #如果不混合使用html、JSP、PHP,最好用虚拟主机设置,请参考相关文章或书籍

(5)测试,这时在浏览器中输入http://localhost应该会出现Tomcat的欢迎页面。

红旗Linux下完全安装WEB服务器软件的工作结束!

----------------------------------

  第三部分 安装FTP服务器软件

  ----------------------------------

这个部分主要介绍在红旗41下安装FTP服务器软件的最基本过程过程,软件采用Linux下使用率最高的FTP服务器vsFTPd。

一、下载软件:ftp://vsftpdbeastsorg/users/cevans/vsftpd-201targz,放到/tmp/myDown

二、安装VSFTPD

  (1)解压并编译软件

  #cd /tmp/myDown

  #tar -xzvf vsftpd-201targz

  #cd vsftpd-201

  #make

  这时将产生一个二进制文件,验证一下,形如:

  #ls -l vsftpd

  -rwxrwxr-x 1 chris chris 61748 Sep 27 00:26 vsftpd

(2)满足VSFTPD安装所需的一些条件

  VSFTPD默认设置需要一个"nobody"用户,如果这个用户不存在,那么添加它。如下:

  # useradd nobody

  useradd: user nobody exists

VSFTPD默认设置需要一个空目录:/usr/share/empty,增加这个目录,如果它还不存在的话。如下:

  # mkdir /usr/share/empty/

  mkdir: cannot create directory `/usr/share/empty': File exists

创建一个"ftp"用户(如果它还不存在的话),/var/ftp/就是FTP的根目录,可换成其它的。

  # mkdir /var/ftp/

  # useradd -d /var/ftp ftp

  #chown rootroot /var/ftp

  #chmod og-w /var/ftp

(3)安装VSFTPD的配置、执行和帮助文件。

  #mkdir /usr/local/man/man5

  #mkdir /usr/local/man/man8

  #make install

  #cp vsftpdconf /etc

(4)编辑/etc/vsftpdconf,在最下面加入以下这一行:listen=YES

  (5)测试,

  # /usr/local/sbin/vsftpd

  注:若要开机自动启动vsFTPd,请在/etc/rcd/rclocal中加入:/usr/local/sbin/vsftpd

  如果一切正常,那么你将连上FTP服务器,形如:

  $ ftp localhost

  Connected to localhost (127001)

  220 (vsFTPd 111)

  Name (localhost:chris): ftp

  331 Please specify the password

  Password:

  230 Login successful Have fun

  Remote system type is UNIX

  Using binary mode to transfer files

  ftp ls

  227 Entering Passive Mode (127,0,0,1,229,133)

  150 Here comes the directory listing

  226 Directory send OK

  ftp quit

DABAN RP主题是一个优秀的主题,极致后台体验,无插件,集成会员系统
网站模板库 » jsp服务器配置时使用apache+tomcat服务器配合使用和单独使用tomcat服务器相比有什么优点?

0条评论

发表评论

提供最优质的资源集合

立即查看 了解详情