[安装配置] [原创]我的WEB服务器搭建之经验
xxjoyjn
|
1#
xxjoyjn 发表于 2006-04-03 16:09
[安装配置] [原创]我的WEB服务器搭建之经验
首先,我要说明的是,这个WEB安装经验是我目前正在使用的方案,由于环境的不同,同一软件有不同版本的缘故,
所以我的这个方案肯定不是适合每个人的需要的。但是,我相信能给初学者给一个指导作用,在此我要申明我的环境: redhat linux9+mysql4.0.12+tomcat-4.1.29+php4.3.1+jdk1.4+apahe2.0.45 下载软包: httpd-2.0.45.tar.gz j2sdk-1_4_2_01-linux-i586.bin jakarta-tomcat-4.1.29.tar.gz mysql-4.0.12.tar.gz php-4.3.1.tar.gz jarkata-tomcat-connectors-4.1.18 jarkata-tomcat-connectors-1.1.25 1.安装mysql 使用tar解压,然后进入解压后的目录执行以下配置: 要正确编译和安装MySQL数据库服务程序,需要建立mysql组和属于mysql组的mysql用户。在以后运行MySQL数据库服务程序的时候同样需要它们,建立的方法如下: groupadd mysql useradd –g mysql mysql #groupadd mysql #useradd mysql -g mysql -s /nonexitent tar -zxvf mysql-3.23.53.tar.gz ./configure --prefix=/usr/local/mysql 编译和安装: 如果已经安装则先make clean make make install 初始化mysql数据库: cd /usr/local/mysql bin/mysql_install_db 改变属性: chown -R root /usr/local/mysql chown -R mysql /usr/local/mysql/var chgrp -R mysql /usr/local/mysql cp support-files/my-medium.cnf /etc/my.cnf /usr/local/mysql/bin/mysqld_safe --user=mysql & echo "/usr/local/mysql/bin/mysqld_safe --user=mysql &" > /etc/rc.local ./mysqladmin -u root -p password your-password #启动mysql #echo "/usr/local/mysql/bin/mysqld_safe &" > /etc/rc.local 2.安装apache 使用tar解压,然后进入解压后的目录执行以下配置: tar -zxvf httpd-2.0.43.tar.gz #./configure --prefix=/usr/local/apache2 --enable-so ./configure --prefix=/usr/local/apache2 --with-mysql=/usr/local/mysql --enable-shared=max --enable-module=so 编译和安装: make && make install mv /usr/local/apache2/htdocs/index.html.en /usr/local/apache/htdocs/index.html /usr/local/apache/bin/apachectl start 3.安装php使它支持mysql和apache2: 使用tar解压,然后进入解压后的目录执行以下配置: tar -zxvf php-4.3.0.tar.gz mv php-4.3.0 php cd php ./configure --prefix=/usr/local/php --with-mysql=/usr/local/mysql --with-apxs2=/usr/local/apache2/bin/apxs #./configure --prefix=/usr/local/php --with-apxs2=/usr/local/apache2/bin/apxs --with-mysql=/usr/local/mysql make make install ee /usr/local/apache/conf/httpd.conf mv /usr/local/apache/htdocs/index.html.en /usr/local/apache/htdocs/index.html rm /usr/local/apache/htdocs/index.html.* 在 /usr/local/apache2/conf 下的httpd.conf文件中加上下面三行代码,就可以使apache支持php了,然后保存退出。 LoadModule php4_module modules/libphp4.so AddType application/x-httpd-php .php AddType application/x-httpd-php-source .phps 修改servername的属性 4.tomcat tar zxf jakarta-tomcat-4.0.1.tar.gz /usr/java/ (如果不能这么解压,就把这个包直接拷贝到/usr/java下再解压成 文件jakarta-tomcat-4.1.29,在解压时就执行了tomcat的安装 ,接着进入jakarta-tomcat-4.1.29/bin,执行startup.sh文件,接着用IP直接访问主机8080端口, 如果出现 tomcat的主页面就意味着安装成功) 直接执行j2sdk-1_4_0-beta2-linux-i386.bin 解压jdk1.4到/usr/local 为了方便操作,做两个连接操作 ln -s jakarta-tomcat-4.0.1 tomcat ln -s j2sdk1.4.0 jdk 在/etc/下编辑profile添加 (配置环境变量,要运行tomcat,这一步是必须的) JAVA_HOME=/usr/local/jdk path=/usr/local/jdk/binpath: export path JAVA_HOME 以下是如何整合apache和tomcat说明: 只要实现以下两个步骤就可以了: 第一步:修改tomcat下的server.xml 文件: 在server.xml文件的 <server></server>标签中间加一<service></service>标签,与其他的<service></service> 标签并列,如下: <Service name="Tomcat-Apache"> <Connector className="org.apache.catalina.connector.warp.WarpConnector" port="8008" minProcessors="5" maxProcessors="75" enableLookups="true" appBase="webapps" acceptCount="10" debug="0"/> <!-- Replace "localhost" with what your Apache "ServerName" is set to --> <Engine className="org.apache.catalina.connector.warp.WarpEngine" name="Apache" debug="0"> <!-- Global logger unless overridden at lower levels --> <Logger className="org.apache.catalina.logger.FileLogger" prefix="apache_log." suffix=".txt" timestamp="true"/> <!-- Because this Realm is here, an instance will be shared globally --> <Realm className="org.apache.catalina.realm.MemoryRealm" /> </Engine> </Service> 第二步: 修改/usr/local/apache2/con下的httpd.conf文件,这一步涉及两个修改: (1)在文件末尾加入一下代码: LoadModule webapp_module modules/mod_webapp.so WebAppConnection warpConnection warp localhost:8008 WebAppDeploy /usr/java/tomcat/webapps/ROOT warpConnection / WebAppDeploy /usr/java/tomcat/webapps/hbcz warpConnection /hbcz 注意:第一行中的mod_webapp.so是一个二进制文件,在apache最初安装时并不存在 因此,必须找这样的一个文件拷贝到/usr/local/apache2/modules目录下, 该文件 我放在 D:\服务器配置\安装服务器的有关文件 中 (2) 修改servername的值,这个值就是服务器的IP地址 如果要使apache支持php,则应该在(1)中的四行代码前加入一下几行代码: LoadModule php4_module modules/libphp4.so AddType application/x-httpd-php .php AddType application/x-httpd-php-source .phps 最后,为了方便,我们总希望每次服务器启动时都能自行启动mysql,apache,tomcat等, 在此需要编辑/etc/rc.local这个文件。有两种方法: (1)使用命令:vi /etc/rc.local 直接进行编辑 使用该命令打开该文件后,插入以下代码: /usr/local/mysql/bin/mysqld_safe --user=root & /usr/local/apache2/bin/apachectl start export JDK_HOME=/usr/local/jdk export JAVA_HOME=/usr/local/jdk /usr/java/tomcat/bin/startup.sh (2)在命令行中使用echo命令: echo "/usr/local/mysql/bin/mysqld_safe --user=root &" > /etc/rc.local echo "/usr/local/apache2/bin/apachectl start" > /etc/rc.local echo "export JDK_HOME=/usr/local/jdk" > /etc/rc.local echo "export JAVA_HOME=/usr/local/jdk" > /etc/rc.local echo "/usr/java/tomcat/bin/startup.sh" > /etc/rc.local 5 mod-webapp.so 的下载 编译 安装 (1) 编译Jakarta-Tomcat-connectors cd /opt/jakarta-tomcat-connectors-4.1.18-src/webapp ## 进入指定的目录 ./support/buildconf.sh ## 生成编译配置文件 ./configure --with-apxs ## 生成Makefile编译文件 make ## 编译生成mod_webapp.so 注释: 生成的mod_webapp.so文件在apache-2.0目录中 (2) 把apache-2.0目录中的mod_webapp.so文件复制到目录/usr/lib/httpd/modules 并检查文件/usr/lib/httpd/modules/mod_webapp.so的属性,应与其它Modules文件 属性一致,如果不相同,则使用chmod chgrp chown来修改 6 用mod-jk.so实现APACHE 和TOMCAT的整合 (说明:mod-jk.so这个二进制文件需要下载jarkata-tomcat-connector1.1.25,然后进行编译,至于如何编译,我在 这里就不再赘述,你可以在现在的包中找到编译的说明稳当,比我说的漂亮多了,哈哈) 如上所述,可以用mod-webapp.so插件实现APACHE和TOMCAT的整合,但是也可以用mod-jk.so 来实现它们的有效整合,在这种情况下,不需要添加额外的<service></service>内容,但是要激活 连接器<connector port="8009" className="org.apache.ajp.tomcat4.Ajp13Connector"... /> 同时,要设定<Engine name="Standalone" defaultHost="localhost" debug="0" jvmRoute="work1"></Engine> 其中,work1是在APACHE的conf目录下的workers.properties文件中定义的TOMCAT 实例。 此外,还要在<Engine></Engine>标签插入<Host name="www.guoxinad.com" appBase="webapps" ...></Host> 其中www.guoxinad.com必须要与APACHE的conf/httpd.conf文件中定义的虚拟主机名称要一致. 还有,要在<Host></Host>中间嵌入<Context path="" docBase="guoxin" debug="0"/> 通过mod-jk.so这个插件实现APACHE和TOMCAT整合时对server.xml的调整到这就算结束了,下面是要在APACHE中所 做的工作: 第一步: 建立workers.properties描述文件:(这个文件要放到APACHE-HOME/conf/下面) 这个文件的内容如下: worker.list=worker1 workers.tomcat_home=/usr/java/tomcat workers.java_home=/usr/java/jdk worker.worker1.type=ajp13 worker.worker1.host=localhost worker.worker1.port=8009 worker.worker1.lbfactor=50 worker.worker1.cachesize=10 worker.worker1.cache_timeout=600 worker.worker1.socket_keepalive=1 worker.worker1.socket_timeout=300 第二步: 修改APACHE httpd.conf文件,添加如下内容: LoadModule jk_module modules/mod_jk.so JkWorkersFile /usr/local/apache2/conf/workers.properties JkLogFile /var/log/httpd/mod_jk.log JkLogLevel info JkLogStampFormat "[%a %b %d %H:%M:%S %Y] " JkOptions +ForwardKeySize +ForwardURICompat -ForwardDirectories JkRequestLogFormat "%w %V %T JkMount /*.jsp worker1 //适合一般的JSP JkMount /*.do worker1 //在写STRUTS时需要 同时建立一个虚拟主机: <VirtualHost *> Alias /guoxin /usr/java/tomcat/webapps/guoxin DocumentRoot /usr/java/tomcat/webapps/guoxin #directoryIndex index.html ServerName www.guoxinad.com </VirtualHost> 同以上步骤,就可以通过http://www.guoxinad.com直接访问JSP网站了 |