Apache的使用方法

http://www.heibai.net/book/html/wangluogongju/qitaruanjian/2009/1111/1567.html


一、软件简介

  1、Apache是最流行的Web服务器端软件之一。快速、可靠、可通过简单的API扩展,Perl/Python解释器可被编译到服务器中,完全免费,完全源代码开放。如果你需要创建一个每天有数百万人访问的Web服务器,Apache可能是最佳选择。

  2、Apache Web Server Win32从版本1.3.17开始使用MSI(扩展名)的形式发布,MSI文件可以在Windows下直接运行,使用起来就和我们平常所用的那些EXE(扩展名)文件一样的方便。

  3、不过MSI文件这种新兴的东东也给使用微软较早发行的Win98和WinNT的用户带来了麻烦,当它们安装时系统会提示"无法通过Windows 安装程序服务安装此安装程序包。您必须安装带有更新版本Windows 安装程序服务的Windows Service Pack",根本无法让你继续下去!——而在WinME和Win2K下面则不会有这种麻烦出现。

  4、要解决在Win98和WinNT下安装MSI文件不能完成的麻烦,你需要先有相应版本的名为"Microsoft Installer"的软件包,把它安装之后方可以开始MSI的安装工作。

  5、此软件为免费软件;本文测试环境为Windows 2000。

  6、确保此软件安装前已卸载(或停止服务)了其他的HTTP服务器端软件。

  二、软件安装

  1、本机已升级成了域控制器,已拥有一个名为"edu.enanshan.com"的域名;计算机名为"server";完整的计算机名为"server.edu.enanshan.com"。

  2、双击Apaceh的安装文件".msi"即可进入安装向导。

  3、当安装向导进行到"License Agreement"(协议许可)时,点选中"I accept the terms in the license agreement"(我接受这些协议)项后再按"Next"便能继续进行下一步操作。

  4、之后进入的是"Server Information"(服务器信息)的界面,对于域控制器,系统会自动填写各项的相关内容;如果没有,则需手动填入"Network Domain"(网络域名)、"Server Name"(服务器名)和"Administrator's Email Address"(管理员信箱)三项内容,然后才能选中"Run as a service for all Users"(所有用户使用的服务)项后按"Next"继续即可。

  

  5、接着便是选择安装类型(Setup Type)。Apache提供"Complte"(完全安装)和"Custom"(定制安装)两种安装方式,一般点选中"Complte"项继续(Next)进行完全安装。

  6、在"Destination Folder"(目标目录)中,系统默认将把Apache安装到"C:\Program Files\Apache Group"中,为了以后操作方便起见,建议将此处的安装路径用"Change"改变到"C:\"下。系统安装成功后将自动在此建立一个名为"Apache"的目录,也就是说,安装之后的实际Apache系统文件所在路径将为"C:\Apache"目录。

  7、其他各项均选默认选项即可完成最后安装!安装成功后需根据提示重新启动计算机。然后进入到控制面板中,打开"管理工具"中的"服务",就可以看到Apache的服务已成功地处于运行状态了!

  8、此外,在开始菜单中的"程序"里也将有名为"Apache httpd Server"的组件,其下的"Configure Apache Server"(配置Apaceh服务器)项可以编辑配置文件和测试配置;"Control Apache Server" (控制Apaceh服务器)项可以开启、停止和重启动Apache的服务;"Review Server Log Files"(查看日志文件)中则可以查看Apache的系统日志文件等。

  9、当确信Apache已经安装成功并处于运行状态之后,则就可以直接打开浏览器,在地址栏输入"http://server"(服务器名)的格式,就可以调出你的第一个Apache页面罗!

  10、如欲卸载它,除了要到控制面板的"添加/删除程序"里找到"Apache HTTP Server Version 1.3.20"项去"删除"外,还需要将"C:\Apache"整个目录删掉才较为彻底。

  三、基本设置

  1、Apache的核心配置文件名是"httpd.conf",其所存放的路径为"C:\Apache\conf"目录下。用记事本打开它后,对它进行修改后再保存便可达到配置Apache服务器的目的!

  2、由于配置文件"httpd.conf"决定着整个Apahce服务器的使用,因此对于它的修改千万要小心!强烈建议先做好多个备份,以防出错!如果实在忘了备份了,当错得无法还原时,系统还为你准备了个名为"httpd.default.conf"的备份文件,它是你初安装好Apache后系统自动做好的"httpd.conf"的备份。好在好在!我就差一点重装。^-^

  3、更改主页路径

  (1)默认的,Apache主页文件存放在"C:\Apache\htdocs"目录下。

  (2)比如要想输入"http://server"(服务器名)即可调出"D:\Onlyme\wy"目录下的自己的主页文件,则先用记事本打开"C:\Apache\conf"目录下的"httpd.conf"文件,用"编辑"菜单中的"查找"功能,找到"DocumentRoot "C:/Apache/htdocs""一句,然后将半角引号中的"C:/Apache/htdocs"改成"D:/Onlyme/wy"(注册这里是"/"而不是"\"了)。

  

  4、好了,现在打开浏览器,输入"http://server",看看出现什么!啊,"HTTP 404 没有找到"?天啦!哦,对了,还有默认主页文件名,Apache的只有一个"index.html",你的是这名吗?反正我的不是,后面跟上文件名不就得了!所以现在还只得输入"http://server/index.htm"。该出来了吧!仍是不行?嗯,试试这样,在开始菜单中的"程序"里找到"Apache httpd Server"组件,再选其下"Control Apache Server"中的"Restart"重新运行一下Apache的HTTP服务。……终于可以了!长出了一口气。

5、不过呢,每次调用主页时都要输入文件名实在是麻烦!把我的"Index.htm"添加进去吧!好,还是需要宝贝的"httpd.conf"文件,寻找"DirectoryIndex index.html"行,这里放的就是默认调用的文件!在"index.html"的后面加入你的"index.htm"和其他类型,再保存即可。唯一需要注意的是,各文件类型之间都必须要用一个空格来分隔开!

  6、最后仍要提醒的是:改了配置后,如果未能生效,记住先用用"Restart"!
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Apache Calcite是一个灵活的SQL解析器框架,可以用于解析和优化SQL查询语句,支持多种数据库,包括MySQL、Oracle、SQL Server、PostgreSQL等。下面是Apache Calcite的使用方法: 1. 引入依赖 在项目的pom.xml文件中添加Apache Calcite的依赖: ```xml <dependency> <groupId>org.apache.calcite</groupId> <artifactId>calcite-core</artifactId> <version>1.26.0</version> </dependency> ``` 2. 创建SQL解析器 使用Apache Calcite的SQL解析器,可以将SQL语句解析成AST(抽象语法树)。AST是一种用于表示SQL语句结构的数据结构,可以用于进一步分析和优化SQL查询语句。 ```java import org.apache.calcite.sql.*; import org.apache.calcite.sql.parser.SqlParseException; import org.apache.calcite.sql.parser.SqlParser; import org.apache.calcite.sql.parser.SqlParserConfig; import org.apache.calcite.sql.parser.SqlParserImplFactory; public class SqlParserDemo { public static void main(String[] args) throws SqlParseException { String sql = "SELECT * FROM my_table WHERE id = 1"; SqlParserConfig config = SqlParser.configBuilder() .setParserFactory(new SqlParserImplFactory()) .build(); SqlParser parser = SqlParser.create(sql, config); SqlNode node = parser.parseQuery(); System.out.println(node.getClass().getSimpleName()); } } ``` 以上代码演示了如何创建一个SQL解析器,解析一个SELECT语句,并输出AST的类型。 3. 访问AST AST是一个树形结构,可以使用Visitor模式来访问AST的节点。Apache Calcite提供了许多访问AST节点的Visitor类,可以方便地遍历AST的节点。 ```java import org.apache.calcite.sql.*; import org.apache.calcite.sql.parser.SqlParseException; import org.apache.calcite.sql.parser.SqlParser; import org.apache.calcite.sql.parser.SqlParserConfig; import org.apache.calcite.sql.parser.SqlParserImplFactory; public class SqlParserDemo { public static void main(String[] args) throws SqlParseException { String sql = "SELECT * FROM my_table WHERE id = 1"; SqlParserConfig config = SqlParser.configBuilder() .setParserFactory(new SqlParserImplFactory()) .build(); SqlParser parser = SqlParser.create(sql, config); SqlNode node = parser.parseQuery(); node.accept(new SqlBasicVisitor<Void>() { @Override public Void visit(SqlIdentifier id) { System.out.println(id.getName()); return null; } }); } } ``` 以上代码演示了如何访问AST的节点,使用SqlBasicVisitor类来访问SqlIdentifier节点,并输出节点的名称。 4. 优化查询 AST可以用于进一步优化SQL查询语句。Apache Calcite提供了许多优化器,可以根据AST的结构进行优化,例如选择最优的执行计划、推导查询条件、消除冗余计算等。 ```java import org.apache.calcite.adapter.java.JavaTypeFactory; import org.apache.calcite.plan.*; import org.apache.calcite.prepare.CalcitePrepareImpl; import org.apache.calcite.rel.RelNode; import org.apache.calcite.rel.type.RelDataTypeFactory; import org.apache.calcite.schema.SchemaPlus; import org.apache.calcite.sql.*; import org.apache.calcite.sql.parser.SqlParseException; import org.apache.calcite.sql.parser.SqlParser; import org.apache.calcite.sql.parser.SqlParserConfig; import org.apache.calcite.sql.parser.SqlParserImplFactory; import org.apache.calcite.sql2rel.SqlToRelConverter; import org.apache.calcite.tools.*; import org.apache.calcite.util.Util; public class SqlParserDemo { public static void main(String[] args) throws SqlParseException { String sql = "SELECT * FROM my_table WHERE id = 1"; SchemaPlus schema = Frameworks.createRootSchema(true); FrameworkConfig config = Frameworks.newConfigBuilder() .defaultSchema(schema) .parserConfig(SqlParser.configBuilder() .setParserFactory(new SqlParserImplFactory()) .build()) .build(); Planner planner = Frameworks.getPlanner(config); SqlNode node = planner.parse(sql); SqlValidator validator = planner.getValidator(); SqlNode validatedNode = validator.validate(node); RelDataTypeFactory typeFactory = planner.getTypeFactory(); JavaTypeFactory javaTypeFactory = new JavaTypeFactoryImpl(typeFactory); SqlToRelConverter.Config converterConfig = SqlToRelConverter.configBuilder() .withTrimUnusedFields(false) .build(); SqlToRelConverter converter = new SqlToRelConverter( new CalcitePrepareImpl.PlannerImpl(planner, converterConfig), validator, schema, javaTypeFactory, converterConfig); RelNode relNode = converter.convertQuery(validatedNode, false, true); RelOptPlanner optPlanner = relNode.getCluster().getPlanner(); optPlanner.setRoot(relNode); RelTraitSet traitSet = optPlanner.emptyTraitSet().plus(RelCollations.EMPTY); RelNode optimizedNode = optPlanner.findBestExp(traitSet, relNode); System.out.println(Util.toLinux(optimizedNode.toString())); } } ``` 以上代码演示了如何使用Apache Calcite进行SQL查询语句的优化。首先创建一个Planner对象,然后使用Planner解析和验证SQL语句。接着使用SqlToRelConverter将SQL语句转换为RelNode对象,最后使用RelOptPlanner进行优化,得到最优的执行计划。 以上就是Apache Calcite的使用方法,你可以根据需要使用它来解析和优化SQL查询语句。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值