`

[zt]Linux下整合Apache+Tomcat+MySQL+PHP

阅读更多

环境与资源下载

操作系统:Linux fedora4                             下载地址:http://fedoraproject.org
JDK: jdk-1_5_0_14-linux-i586.rpm         下载地址:http://java.sun.com/javase/downloads/index.jsp
Tomcat: apache-tomcat-5.5.25.tar.gz     下载地址:http://jakarta.apache.org/tomcat/
Apache:httpd2.2.6.tar.gz                            下载地址:
http://httpd.apache.org/download.cgi
MySQL:MySQL-server-community-5.0.45-0.rhel4.i386.rpm/MySQL-client-community-5.0.45-0.rhel4.i386.rpm    下载地址:http://dev.mysql.com/downloads/mysql/5.0.html#linux-rhel4-x86-32bit-rpms
PHP:php5.2.5.tar.gz                                    下载地址:http://www.php.net

MySQL驱动:mysql-connector-java-5.0.8.tar.gz  下载地址:http://dev.mysql.com/downloads/connector/j/5.0.html
Linux下安装JDK

(1)把jdk-1_5_0_14-linux-i586.rpm移至/usr/local/java下,然后执行如下命令:

#rpm -ivh jdk-1_5_0_14-linux-i586.rpm

选择“yes”,直到安装完毕;

(2)完成后jdk安装在/usr/local/java/下,打开/etc/profile文件,在最后增加如下内容:

JAVA_HOME=/usr/local/java

export JAVA_HOME

CLASSPATH=$JAVA_HOME/lib:$JAVA_HOME/jre/lib

export CLASSPATH

PATH=$PATH:$JAVA_HOME/bin:$JAVA_HOME/jre/bin

export PATH

保存,OK,成功,可以开始linux下的java程序开发了。

Linux下安装Tomcat

1.       将apache-tomcat-5.5.25.tar.gz文件移动至/usr/local/tomcat/

2.       解压apache-tomcat-5.5.25.tar.gz文件

 在命令行中输入:

    gunzip  apache-tomcat-5.5.25.tar.gz

    tar xvf    apache-tomcat-5.5.25.tar.gz

3.       进入apache-tomcat-5.5.25/bin文件夹运行./catalina.sh run启动tomcat

4.       在浏览器中输入http://localhost:8080即可看到tomcat的欢迎画面了!

Linux下安装Apache

1.   把tar zxvf httpd-2.2.6.tar.gz移至/opt文件夹下

2.   #  tar zxvf httpd-2.2.6.tar.gz

3.   配置命令:

      #./configure –prefix=/usr/local/apache2.2.6  --with-apr=/usr/local/apr/bin/apr-1-config –with-apr-util=/usr/local/apr/bin/apu-1-config –enable-so --enable-track-vars --enable-cgi --enable-mods-shared=most

   【–enable-so与--enable-mods-shared=most 选项的作用是编译出大部分可用的so文件 ,so文件为linux上的动态共享库】

4.   #make && make install

   【启动 并测试 /usr/local/apache2.2.6/bin/apachectl –k start  , 将服务纳入自启动

5.   # cp apached  /etc/init.d/apachd

        #chkconfig --add apached

6.    http://localhost/ 看到"It works"证明安装成功了

 

安装tomcat connector整合Apache2和Tomcat

Tomcat 本身已经提供了 HTTP 服务,该服务默认的端口是 8080,装好 tomcat 后通过 8080 端口可以直接使用 Tomcat 所运行的应用程序,你也可以将该端口改为 80。

既然 Tomcat 本身已经可以提供这样的服务,我们为什么还要引入 Apache 或者其他的一些专门的 HTTP 服务器呢?原因有下面几个:

1. 提升对静态文件的处理性能

2. 利用 Web 服务器来做负载均衡以及容错

3. 无缝的升级应用程序

这三点对一个 web 网站来说是非常之重要的,我们希望我们的网站不仅是速度快,而且要稳定,不能因为某个 Tomcat 宕机或者是升级程序导致用户访问不了,而能完成这几个功能的、最好的 HTTP 服务器也就只有 apache 的 http server 了,它跟 tomcat 的结合是最紧密和可靠的.

      JK

这是最常见的方式,你可以在网上找到很多关于配置JK的网页,当然最全的还是其官方所提供的文档。JK 本身有两个版本分别是 1 和 2,目前 1 最新的版本是 1.2.26,而版本 2 早已经废弃了,以后不再有新版本的推出了,所以建议你采用版本 1

编译安装:

# tar zxvf  tomcat-connectors-1.2.26-src.tar.gz
# cd tomcat-connectors-1.2.26-src.tar.gz/jk/native
# ./configure --with-apxs=/usr/local/apache2/bin/apxs
# make
# cp ./apache-2.0/mod_jk.so /usr/local/apache2/modules/

说明:JK的源文件在目录 tomcat-connectors-1.2.26-src.tar.gz/jk/native 下 ; 

./configure-apxs 选项的作用是 用/usr/apache2/bin/的apxs【apache extension】工具 生成mod_jk.so的共享库,必须配置;

cp ./apache-2.0/mod_jk.so /usr/local/apache2/modules/  将生成的so文件 考到 Apache2 的modules下面, jk 将作为apache的mod 的一部分
 


      配置apache2

在/usr/local/apache2/conf/下面建立两个配置文件mod_jk.conf和workers.properties

# vi mod_jk.conf

添加以下内容:

# 指出mod_jk模块工作所需要的工作文件workers.properties的位置
JkWorkersFile /usr/local/apache2/conf/workers.properties

# Where to put jk logs
JkLogFile /usr/local/apache2/logs/mod_jk.log

# Set the jk log level [debug/error/info]
JkLogLevel info

# Select the log format
JkLogStampFormat "[%a %b %d %H:%M:%S %Y]"

# JkOptions indicate to send SSL KEY SIZE,
JkOptions  +ForwardKeySize +ForwardURICompat -ForwardDirectories

# JkRequestLogFormat set the request format
JkRequestLogFormat "%w %V %T"

# 将所有servlet 和jsp请求通过ajp13的协议送给Tomcat,让Tomcat来处理
JkMount /servlet/*  worker1
JkMount /*.jsp worker1
 

# vi workers.properties
添加以下内容:

# Defining a worker named worker1 and of type ajp13
worker.list=worker1

# Set properties for worker1
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
 

 

配置httpd.conf,作以下修改:
在DirectoryIndex中添加 index.jsp
我的网页放在/var/wwwroot下,所以要修改DocumentRoot

DocumentRoot "/var/wwwroot"
<Directory "/var/wwwroot">
    Options Includes FollowSymLinks
    AllowOverride None
    Order deny,allow
    Allow from all
    XBitHack on
</Directory>
<Directory "/var/wwwroot/WEB-INF">    
    Order deny,allow
    Deny from all
</Directory>
 


增加关于加载mod_jk的语句:

LoadModule jk_module modules/mod_jk.so
Include /usr/local/apache2/conf/mod_jk.conf
 


最后编辑Tomcat的配置文件server.xml,在HOST段中加入:

<Context path="" docBase="/var/wwwroot" debug="0" reloadable="true" crossContext="true"/>
 


在/var/wwwroot下建立一个index.jsp,启动Apache和Tomcat,用浏览器访问http://localhost/,应该可以看到正确的页面了。

 Linux下安装MySQL

首先,默认Linux操作系统都会安装MySQL,rpm -qa | grep "*mysql*"可以检查mysql是否已经安装,如果安装过mysql,需要先卸载,用rpm -e MySQL-server可卸载MySQL-server,同样还要卸载MySQL-client,如果出现依赖包错误,可以使用--nodeps参数来卸载。

卸载结束后安装mysql-server和mysql-client的rpm包

开始安装:

  1)安装服务器端

  在有两个rmp文件的目录下运行如下命令:

  [root@test1 local]# rpm -ivh MySQL-server-community-5.0.45-0.rhel4.i386.rpm

  显示如下信息。

  Preparing...       ########################################### [100%]

  1:MySQL-server     ########################################### [100%]

  。。。。。。(省略显示)

  /usr/bin/mysqladmin -u root password 'new-password'

  /usr/bin/mysqladmin -u root -h test1 password 'new-password'

  。。。。。。(省略显示)

  Starting mysqld daemon with databases from /var/lib/mysql

  如出现如上信息,服务端安装完毕。测试是否成功可运行netstat看Mysql端口是否打开,如打开表示服务已经启动,安装成功。Mysql默认的端口是3306。

  [root@test1 local]# netstat -nat

  Active Internet connections (servers and established)

  Proto Recv-Q Send-Q Local Address      Foreign Address     State

  tcp  0  0 0.0.0.0:3306     0.0.0.0:*      LISTEN

  上面显示可以看出MySQL服务已经启动。

  2)安装客户端

  运行如下命令:

  [root@test1 local]# rpm -ivh MySQL-client-community-5.0.45-0.rhel4.i386.rpm

  Preparing...    ########################################### [100%]

  1:MySQL-client  ########################################### [100%]

  显示安装完毕。

  用下面的命令连接mysql,测试是否成功。

  登录MySQL

  登录MySQL的命令是mysql, mysql 的使用语法如下:

  mysql [-u username] [-h host] [-p[password]] [dbname]

  username 与 password 分别是 MySQL 的用户名与密码,mysql的初始管理帐号是root,没有密码,注意:这个root用户不是Linux的系统用户。MySQL默认用户是root,由于初始没有密码,第一次进时只需键入mysql即可。

  [root@test1 local]# mysql

  Welcome to the MySQL monitor. Commands end with ; or g.

  Your MySQL connection id is 1 to server version: 4.0.16-standard

  Type 'help;' or 'h' for help. Type 'c' to clear the buffer.

  mysql>

  出现了“mysql>”提示符,恭喜你,安装成功!

    如果网上找不到rpm包,可以找来最新的redhat程序光盘,里面找一下,一般都有最新的mysql版本的rpm包,当然用户也可以下载tar.gz进行编译安装,要注意的是编译tar.gz时,默认不会安装GBK字符集,所以在编译过程中一定要注意
       # groupadd mysql
       # useradd -g mysql -d /usr/local/mysql/data -M mysql
       # tar -zxvf mysql-5.0.27.tar.gz
       # cd mysql-5.0.27
      ./configure --prefix=/usr/local/mysql \ 指定安装目录
       > --sysconfdir=/etc \ 配置文件的路径
       > --localstatedir=/usr/local/mysql/data \ 数据库存放的路径
       > --enable-assembler \ 使用一些字符函数的汇编版本
       > --with-mysqld-ldflags=-all-static \ 以纯静态方式编译服务端
       > --with-charset=GBK \ 添加GBK字符支持
       > --with-extra-charsets=GBK \添加GBK字符集
       > --with-extra-charsets=all \添加所有字符支持

       # make
       # make install
       # /usr/local/mysql/bin/mysql_install_db
       # chown -R mysql:mysql /usr/local/mysql/data
       # cp /usr/local/mysql/share/mysql/mysql.server /etc/rc.d/init.d/mysql
       # chkconfig --add mysql
       # cp /usr/local/mysql/share/mysql/my-medium.cnf /etc/my.cnf

       上面是详细的安装过程,如果需要,可以再到网上搜索一下相关的安装教程。

       mysql5安装好后,需要进入mysql控制台,使用命令:SHOW CHARACTER SET;查看当前安装的所有字符集,仔细看一下有没有GBK,如果没有,那么只有重新安装,编译tar.gz时一定要加上上面的编译参数,直到这个命令显示出,安装了GBK字符集。再用命令:SHOW VARIABLES LIKE 'character_set_%';
   如果character_set_database和character_set_server不是gbk,那么需要修改my.cnf,有些rpm安装后没有my.cnf,就vi /etc/my.cnf新建一个,修改下面的选项:
[mysqld]
   default-character-set=gbk
 保存重启,再用命令检查字符集是否正确。

 下面再讲一个错误的修复。
 我们发现,在RedHat Linux平台上,设置localhost上可以访问mysql的用户在JDBC中
 不能正确连接数据库,表现为Access denied...
 这是RedHat Linux的一个问题,可以参考下面的解决步骤:
  1.su为root,vi /etc/hosts
    2.删掉localhost后面多余的东西
  3./etc/hosts看上去应该像下面这样

   127.0.0.1 localhost

   保存修改,重新启动数据库。
 MySQL的配置文件一般是/etc/my.cnf,可以适当修改。

Linux 下安装mysql驱动

 

安装步骤:

 

1.  进入资源包缩在目录,解压。

2.  # tar –zxvf  mysql-connector-java-5.0.8.tar.gz

3.  # cp ./ mysql-connector-java-5.0.8/mysql-connector-java-5.0.8-bin.jar /usr/local/tomcat/apache-tomcat-5.5.25/common/lib/

注:最好也复制一份到自己的jsp文件目录中WEB-INF/lib

4.  修改/etc/profile文件

CLASSPATH中追加:/usr/local/tomcat/apache-tomcat-5.5.25/common/lib/mysql-connector-java-5.0.8-bin.jar:.(把驱动文件的路径追加到CLASSPATH)

5.  写测试文件(注意修改自己的用户名和密码)

<%@ page contentType="text/html;charset=gb2312"%>

 <%@ page import="java.sql.*"%>

 <html>

 <body>

 <%Class.forName("org.gjt.mm.mysql.Driver").newInstance();

 String url ="jdbc:mysql://localhost/mysql?user=root&password=root&useUnicode=true&characterEncoding=UTF-8";

 Connection conn= DriverManager.getConnection(url);

 Statement stmt=conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);

 String sql="show tables";

 ResultSet rs=stmt.executeQuery(sql);%>

 <%while(rs.next()) {%>

 <%=rs.getString(1)%>

 <br>

 <%}%>

 <%rs.close();

 stmt.close();

 conn.close();

 %>

 </body>

 </html>

      6.  重启Tomcat完成安装,在ie中浏览一下结果

Linux下安装PHP5
    下载php的for Linux 的源码包存至/opt/php目录

  命令列表:

  cd /opt/php

  tar -zxvf php-5.0.45.tar.gz

  mv php-5.0.45 php

  cd php

  ./configure --prefix=/usr/local/php5 --with-apxs2=/usr/local/apache2/bin/apxs --with-config-file-path=/usr/local/lib --enable-track-vars --with-xml --with-mysql

  make

  make install

  其中apache和mysql是根据你安装的目录名变,我的是 =/usr/local/apache2/bin/apxs 和MySQL

  cp php.ini-dist /usr/local/lib/php.ini

  以dso方式安装php至/usr/local/php 设置配置文件目录为/usr/local/lib 开启mysql,xml支持

  3.配置

  vi /usr/local/apache/conf/httpd.conf

  对apache做如下配置

  #将ServerAdmin mailto:linux@linuxidc.com一行改为您的邮箱地址

  #DocumentRoot "/home/httpd/html/" 此处为html文件主目录

  # 同上

  #Options FollowSymLinks MultiViews 为安全起见,去掉"Indexes"

  #

  # DirectoryIndex default.php default.phtml default.php3 default.html default.htm

  #

  #设置apache的默认文件名次序

  #AddType application/x-httpd-php .php .phtml .php3 .inc

  #AddType application/x-httpd-php-source .phps

  #设置php文件后缀

  存盘退出

  vi /usr/local/lib/php.ini

  #register-golbals = On

    include_path = ".:/php/includes" //开启

    extension=msql.so//开启

  存盘退出

  4.启动服务

  /usr/local/apache/bin/apachectl start

  5.测试

  然后写个php测试页info.php:内容如下

  〈?php

  phpinfo();

  ?>

  正常的话,应该能看到php的信息了,恭喜你的Apche+Mysql+PHP安装成功。

  6、apache自动启动- -

  下面用自启动apache为例;

  自启动脚本:

  /usr/local/apache/bin/apachectl start

  文件位于/etc/rc.d/init.d下,名为apached,注意要可执行.

  #chmod +x /etc/rc.d/init.d/apached //设置文件的属性为可执行

  #ln -s /etc/rc.d/init.d/apached /etc/rc3.d/S90apache //建立软连接,快捷方式

  #ln -s /etc/rc.d/init.d/apached /etc/rc0.d/K20apache

至此,你的系统就可以同时跑jsp和php了!配置的过程中也许会出现如下问题,后面慢慢总结!!!:)祝大家一起好运吧

分享到:
评论

相关推荐

    Apache自动启动及添加为Linux的服务 ZT

    这篇博客文章"Apache自动启动及添加为Linux的服务 ZT"似乎提供了一个比标准方法稍微改进的shell脚本来实现这个目标。下面将详细解释这个过程。 首先,确保Apache已经安装在你的Linux系统上。你可以通过运行以下命令...

    Linux 下编程的三个重要工具(ZT).rar_linux rar_linux 编程

    本资源"Linux下编程的三个重要工具(ZT)"似乎提供了一些关键工具的介绍,虽然具体细节未在描述中详述,但我们可以根据常见的编程工具来探讨这三个可能的重要工具。以下是Linux编程中经常使用的三大工具的详细讲解:...

    (zt)Commons-logging + Log4j 入门指南

    Apache Commons Logging和Log4j是两个广泛使用的日志框架,本指南将深入讲解如何将它们结合使用,为你的Java应用程序提供强大的日志功能。 首先,让我们了解Apache Commons Logging。它是Apache软件基金会的一个...

    tomcat定时重启方案

    - 对于Linux环境,修改`TOMCAT_HOME/bin/catalina.sh`,在指定行下添加内存配置参数,如`JAVA_OPTS="-server -Xms256m -Xmx512m -XX:PermSize=64M -XX:MaxPermSize=128m"`。 - 对于Windows环境下的Tomcat 5,需要...

    项目线上的配置

    本文将详细阐述如何配置一个包含JDK、Maven、MySQL、FTP以及Apache Tomcat和Nginx的线上环境。 首先,创建一个新的Linux用户是线上环境管理的基础。在本例中,我们创建了一个名为"zt"的用户,并为其分配了家目录`/...

    zt411-zt421-ug-zhcn_ZT411/ZT421_斑马打印机手册_

    斑马打印机ZT411和ZT421是工业级条码和标签打印机,广泛应用于制造业、物流、零售业等对打印质量和效率有高要求的领域。这两款打印机以其出色的性能、耐用性和易用性赢得了用户的信赖。这份中文手册详细地介绍了ZT...

    ZT213/ZT213LEEA规格书V2.10-低功耗RS232多通道USB收发器/驱动器芯片手册

    《ZT213/ZT213LEEA:低功耗RS232多通道USB收发器/驱动器芯片详解》 ZT213/ZT213LEEA是一款专为低功耗应用设计的RS232多通道USB收发器和驱动器芯片,广泛应用于数据通信、工业控制、物联网设备等领域。本文将深入...

    Linux登录器全套_pilotmds_ztLinux登录器全套_

    本资源“ZT Linux登录器全套”是针对Linux系统的登录解决方案,包含了多项功能,如商城、充值和等级系统,这通常意味着它是一个集成化的管理平台,不仅用于日常登录,还支持一些增值服务和用户管理。 “ZT Linux...

    Zebra ZT230 条码打印机驱动

    斑马(Zebra)ZT230条码打印机是一款广泛应用在工业环境中的高效设备,其驱动程序是确保打印机正常工作的重要组成部分。本驱动程序专为Zebra的ZT210、ZT220及ZT230系列打印机设计,提供了全面的功能支持,以实现高...

    检查mysql是否成功启动的方法(bat+bash)

    我们将探讨两种在Windows系统中使用批处理(bat)脚本以及Linux系统中使用Bash脚本来检查和启动MySQL服务的方法。 **Windows系统下的方法** 1. **使用Tasklist命令检查进程** 在Windows环境下,你可以通过批处理...

    基于SpringBoot+Vue的大创管理系统springbootj2zt8.zip

    包括STM32、ESP8266、PHP、QT、Linux、iOS、C++、Java、python、web、C#、EDA、proteus、RTOS等项目的源码。 【技术】 Java、Python、Node.js、Spring Boot、Django、Express、MySQL、PostgreSQL、MongoDB、React、...

    ZT410打印机IP地址设置网络打印机

    ZT410打印机IP地址设置网络打印机ZT410打印机IP地址设置网络打印机ZT410打印机IP地址设置网络打印机ZT410打印机IP地址设置网络打印机ZT410打印机IP地址设置网络打印机

    ZT7548 Datasheet Rev.1.0.3.pdf

    ZT7548是一款第五代电容式触控屏幕控制器,支持30x18或18x30的通道配置,可以同时检测最多10个触点。该控制器能够与最多8个键与TSP(触控屏面板)或FPC(柔性印刷电路板)模式一起工作,在多点触控时无扫描率下降的...

    斑马打印机ZT210用户指南

    "斑马打印机ZT210用户指南" 本用户指南旨在为Zebra ZT210/ZT220/ZT230打印机的用户提供操作和维护指南,该设备是一种工业级的条码打印机,具有高速打印、高速处理和高质量打印输出等特点。 版权信息 本手册的版权...

    RS485通信芯片zt13085e的原理图库和PCB库

    ZT13085E的设计目标是提供一种高效、可靠的数据传输方式,尤其是在长距离和噪声环境下的通信。 首先,我们来了解一下RS485标准。RS485是EIA(Electronic Industries Association)制定的一种电气接口标准,它允许在...

    斑马zt410中文库

    斑马(Zebra)ZT410是一款先进的桌面级条码打印机,被广泛应用于物流、零售、医疗、制造业等多个行业。这款打印机以其高效、耐用和易于操作的特点深受用户喜爱。"斑马zt410中文库"指的是为ZT410打印机特别设计的中文...

Global site tag (gtag.js) - Google Analytics