[安装配置] [原创]我的WEB服务器搭建之经验

[安装配置] [原创]我的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网站了

也许有人觉得我使用的软件包的版本有点老了,其实,正是使用这些老版本才让我现在对我的
WEB服务器的稳定性毫不担忧!我的服务器运行了2年了,没有出现过什么问题!
好文章。对我这样的新手很有用。仔细阅读下。

不过我更喜欢FreeBSD。
不管是REDHAT还是FreeBSD,对于WEB服务器的配制来说,没有本质上的区别,我的这个帖子也只是
想给初学者一个引导,让他们少走弯路
哥们现在就在那个弧度最大的点上!!!!
哈哈,兄弟,别太谦虚了,我也走过不少弯路,但,那不是坏事,尽管很痛苦,其间也可以
让自己学到好多东西,
大家有什么意见尽管给我提出,我也想优化一下自己服务器的配置。
谢谢
路过,顶一下
支持开源!~把工作笔记拿出来分享!真是太谢谢了!