• 2006-04-27

    Linux下整合Apache和Tomcat

    Views: 14687 | No Comments

    我期望你使用Debian Linux,不过如果你使用其它的发行版本,这篇文章也同样能帮助你。

    当然,我听说安装Apache和Tomcat的最简单的方法是运行apt-get install apache2 tomcat5 libapache2-mod-jk,不管怎么样,都只是为了得到下面提到的文件。它们的目录可能和我说的不一样,不过,你应该知道使用搜索找到它们,并且能够把我下面提到的路径换为正确的。否则,你应该请人现场帮你弄好,你在一边看着学习。

    说句题外话:你应该学会从一篇文章里找到变量,例如路径,并将它们设为实际的值。作者不可以总是使用和你的机器一样的变量值。

    1. 安装Apache

    以root身份运行apt-get install apache2 就可以安装上Apache了。一般安装在或者/usr/local/apache2/目录下,/usr/lib/apache2目录下。通过这种方法安装的Apache可以自动开机启动。Apache的设置文件是/usr/lib/apache2/conf/httpd.conf。

    然后通过搜索更改设置httpd.conf,使得有 DirectoryIndex index.html index.jsp

    设置虚拟主机

    在/usr/lib/apache2/conf/httpd.conf文件末尾加上
    NameVirtualHost *:80
    <VirtualHost *:80>
        ServerName  www.yourdomain.com
        DocumentRoot /var/webserver
        <Directory /var/webserver>
            Options FollowSymLinks MultiViews
            AllowOverride None
            Order allow,deny
            allow from all
        </Directory>
        LogLevel warn
        CustomLog /usr/lib/apache2/logs/access.log common
        ErrorLog  /usr/lib/apache2/logs/error.log
    </VirtualHost>
    

    在/usr/lib/apache2/conf/httpd.conf文件末尾加上

    这表示你的网站目录在/var/webserver,你必须有这个目录。运行

    /etc/init.d/apache stop  或者 /etc/init.d/apache2 stop
    /etc/init.d/apache start 或者 /etc/init.d/apache2 start
    

    重启Apache。在浏览器里输入localhost,你应该能看到你的/var/webserver目录下的index文件了。

    2. 安装Tomcat

    参看http://www.ideawu.net/tomcatinstall.html 安装Tomcat。注意不要设置Tomcat的监听端口为80,那是留给Apache的。

    3. 整合Apache和Tomcat

    下载mod_jk 复制到/usr/local/apache2/modules/目录下并改名为mod_jk.so。

    建立一个文件/usr/local/apache2/conf/workers.properties,内容为

    workers.tomcat_home=/usr/tomcat5
    workers.java_home=/usr/lib/j2sdk1.4-sun
    ps=/
    worker.list=ajp13
    
    worker.ajp13.type=ajp13
    worker.ajp13.host=localhost
    worker.ajp13.port=8009
    worker.ajp13.cachesize=10
    

    在httpd.conf文件中的“NameVirtualHost *:80”前面加上

    LoadModule jk_module /usr/local/apache2/modules/mod_jk.so
    <IfModule mod_jk.c>
        JkWorkersFile /usr/local/apache2/conf/workers.properties
        JkLogFile /usr/local/apache2/logs/mod_jk.log
        JkLogLevel error
    </IfModule>
    

    在httpd.conf文件中的“</VirtualHost>”前面加上

    JkMount /*.jsp ajp13
    <Location "/WEB-INF/">
        Order allow,deny
        deny from all
    </Location>
    

    好了,重启Tomcat再重启Apache

    Posted by ideawu at 2006-04-27 19:52:53
  • 2006-04-26

    学习使用CSS进行网页布局

    Views: 8364 | No Comments

    前几天更改首页,一边参考(或者说模仿)欧美的网站,一边更改代码。做出来之后感觉比以前进步多了。不过,首页与我所喜欢的网页相比,显得空洞不丰满。这可能是我缺少图像素材的原因,主要是经验的问题。自己的经验是不可替代的。

    开始我的页面底部有一个表格进行布局,因为我不知道如何使用一个层水平撑大。后来发现使用float和width:100%就可以了。我这一次首页改动主要有下面的几点经验总结:

    大量使用列表

    列表是一种清晰而优美的表示形式。而且可以通过定义列表图标,hover动作使得列表看起来有动态。列表的地位可以通过查看欧美优秀网站的源码可以看出。

    适当地使用绝对定位

    开始我做页面顶部的header的时候,因为header高度固定经常使header内的层溢出。后来发现header是独立的和确定的,和其它的页面元素没有定位关系,所以对内层使用position:absolute,从而轻易解决了问题。

    大胆使用前景或者背景图像

    如果不使用图像,页面将显得空洞。有时候可以使用一张大图作为整个页面或者某个大的区域的背景,就能收到很好的效果。不过,图像的衔接必须自然,不要用得哗众取宠。这需要学习和天生的感觉。

    浏览器差异和网页标准的问题

    如果你不知道什么样的代码符合标准,那么至少让你的代码能同时在Firefox和IE上正常显示。有时候标准的代码也不能让页面同时在这两个浏览器上正常显示。不过我建议你在安装有Web Developer插件的Firefox里调试CSS,然后在到IE下做结尾修改。

    当然,你不能忽略Opera,Sofari,Konqueror等浏览器用户的感情。当他们向你反映页面问题的时候,你必须改正。因为网络的问题,我无法提交我的网页进行验证。不过我知道我的网页在Firefox和IE上都正常显示。

    Posted by ideawu at 2006-04-26 15:43:52
  • 2006-04-26

    请不要制作幼稚的网页

    Views: 10429 | 1 Comment

    有些初学者做网页的时候,总是想在页面中放入满屏幕乱飞的广告图片。网页上漂动的图片就跟一只巨大的像牛屎的牛蝇,除了让访客厌恶之外没有任何别的作用。是的,有些中国的大门户网站是这么做的。但是,他们用客户的厌恶换来了广告费。他们有大量的访客,只要他们不表现的太令人厌恶,他们还能生存。

    有些人不知道这个世界除了中国人做的网页以外还有外国人做的网页。他们甚至不知道除了一种方法之外还有另一种方法。他们将身边的翻得陈旧的过期的书本再翻得更旧,美其名曰“打基础”或者其它的美好词汇。这无异于从垃圾堆中找出值几毛人民币的易拉罐,有什么值得称道的?而是应该受到嘲弄。

    我甚至经常看到有人将屏幕快照(有时仅仅是文本的快照或者其它少量色彩区域的快照)的BMP格式的图像发到网上。我说,你不知道这个世界上还有除了BMP之外的其它图像格式吗?只要你使用包括Windows的画图程序在内的几乎所有图像编辑程序打开图像就可以另存为JPG或者PNG格式,这样,图像一般可以减小80%的体积。

    幼稚的网页有什么危害?那要看你的网页是否发布。如果你的愚蠢的网页只是放在自己的硬盘里,并且保证永远不会被别人看到,那么随你的便,你有自由。不过,如果你想把网页发布到互联网上,请注意互联网是公共的。你往互联网上放了一个让大部分人生厌的网页,就相当于往路边放了一堆垃圾。你应该为维护互联网的整洁而不要往上面放垃圾。

    当你想在网页中加入某个效果的时候,请充分地考虑这个效果的收效是什么,它将可能惹烦哪些人。从而决定是否应该加入。还有,请关注各种知识。这个世界有很多“其他”的。

    Posted by ideawu at 15:00:39
  • 2006-04-16

    QQ群“八荣八耻”

    Views: 11425 | No Comments
    1. 以热爱本群为荣、以退出本群为耻;
    2. 以服从群主为荣、以背离群主为耻;
    3. 以提供信息为荣、以乱发广告为耻;
    4. 以辛勤灌水为荣、以偷偷潜水为耻;
    5. 以互相帮助为荣、以互相贬低为耻;
    6. 以经常上线为荣、以隐身离线为耻;
    7. 以爱护美眉为荣、以冷落帅哥为耻;
    8. 以公开聊天为荣、以底下私聊为耻。

    ---我最先看到一位叫“大叔”的群友发的。

    Posted by ideawu at 2006-04-16 21:31:49
  • 2006-04-15

    国内外一些计算机学习资源的链接

    Views: 15353 | No Comments

    我要是找到好资源,就把链接写到这里。

    1. Core JavaScript Guide: Version 1.5

      访问http://javascript.internet.com/http://www.w3schools.com/jsref/default.asp获取更多的JavaScript学习资源。

    2. http://www.acm.uiuc.edu/webmonkeys/book/c_guide/

      http://www.cplusplus.com/ref/

      "The C Library Reference Guide"。我没想到,竟然找到了qsort()函数 -- Sort using quicksort algorithm,里面还是例子!还有atoi() -- Convert string to integer, atof() -- Convert string to double, atol -- Convert string to long()等。

    3. ChinaUnix.net--手册中心http://man.chinaunix.net/

      手册中心主要收集各类Linux/Unix及其下应用的技术手册文档。当然,还有其它的不局限于Linux/Unix的文档,比如MySQL的中文文档,Apache,PHP文档。

    4. http://docs.python.org/download.html

      想学习Python吗?它的文档就是一本教材。

    Posted by ideawu at 2006-04-15 11:24:31 Tags:
  • 2006-04-15

    学习,用C++语言手工编写编译器

    Views: 13638 | 2 Comments

    这篇文章只是我学习编译原理的日记。我不是要写一个生成机器代码的编译器,我想写一个生成其它语言的编译器。可能是生成html或者c语言代码?

    作为《编译原理》作业,我用C++语言(并不标准)手工编写的的编译器 -- 不完全功能。将代码和文档发上来,和大家一起学习,并希望有高手能够指点。

    程序已经实现了词法分析(Lexer.h/cpp),语法分析(Parser.h/cpp)并建立中序语法分析树,语法分析树数据结构(SyntaxTreeNode.h/cpp和 SyntaxTree.h/cpp)。

    程序和文档在 http://www.ideawu.net/person/compilersrc/

    词法分析器Lexer提供了nextToken()接口供语法分析器Parser使用。但是,词法分析器也可以单独使用,比如为了输出源文件的记号序列。调用Parser的parse()方法将返回一棵源文件对应的语法分析树的指针。之后可以调用display()方法输出格式化的语法分析树。目前 Parser只能建立语法分析树和判断源文件是否存在语法错误并指出错误的地方,无法生成可执行代码。

    2006-04-15

    Posted by ideawu at 08:08:19
|<<<125126127128129130131132133>>>| 129/138 Pages, 825 Results.