Jetty6 Guide Book Chapter 4 Jetty service configuration file

2010-03-29  来源:本站原创  分类:Java  人气:594 

EDITORIAL: Use the jetty has been a long time, it is a very good web containers and tools to share in this special jetty6 knowledge. Network, there are some information on the jetty, but it used outdated and does not have a systematic, resulting in a lot of people misunderstand the functions jetty abroad do not have any books on the jetty, so those who do not engage in translation translate the source, it was decided to write a book on jetty6 book to promote the jetty in the domestic use. Remember that jetty is not just a web container!

Copyright Statement: This series of chapters only in javaeye a blog published in any organization and individuals declined reproduced or copied! I All rights reserved! As compensation for infringement of the copyright RMB 5 million Yuan Ze Xu a whole, because labor is priceless, is this a cheap!

Author: CHEN Ru-ye

Since this series of articles being prepared by some of the process, written a chapter on hair a chapter, it is inevitable that many of the wrong place, please correct me buddy!

Chapter 4 Jetty service configuration file

First, let us recall the start jetty. The command "java-jar start.jar etc / jetty.xml" specified in the file etc / jetty.xml is our main target of this chapter, we call such a document is called "service configuration file." Sometimes we say jetty.xml below the configuration file but the pass is not specific to this document refers to "service configuration file."

Jetty in fact, provided an IOC / DI (Inversion of Control and dependency injection) container, jetty.xml configuration file is the configuration file in this container, and the Jetty itself is not directly related services, you can even be used independently of the component. Jetty can be seen from the sub-component-based design to an extreme, there is little dependence between components. I believe friends who are familiar with the springframework know that it is one of the IOC leader in the field. Interestingly, although the Jetty container achieving the IOC is only for internal use, but it is in the springframework existed before. Jetty container achieving the code of the IOC is very small, involving only two classes:

  • org.mortbay.xml.XmlConfiguration
  • org.mortbay.xml.XmlParser

Its essence is to parse the configuration file services components that provide us with a dynamic call to Java code, tools, Jetty to use this tool to achieve the so-called IOC container configuration Server objects, and related components. If we hand these jetty.xml configurations corresponding Java code, then, in fact, embedded Jetty to use the method, which also reflects the Jetty design subtlety.

In this section, we first show under the Jetty default jetty.xml document, so that everyone is probably related to its understanding; followed by details on jetty xml Configuration syntax; Finally, we used to write test cases write to more org.mortbay.xml.XmlConfiguration in-depth understanding of jetty.xml and the jetty to start the configuration process.

4.1 jetty.xml Sample Analysis

<? xml version = "1.0"?>

<! DOCTYPE Configure PUBLIC "- / / Mort Bay Consulting / / DTD Configure / / EN" "http://jetty.mortbay.org/configure.dtd">

"! - Configure Server object, now calls the org.mortbay.jetty.Server default constructor new one Server ->

<Configure>

"! - ============================================== ============= - "

"! - Configure the thread pool -"

"! - ============================================== ============= - "

"! - Called the current method of Server object setThreadPool -"

<Set Name="ThreadPool">

<! - New one ThreadPool object, as setThreadPool method parameter - "

<New>

"! - Set the number of threads the thread pool size of the core -"

<Set Name="corePoolSize"> 50 </ Set>

"! - Set the maximum number of threads the thread pool -"

<Set Name="maximumPoolSize"> 50 </ Set>

</ New>

</ Set>

"! - ============================================== ============= - "

"! - Register connectors ->

"! - ============================================== ============= - "

"! - Called the current method of Server object addConnector -"

<Call Name="addConnector">

<Arg> <! - Arg tag, said addConnector method parameter list - "

<! - New one SelectChannelConnector object - "

<New>

"! - Call the current SelectChannelConnector object setHost method

Connector needs host said listening IP address or hostname,

SystemProperty tag is used to obtain the Java system variables.

- "

<Set Name="host"> <SystemProperty name="jetty.host" /> </ Set>

"! - Listen port -"

<Set Name="port"> <SystemProperty name="jetty.port" default="8080"/> </ Set>

"! - A connection the maximum idle time -"

<Set Name="maxIdleTime"> 30000 </ Set>

<! - Acceptor number of threads, Accepto function is to receive client connections and then deal with the allocation of a ThreadPool - "

<Set Name="Acceptors"> 2 </ Set>

"! - Whether to open statistical functions -"

<Set Name="statsOn"> false </ Set>

<Set Name="confidentialPort"> 8443 </ Set>

"! - The number of connections to reach the value when, Jetty would think that the server resources have been exhausted -"

<Set Name="lowResourcesConnections"> 5000 </ Set>

"! - When resources are saturated, the connection maximum wait time, the time unit is milliseconds -"

<Set Name="lowResourcesMaxIdleTime"> 5000 </ Set>

</ New>

</ Arg>

</ Call>

"! - ============================================== ============= - "

"! - Set Handlers ->

"! - ============================================== ============= - "

<Set Name="handler">

<! - HandlerCollection each one according to Handler will be executed in the order - "

<New>

<Set Name="handlers">

<Array Type="org.mortbay.jetty.Handler">

<Item>

<! - ContextHandler collection - "

<New/>

</ Item>

<Item>

<! - DefaultHandler a Handler, if not dealt with before the request, they would have to implement it. Tip information is used to output or output Website icon - "

<New/>

</ Item>

"! - Request logger -"

<Item>

<New/>

</ Item>

</ Array>

</ Set>

</ New>

</ Set>

"! - ============================================== ============= - "

<! - Configure the context deployer ->

<! - A context deployer will deploy contexts described in ->

<! - Configuration files discovered in a directory. ->

<! - The configuration directory can be scanned for hot ->

<! - Deployments at the configured scanInterval. ->

"! - -"

<! - This deployer is configured to deploy contexts configured ->

<! - In the $ JETTY_HOME / contexts directory ->

"! - -"

"! - ============================================== ============= - "

<Call Name="addLifeCycle">

<Arg>

<New>

<Set Name="contexts"> <Ref/> </ Set>

<Set Name="configurationDir"> <SystemProperty name="jetty.home" default="."/> / contexts </ Set>

<Set Name="scanInterval"> 5 </ Set>

</ New>

</ Arg>

</ Call>

"! - ============================================== ============= - "

<! - Configure the webapp deployer. ->

<! - A webapp deployer will deploy standard webapps discovered ->

<! - In a directory at startup, without the need for additional ->

<! - Configuration files. It does not support hot deploy or ->

<! - Non standard contexts (see ContextDeployer above). ->

"! - -"

<! - This deployer is configured to deploy webapps from the ->

<! - $ JETTY_HOME / webapps directory ->

"! - -"

<! - Normally only one type of deployer need be used. ->

"! - -"

"! - ============================================== ============= - "

<Call Name="addLifeCycle">

<Arg>

<New>

<Set Name="contexts"> <Ref/> </ Set>

<Set Name="webAppDir"> <SystemProperty name="jetty.home" default="."/> / webapps </ Set>

<Set Name="parentLoaderPriority"> false </ Set>

<Set Name="extract"> true </ Set>

<Set Name="allowDuplicates"> false </ Set>

<Set Name="defaultsDescriptor"> <SystemProperty name="jetty.home" default="."/> / etc / webdefault.xml </ Set>

</ New>

</ Arg>

</ Call>

"! - ============================================== ============= - "

<! - Configure Authentication Realms ->

<! - Realms may be configured for the entire server here, or ->

<! - They can be configured for a specific web app in a context ->

<! - Configuration (see $ (jetty.home) / contexts / test.xml for an ->

<! - Example). ->

"! - ============================================== ============= - "

<Set Name="UserRealms">

<Array Type="org.mortbay.jetty.security.UserRealm">

<Item>

<New>

<Set Name="name"> Test Realm </ Set>

<Set Name="config"> <SystemProperty name="jetty.home" default="."/> / etc / realm.properties </ Set>

<Set Name="refreshInterval"> 0 </ Set>

</ New>

</ Item>

</ Array>

</ Set>

"! - ============================================== ============= - "

<! - Configure Request Log ->

<! - Request logs may be configured for the entire server here, ->

<! - Or they can be configured for a specific web app in a ->

<! - Contexts configuration (see $ (jetty.home) / contexts / test.xml ->

<! - For an example). ->

"! - ============================================== ============= - "

<Ref>

<Set Name="requestLog">

<New>

<Set Name="filename"> <SystemProperty name="jetty.logs" default="./logs"/> / yyyy_mm_dd.request.log </ Set>

<Set Name="filenameDateFormat"> yyyy_MM_dd </ Set>

<Set Name="retainDays"> 90 </ Set>

<Set Name="append"> true </ Set>

<Set Name="extended"> false </ Set>

<Set Name="logCookies"> false </ Set>

<Set Name="LogTimeZone"> GMT </ Set>

</ New>

</ Set>

</ Ref>

"! - ============================================== ============= - "

"! - Other configuration options -"

"! - ============================================== ============= - "

<Set Name="stopAtShutdown"> true </ Set>

<Set Name="sendServerVersion"> true </ Set>

<Set Name="sendDateHeader"> true </ Set>

<Set Name="gracefulShutdown"> 1000 </ Set>

</ Configure>

4.2 Jetty xml Configuration Syntax

jetty.xml the xml syntax is like a programming language, is almost the form of Java programming language, xml.

<Configure> Tags

<Configure> Labels as jetty.xml the root element, said org.mortbay.xml.XmlConfiguration need to configure the object.

Property

id: Optional; XmlConfiguration context, if the ID exists in the words of the existence of objects that have been configured, instead creating a class attribute specifies the class object with id as the key at the same time kept in the context of the environment.

(In fact, the so-called contextual environment is java.util.HashMap <String,Object> objects)

class: Required; be configured classes.


Can contain other tags:

New, Set, Put, Call and Ref

Example:

<Configure>
<Set Name="port"> 8080 </ Set>
</ Configure>
After the ID attribute specified by the command java-jar start.jar etc / jetty.xml etc / jetty-ssl.xml launch multiple profiles, these profiles will be on the same Server object configuration.

During the corresponding java code xml
org.mortbay.jetty.Server server = new org.mortbay.jetty.Server (); server.setPort (8080);

<Set> Tags

Set the target object's property (property), the target object is the parent tag Set tag within the meaning of objects. If the name attribute is xxx, then it will call the target audience setXxx method, if it exists setXxx method does not directly set the xxx property fields.

If the label content is plain text, then it will try to transformation, such as setXxx (int xxx) will be converted to the corresponding int row.

Property

name: the object attribute name

Can contain an object

Different texts, Call, New and SystemProperty, Ref label

Plain text and the other four labels can also be mixed with the obtained value is added to the result string.


Example

<New>
<Set Name="xxx"> jetty </ Set>
<Set Name="cat">
<New> </ New>
<Call Name="doSomething"> </ Call>
</ Set>
</ New>

Is equivalent to Java code:
foo.Bar bar = new foo.Bar ();
bar.setXxxDepartment ( "jetty");

foo.Cat temp = new foo.Cat ();
temp.doSomething ();
bar.setCat (temp);

<Get> Tags

Returns the target object's properties. If the name attribute is xxx, then call the target object's getXxx method, if getXxx method does not exist, then direct access to the xxx field.

Property

id: If you set the id attribute, then get access to the object id value of key will be saved in the context

name: the target object's property name.

class: If you specify this attribute, then the call to get the class on a static method or field.

Can contain an object

Set, Put and Call

get the object will be achieved in these three labels as the target object.


Example

<Configure"foo.Bar">
<Get"xid" Name= "xxx" />

</ Configure>

Equivalent Java code:
/ /
foo.Bar bar = new foo.Bar ();
x = bar.getXxx ();
env.put ( "xid", x); / / env context object for the

<Configure"Server""org.mortbay.jetty.Server">
<Call"s" Name= "toString" />
<Call"org.mortbay.log.Log" Name= "info"> <Arg> <Ref"s" /> </ Arg> </ Call>
</ Configure>

Equivalent Java code:
Server server = new org.mortbay.jetty.Server ();
String s = server.toString ();
env.put ( "s", s); / / env context object for the
org.mortbay.log.Log.info (env.get ( "s"));

<Put> Tags

The label is used to achieve the Map interface object, call the Map interface put (Object key, Object value) method.

Property

name: Required; as a method of key arguments put

type: Optional; If you set a type, then the type checking will be conducted.

Can contain an object


Plain text, Call, New, SystemProperty tags

Plain text and the other three labels can also be mixed with the obtained value is added to the result string.

These elements, or tags generated by the returned objects as put (Object key, Object value) method of the value parameter

Example

<Put Name="admin"> admin </ Put>

<Put Name="obj" type="java.lang.Object">
<New> </ New>
</ Put>

<Call> Tags

Call tags will call the target object's method or the static method call to the specified Class. Call tag name attributes and <Arg> by the number of labels exist to determine which method is called.

Property

name: Required; specify the method calls the method name

class: Optional; If you set this property, it will call the static method of the Class object

Can contain an object

0 ..* a <Arg> tab, and then later to follow in the Set, Put, Call label, the target of the three labels is the label called Call methods return the object.

Example

<Configure>

<Call Name="doSomething">
<Arg> Xx </ Arg>
<Set Name="key"> value <Set>
</ Call>
</ Configure>
Rank Java code:

Server server = new Server ();
Object x = server.doSomething ( "xx");
x.setKey ( "value")

If you use the class attribute
<Configure>

<Call Name="doSomething">
<Arg> Xx </ Arg>
<Set Name="key"> value <Set>
</ Call>
</ Configure>

Rank Java code:

Object x = foo.bar.Utils.doSomething ( "xx");
x.setKey ( "value")

<Arg> Tags

Call in the New and the use of labels for them to determine the parameter list. Arg tags can also type attribute to force the type parameter.

Property

type: Optional; If you specify this value, it will force the type of the parameter object

Can contain an object

Plain text, Call, New, SystemProperty, Ref

Plain text and the other four labels can also be mixed with the obtained value is added to the result string.

Example

<Call Name="doSomething">
<Arg>
<New>
<Arg> 11 </ Arg>
</ New>
</ Arg>
<Arg>
<New>
<Arg> Aa </ Arg>
</ New>
</ Arg>
</ Call>
Is equivalent to Java code:

foo.Bar.doSomething (new foo.Bar2 (11), new foo.Bar3 ( "aa"));

<New> Tags

Role and Java keyword "new", like, call constructor method to create a new object.

Property

id: Optional; If set id, then the object will be created id as a key stored in the context of the environment

class: Required; specify a new type of object.

Can contain an object

0 ..* a <Arg> tab, and then later to follow in the Set, Put, Call label, the target of the three labels is the New labels new object.

Arg tag is used to determine which constructor to use.

Example


<New"foo.Bar" />

Is equivalent to Java code:
foo.Bar bar = new foo.Bar () / / call the default constructor method

<New"foo.Bar">
<Arg> Bar </ Arg>
</ New>

Is equivalent to Java code:
foo.Bar bar = new foo.Bar ( "bar")

<Ref> Tags

Obtained from the specified context object. And then use the Set, Put, Call and other labels to manipulate the object. There is another use is that the label <Arg> and <Set> used to refer to an object tag Ref as the Arg, or Set the value of the object, such as <Set name="xxx"> <Ref /> </ Set ".

Property

id: Required; from the context key for the object

Can contain an object

Set, Put, Call.

Ref referenced objects as the operation of the three label objects.

Example

<Ref>

<Set Name="xxx">

<New>

</ New>

</ Set>

</ Ref>

Equivalent Java code:

Object obj = env.get ( "key") / / env context that the object

obj.SetXxx (new foo.Bar ())

<Array> Tags

Create a List object. When the Set, Put or Arg tags need to use the List object, the label will come in handy. Used to represent an array of Item element, and the Array can contain Item label.


Property

type: Required; is used to specify the array element type.

id: Optional; if there is id attribute, then the List object is created id value of key will be stored in the context of the environment.

Can contain an object

Item Label

Example

<Array"plusConfig" Type= "java.lang. String "> <Item> org.mortbay.jetty.webapp.WebInfConfiguration </ Item> <Item> org.mortbay.jetty.plus.webapp.EnvConfiguration </ Item> < Item> org.mortbay.jetty.plus.webapp.Configuration </ Item> <Item> org.mortbay.jetty.webapp.JettyWebXmlConfiguration </ Item> <Item> org.mortbay.jetty.webapp.TagLibConfiguration </ Item>
</ Array>

Equivalent Java code:
List plusConfig = new ArrayList ();
plusConfig.add ( "org.mortbay.jetty.webapp.WebInfConfiguration");
plusConfig.add ( "org.mortbay.jetty.plus.webapp.EnvConfiguration");
plusConfig.add ( "org.mortbay.jetty.plus.webapp.Configuration");
plusConfig.add ( "org.mortbay.jetty.webapp.JettyWebXmlConfiguration");
plusConfig.add ( "org.mortbay.jetty.webapp.TagLibConfiguration");

env.put ( "plusConfig", plusConfig); / / env context that the object

<Map> <Entry> Tags

And Array is similar, Map labeling is used to create a HashMap object. We do use:

<Map>

<Entry>

<Item> KeyName </ Item>

<Item> Value </ Item>

</ Entry>

</ Map>

Entry tab contains two Item, an Item that contains the contents of the first for the key, the second for the value.

The corresponding Java code:

java.util.Map map = new java.util.Map ();

map.put ( "keyName", "value");

Property

id: Optional; if there is id attribute, then the List object is created id value of key will be stored in the context of the environment.

Can contain an object

2 Item Label

<Item> Tags

Item is used as Array labels and Map of the Entry tab.

Property

type: Optional; If you specify this value, it will force the type of the parameter object

Can contain an object

Plain text, Call, New, SystemProperty

Plain text and the other three labels can also be mixed with the obtained value is added to the result string.

<SystemProperty> Tags

Obtain JVM system properties. Is equivalent to calling Java-System. GetProperty ( "Test", "value") method.

Property

name: System property name

default: Optional; as specified system property does not exist, then return to the default values.

Example

<New>

<Set Name="contexts"> <Ref/> </ Set>

<Set Name="configurationDir"> <SystemProperty name="jetty.home" default="."/> / contexts </ Set>

<Set Name="scanInterval"> 5 </ Set>

</ New>

Equivalent Java code:

ContextDeployer deployer = new org.mortbay.jetty.deployer.ContextDeployer ();

deployer.setContexts (env.get ( "Contexts"));

deployer.setConfigurationDir (System.getProperty ( "jetty.home ",".") +" / contexts ")

deployer.setScanInterval (5);

4.3 org.mortbay.xml.XmlConfiguration

A new thing to learn the fastest and most effective way is to - make their own experiments. Jetty configuration features have said it before implementation of the code are only two classes, then we can use them to write some of the experimental procedures to help team you have a better understanding of how to configure.

First, create a new Java project (here we use the Eclipse), to import $ jetty_home / lib the following jetty-6.1.22.jar and jetty-util-6.1.22.jar 2 jar package.

New Class TestObject.java

public class TestObject (

public static void printString (Object x) (

System.out.println (x);

)

int port;

public void setPort (int port) (

this.port = port;

)

public int getPort () (

return port;

)

public static Map static_method () (

return new HashMap <Object, Object> ();

)

public void doStringAdd (String a, String b) (

System.out.println ( "gogo (String a, String b )==>" + a + b);

)

public void doStringAdd () (

System.out.println ( "call gogo ()");

)

)

New Class ConfigTest.java

import java.net.URL;

import org.mortbay.xml.XmlConfiguration;

public class ConfigTest (

public static void main (String [] args) throws Exception (

URL url = ConfigTest.class.getClassLoader (). GetResource (

"configure.xml");

XmlConfiguration configuration = new XmlConfiguration (url);

TestObject testObject = (TestObject) configuration.configure ();

System.out.println (configuration.getIdMap ());

)

)

Finally, a new file src directory configure.xml

<? xml version = "1.0" encoding = "ISO-8859-1"?>

<! DOCTYPE Configure PUBLIC "- / / Mort Bay Consulting / / DTD Configure 1.2 / / EN" "http://jetty.mortbay.org/configure_1_2.dtd">

<Configure>

<Call Name="doStringAdd">

</ Call>

<Call Name="doStringAdd">

<Arg> A-value </ Arg>

<Arg> B-value </ Arg>

</ Call>

<Call Name="static_method">

<Put Name="k1">

111111111

</ Put>

</ Call>

<Set Name="port"> 1 </ Set>

<Get Name="port"> </ Get>

<Call Name="printString">

<Arg>

<Ref> </ Ref>

</ Arg>

</ Call>

</ Configure>

ConfigTest the main method of operation, the output results are as follows:

call gogo ()

gogo (String a, String b) ==> a-valueb-value

(k1 = 111111111)

(p = 1, testObject = TestObject @ 913750, hashmap = (k1 = 111111111))

Now you can arbitrarily modify the TestObject.java and configure.xml file to try a variety of labels, start now hands-on bar.

XmlConfiguration class there is a solution getIdMap (), which returns a HashMap object is what we in the previous section are defined in the context object.

Last call XmlConfiguration the configure () method, the result returned is the Configure tab to specify the TestObject class object. Jetty is the way to create a new Server object.

Now we come to study under the Jetty is how to combine multiple services configuration file to run? If you share the context of the environment before they HashMap object? Look at one of the main method of XmlConfiguration inside a source:

XmlConfiguration last = null; / / the last time the object handled XmlConfiguration

Object [] obj = new Object [args.length];

for (int i = 0; i <args.length; i + +)

(/ / Loop over the configuration file

if (args [i]. toLowerCase (). endsWith ( ". properties"))

(

properties.load (Resource.newResource (args [i]). getInputStream ());

)

else

(

XmlConfiguration configuration = new XmlConfiguration (Resource.newResource (args [i]). GetURL ());

if (last! = null)

configuration.getIdMap (). putAll (last.getIdMap ());

/ / Look, the secret here, in parsing a configuration file the next time, the last time the configuration file generated by the resolution process is set to direct the initial HashMap object HashMap

if (properties.size ()> 0)

configuration.setProperties (properties);

obj [i] = configuration.configure ();

last = configuration;

)

)

相关文章
  • Jetty6 Guide Book Chapter 4 Jetty service configuration file 2010-03-29

    EDITORIAL: Use the jetty has been a long time, it is a very good web containers and tools to share in this special jetty6 knowledge. Network, there are some information on the jetty, but it used outdated and does not have a systematic, resulting in a

  • Jetty6 guidelines and analytical framework for Chapter 3 Jetty 2010-03-29

    EDITORIAL: Use the jetty has been a long time, it is a very good web containers and tools to share in this special jetty6 knowledge. Network, there are some information on the jetty, but it used outdated and does not have a systematic, resulting in a

  • Jetty basic configuration 2010-07-11

    Jetty is another area of Java - a good Web server, the server is also open source projects. Relative to the Tomcat, Jetty have more advantages ---- as - one embedded server, that is, if the application to add the Jar file Jetty, the application can a

  • Subversion access configuration file authz configuration Frequently Asked Questions 2010-12-24

    <! - [If gte mso 9]> <xml> <o:OfficeDocumentSettings> <o:RelyOnVML/> <o:AllowPNG/> </ o: OfficeDocumentSettings> </ xml> <! [Endif ]-->< ! - [if gte mso 9]> <xml> <w:WordDocument> <w:Vie

  • [Transfer] svnserve configuration file detailed analysis 2011-03-26

    svnserve is a light that comes with SVN server, the client by using the svn: / / or svn + ssh: / / prefix the URL to access the svnserve server, remote access SVN repository. svnserve configuration file can be set by the user and password, as well as

  • Jetty6 guide book - first chapter describes Jetty 2010-03-29

    EDITORIAL: Use the jetty has been a long time, it is a very good web containers and tools to share in this special jetty6 knowledge. Network, there are some information on the jetty, but it used outdated and does not have a systematic, resulting in a

  • Maven Jetty Plugin Configuration Guide (c) 2008-12-11

    Configure jetty: run-exploded The goal of the first assembly of your web application files to the exploded-war, then posted to the Jetty. If you set the scan interval is non-zero, Jetty will watch your pom.xml, WEB-INF/lib, WEB-INF/classes and WEB-IN

  • Fedora10 samba service configuration of the world I talk about technology 2010-04-21

    2010-01-07 22:31:38 Recent transplant uboot, due to the need cross compiler, so build on work in the virtual machine (I installed the Fedora10 Linux). Various stages of transplantation, need to modify some files, but there is no very easy to use linu

  • Jetty configuration file syntax 2010-08-27

    Grammar configure.dtd The document type descriptor specified in the xml elements and a simple mapping between the java api, jetty.xml the first line of the configuration file must reference the dtd, as follows: <? Xml version = "1.0" encoding

  • Named service configuration 2010-11-11

    Search Linux DNS, greeted by birds Colombia article: http://linux.vbird.org/linux_server/0350dns.php Up to 11 sections of this article, see the Zone began Yuncai the document. Continue to look for the next article, from the safety of China: http://ww

  • ubuntu svn service configuration 2010-11-24

    ubuntu svn service configuration 1, add the user group sudo addgroup subversion sudo usermod-G subversion-a www-data apt-get install subversion View the results of configuration $ Cat / etc / group | grep subversion subversion: x: 1001: www-data, exp

  • Chapter I - Magento powerful configuration system 2010-12-24

    Depth understanding of Magento - the first chapter - Magento powerful configuration system Translation: Hailong Zhang Chapter I - Magento powerful configuration system First, let's write a simple plug-in to see this so-called "profile" look like

  • DNS service configuration under Linux 2011-04-29

    Linux-based DNS service configuration [Required] 1, DNS server IP address set to 192.168.XX.2 2, create a forward lookup zone study.com. 3, set the Forward Lookup Zones Host: www.study.com 192.168.XX.10 mail.study.com 192.168.XX.11 ftp.study.com 192.

  • vnc service configuration 2011-05-01

    vnc service is mainly used to manipulate the graphical interface of a remote linux server (such as remote installation oracle program execution. / runInstaller when special needs). 1 to confirm whether to install VNC Confirm whether the service is in

  • Samba service configuration and use 2011-06-29

    Samba service configuration and use profile Samba service can be used to share files in linux above, can even share files linux and windows above. Provide file services to Windows clients is achieved through the samba, and samba is a UNIX-based class

  • svn service configuration, and basic applications 2011-06-27

    svn service configuration, and basic applications [Introduction] svn (subversion) version of the rise in recent years, management tools, is the successor to cvs. Currently, the vast majority of open source software code using svn as version control s

  • [Change] tomcat's SSL service configuration 2010-05-30

    HTTPS is a SSL-based secure http connection The default HTTPS port is 443 The configuration in the tomcat as follows: 1, we must first generate the certificate Into the command line, switch to the% JAVA_HOMT% / bin directory, use the keytool command

  • Apache jetty access address mapping configuration file 2011-01-12

    1. In the Apache server configuration path: / opt / apache / conf example: / opt / apache / conf / efs.conf (efs.conf is the configuration file) 2. If there https access mode, upload the certificate to the Apache server address: eg: / ks 3.efs.conf d

  • Ubuntu's startup configuration file grub.cfg (menu.lst) Setup Guide 2011-05-01

    The first cow with the ubuntu version is 9.04, then the startup configuration file or menu.lst, to ubuntu9.10 even when called grub.cfg a, ubuntu 10.04 is still mired in the grub.cfg, but the file content changes not so great. In ubuntu in, grub.cfg

  • dwr configuration file dwr.xml 2009-06-26

    I dwr Chinese document on a collation do dwr.xml purely jobs they take, there are useful do not forget to top friend you, leave a contact with the exchange of learning! Welcome to my site to exchange technical www.ithuzhu.com dwr.xml is the DWR confi