当前位置: 首页 > 图文教程 > 服务器 > Linux服务器 > 在Linux上架设支持JSP+PHP的Web服务器

Linux服务器
linux下用cron定时执行任务的方法
.htaccess绑定域名到子目录的方法
linux apache下虚拟主机配置方法
apache 局域网访问配置方案
linux Apache服务器系统安全设置与优化
linux中mac地址绑定方法
linux托盘不断闪烁之解决方法
Apache配置 虚拟转向实例
Apache No space left on device的解决办法
Apache rewrite的重写相关的参数说明
LINUX入门级常用命令20条整理
Ubuntu设置开机自动挂载所有格式硬盘分区
5个可能被你忽略的Linux安全设置方法
学习Apache的mod rewrite、access写法
改版时保留原链接,创建新的URL的方法
rsync中文手册之使用rsync实现网站镜像和备份linux
rsync 数据同步使用详解
linux URL的301重定向代码分析
eclipse3.2.2 + MyEclipse5.5 + Tomcat5.5.27 配置数据库连接池
Apache服务器二级域名的完美实现

Linux服务器 中的 在Linux上架设支持JSP+PHP的Web服务器


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-10-18   浏览: 39 ::
收藏到网摘: n/a

近年来Linux在服务器市场占有比例日渐攀升,除了缘于Linux的免费和安全性之外,还因为Linux上的应用服务日益丰富。大部分常见的服务都在Linux上有了较好的解决方案。而对于Intenet上应用最广泛的Web服务来说,Linux的表现就更为出色。谁也无法说 清Internet上究竟有多少个网站,但在众多网站中,采用PHP和JSP开发的网站无疑占居了极大的市场份额。下面就介绍一下如何在Linux上架设支持JSP+PHP+MySQL的Web服务器。

对于Web服务,apache无疑是首选。数据库方面选用MySQL,这对于一般应用也够了,当然Linux下也可以安装oracle、DB2等大型数据库,可是它们费用昂贵。至于对于开发语言的支持,JSP和PHP无疑是当前最主流和应用最广泛的web开发语言了。所有这些软件我们可以从网络上找到:

从以上网站下载对应的软件,笔者下载的软件如下:

以下为引用的内容:

  mysql-4.0.15.tar.gz
  apache_1.3.28.tar.gz
  php-4.3.3.tar.gz
  resin-3.0.3.tar.gz
  mysql-connector-java-3.1.0-alpha.tar.gz
  j2sdk-1_4_2_01-linux-i586.bin

一、安装MySQL

MySQL的安装比较简单,但是编译过程可能有点长,具体步骤如下:

以下为引用的内容:
  # tar -xzpvf mysql-4.0.15.tar.gz
  # adduser  -s /bin/false mysql
  # ./configure  --prefix=/usr/local/terry_yu/mysql --enable-assembler
--with-innodb --with-charset=gb2312
  # make
  # make install
  # /usr/local/terry_yu/mysql/bin/mysql_install_db
  # chown -R root /usr/local/terry_yu/mysql/
  # chown -R mysql /usr/local/terry_yu/mysql/var
  # chgrp -R mysql /usr/local/terry_yu/mysql/
  # /usr/local/terry_yu/mysql/bin/mysql_install_db

修改/etc/ld.so.conf,在最后加入以下一行:

/usr/local/terry_yu/mysql/lib/mysql/lib
 
然后执行以下命令:

# ldconfig

用以下命令启动MySQL

/usr/local/terry_yu/mysql/bin/mysqld_safe &

用以下命令修改MySQL的root密码:

/usr/local/terry_yu/mysql/bin/mysqladmin -uroot password abcdefg

用以下命令可以进入MySQL的命令行方式:

以下为引用的内容:

  [root@terry root]# /usr/local/terry_yu/mysql/bin/mysql -uroot -p
  Enter password:
  Welcome to the MySQL monitor.  Commands end with ; or \g.
  Your MySQL connection id is 1 to server version: 4.0.15

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

  mysql> quit
  Bye

出现以上信息表示MySQL已经成功运行了。

二、安装JDK

以下为引用的内容:

  # chmod 755 j2sdk-1_4_2_01-linux-i586.bin
  # ./j2sdk-1_4_2_01-linux-i586.bin
  # mv j2sdk1.4.2_01/ /usr/local/terry_yu/
  # cd /usr/local/terry_yu/
  # ln -s j2sdk1.4.2_01/ jdk
  # ln -s jdk/jre/ jre

  # vi /etc/profile
  JAVA_HOME=/usr/local/terry_yu/jdk
  RESIN_HOME=/usr/local/terry_yu/resin
  CLASSPATH=.:../$JAVA_HOME/lib:$JAVA_HOME/jre/lib:$RESIN_HOME/lib:/usr/  local/terry_yu/jdbc
  PATH=$PATH:$JAVA_HOME/bin:$JAVA_HOME/jre/bin

退出当前登录的环境,重新登录,这样刚刚设定的环境变量就会生效,然后用如下命令测试:

以下为引用的内容:
  [root@terry root]# java -version
  java version "1.4.2_01"
  Java(TM) 2 Runtime Environment, Standard Edition (build 1.4.2_01-b06)
  Java HotSpot(TM) Client VM (build 1.4.2_01-b06, mixed mode)

看到类似信息就表示JDK环境已经好了。其实在上面的/etc/profile中,我们不仅仅设置了JDK的环境变量,还一并设置了Resin和JDBC的环境变量,这些都是后面安装Resin所必需的设定。

三、安装MySQL的JDBC

MySQL的JDBC的相关环境变量已经在前面设置好了,所以余下的只是按以下命令安装:

以下为引用的内容:
  # tar  -xzpvf mysql-connector-java-3.1.0-alpha.tar.gz
  # mv mysql-connector-java-3.1.0-alpha /usr/local/terry_yu/
  # cd /usr/local/terry_yu/
  # ln -s mysql-connector-java-3.1.0-alpha/ jdbc

四、安装Apache

http://apache.linuxforum.net/dist/httpd/apache_1.3.28.tar.gz

需要注意的是,编译apache时候必须加入了DSO支持,如果没有,请加入 --enable-module=so 选项重新编译apache

以下为引用的内容:
  # tar -xzpvf apache_1.3.28.tar.gz
  # cd apache_1.3.28/
  # ./configure --prefix=/usr/local/terry_yu/apache --enable-module=most
--enable-shared=max
  # make
  # make install

察看编译进apache的模块:

以下为引用的内容:
  #/usr/local/terry_yu/apache/bin/httpd -l
  Compiled-in modules:
  http_core.c
  mod_so.c

看到以上的信息表明apache支持DSO方式了。这样就可以用DSO的方式把php和resin的模块加进来。

五、安装PHP

安装PHP比较简单,我们先装PHP。

以下为引用的内容:
  # tar -xzpvf php-4.3.3.tar.gz
  # cd php-4.3.3/
  # ./configure --with-mysql=/usr/local/terry_yu/mysql
  --with-apxs=/usr/local/terry_yu/apache/bin/apxs
  # make
  # make install
  # cp php.ini-dist /usr/local/lib/php.ini

编辑PHP的配置文件是/usr/local/lib/php.ini,将其中的register_globals变量修改成On,默认是Off的。需要将它改成On。否则会出现php不能直接读不到post或get的数据的现象。

编辑Apache的配置文件/usr/local/terry_yu/apache/conf/httpd.conf,在文件结尾加上以下一行:

AddType application/x-httpd-php .php .php3

启动apache:

# /usr/local/terry_yu/apache/bin/apachectl start

然后可以用一个简单的php文件来测试PHP的安装,这个简单的PHP文件包含下列一行:

<? phpinfo();?>

将其保存为/usr/local/terry_yu/apache/htdocs/info.php,然后在浏览器中浏览,如果观看到以显示有“PHP Version4.3.3”标题的页面就表示整合PHP与Apache成功了。而且在这个页面中可以看到与PHP相关的选项,其中应该有关于MySQL的子项,这表明PHP已经内置了对MySQL的支持了。这样就表示PHP+MySQL+Apache的环境已经成功了,接下来是安装Resin来支持JSP环境。

六.安装Resin

http://www.caucho.com/download/resin-3.0.3.tar.gz

下载的resin的安装包解开后应该可以直接单独运行的。笔者将其解开后放到/usr/local/terry_yu目录下

以下为引用的内容:
  # tar -xzpvf resin-3.0.3.tar.gz
  # mv resin-3.0.3 /usr/local/terry_yu/
  # cd /usr/local/terry_yu/
  # ln -s resin-3.0.3/ resin

启动resin

# /usr/local/terry_yu/resin/bin/httpd.sh start

如果之前安装JDK时设置好了相关的环境变量,就能够从http://localhost:8080/上能看到resin的页面,这也就表示单独的resin运行成功了。然后,为了整合resin和apache,我们需要重新编译一下,以生成mod_caucho给Apache调用。

以下为引用的内容:
  # cd /usr/local/terry_yu/resin
  # ./configure --with-apache=/usr/local/terry_yu/apache
  # make
  # make install

修改/usr/local/terry_yu/resin/conf/resin.conf,大约在第159行(安装的resin版本不同,配置文件的内容可能有所不同),将<document-directory>修改成自己的apache的DocumentRoot的值。

以下为引用的内容:

  <resin xmlns=http://caucho.com/ns/resin>
   <server>
    <host id="">
    
  <document-directory>/usr/local/terry_yu/apache/htdocs</document-directory> ##这里修改成/usr/local/terry_yu/apache/htdocs

     ...
    </host>
   </server>
  </resin>

修改/usr/local/terry_yu/apache/conf/httpd.conf,在编译resin时,安装程序已经修改过httpd.conf,不过还不完全正确,应该改成类似以下的配置,如果你完全按本文进行的安装可以直接复制这些内容:

以下为引用的内容:

  LoadModule caucho_module libexec/mod_caucho.so
  AddModule mod_caucho.c

  <IfModule mod_caucho.c>
   ResinConfigServer localhost 6802
  <Location /caucho-status>
   SetHandler caucho-status
  </Location>
 </IfModule>

修改完后,重新启动resin后生效:

以下为引用的内容:
  /usr/local/terry_yu/resin/bin/httpd.sh restart
  /usr/local/terry_yu/apache/bin/apachectl restart

通过浏览器去访问http://localhost/caucho-status/,如果出现以下页面刚表示resin和apache已经成功整合了。

然后再测试一下JSP对数据库的访问,在/usr/local/apache/htdocs/下面用jsp写一个简单的jsp文件来连接本机的MySQL数据库:

vi /usr/local/terry_yu/apache/htdocs/testdb.jsp

输入以下内容,可以直接粘贴:

以下为引用的内容:

  <html>
  <head>
  <title>Test JDBC For MySQL</title>
  </head>
  <body>
  <%@ page contentType="text/html;charset=gb2312" %>
  <%
   Class.forName("com.mysql.jdbc.Driver").newInstance();
   java.sql.Connection conn;
   conn =
  java.sql.DriverManager.getConnection("jdbc:mysql://localhost/mysql?user=root&password=abcdefg");
  %>
  </body>
  </html>

通过浏览器去访问http://localhost/testdb,如果看到了一个没有任何错误信息的空白页面,就表示jsp连接本机的MySQL数据库成功了,至此我们就完成了一个支持JSP+PHP+MySQL的Web服务器。

注:以上所有安装都是在Red Hat Linux9.0上完成的,所使用软件也均为目前(2003年9月)最新的版本。

本文介绍了如何在Linux上架设同时支持JSP和PHP的Web Server,演示了MySQL、JDK、JDBC、Apache、PHP、Resin的安装和简单测试过程。