Linux平台WEB服务器搭建

更新时间:2023-07-28 13:02:02 阅读量: 实用文档 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

目 录

摘 要 ......................................................................................................... 2

致 谢 ......................................................................................................... 4

第一章 前 言 ........................................................................................ 5

1.1 背景 ................................................................................................................................... 5

1.2 具体需求 ........................................................................................................................... 5

1.3 约束和假设 ....................................................................................................................... 5

第二章 应用现状 ...................................................................................... 6

第三章 具体实现技术 .............................................................................. 7

3.1 Linux安装 ........................................................................................................................ 7

3.2 Tomcat与MySQL安装 ...................................................................................................... 7

3.3 Apache与PHP安装 .......................................................................................................... 9

3.4 整合Apache和Tomcat .................................................................................................. 10

3.5 vsftpd安装 .................................................................................................................... 11

3.6 配置Apache ................................................................................................................... 12

第四章 综合测试 .................................................................................... 14

4.1 测试JSP连接MYSQL ...................................................................................................... 14

4.2 测试PHP操作MySQL数据库 ......................................................................................... 15

结 语 ......................................................................................................... 16

参考文献................................................................................................... 16

摘 要

20世纪90年代网络科技的火爆,一夜之间创造了YAHOO,SOHU这样的传奇,虽然经历了不堪回首的泡沫破灭,但是21世纪依然是计算机的时代,正如SUN公司所言,计算机就是网络,因此21世纪网络依然是网络的社会。 本文主要讨论的Linux,在计算机科技发展道路上具有里程碑的意义,自由、开放、免费正在成为计算机爱好者追逐的方向。

本文以Linux为操作系统,使用Apache为WEB服务器,搭配强力而实用的MySQL数据库服务器,结合Tomcat,PHP,vsFTPD等软件,搭建一个稳定的,廉价的,而又操作简单的服务器。

关键词

WEB服务器,数据库, JSP .

Abstract

Network science and technology prevailed in the 1990s, created YAHOO, SOHU such a legend overnight, though has gone through the foam that cannot bear to look back on and evaporated, the 21st century is still the era of the computer, just as what SUN Company have said, the computer is a network, so the network is still the society of the network in the 21st century.

Linux that this text discusses mainly, has meaning of the milestone on the scientific and technological development path of the computer, freedom , opening , becoming the direction that computer fans are chasing free.

Operating system of regarding Linux as of this text, use Apache as WEB server, collocate brute force and practical MySQL database server, combine such software as Tomcat , PHP , vsFTPD ,etc., put up a steady one, low-priced, and operate the simple server.

Keywords

WEB Server, Database, JSP.

致 谢

首先感谢李老师,在Linux安装,特别是分区的安排和各软件安装的等方面,李老师给了我很多精确的建议和帮助,其次就是我的同学们,是他们帮助了我更深刻的理解HTML语言,还有就是那些帮助过我的不知姓名的网友,不厌烦的一次又一次的帮我解答“白痴”的MySQL/Tomcat的问题,没有大家的帮助,我是不可能完成这次设计的。

Linux平台WEB服务器搭建

第一章 前 言

1.1 背景

为中小型公司提供网站服务,以品牌的知名度,以及为下一步的电子商务做好准备,要求建设公司网站,进行网络宣传和电子商务应用尝试。

1.2 具体需求

WEB服务器最高日访问量为10000次,要求能够提供稳定的WEB服务,要求支持html,JSP,PHP等语言,要求对公司内部提供FTP服务。要求提供数据库服务为后期电子商务做好准备。

1.3 约束和假设

本系统开发受开发周期限制,系统投入运行的总体费用不多于80万人民币,后期的电子商务应用可在本系统上升级,本系统使用周期最少3年。

第二章 应用现状

从1998年Linux开始在中国市场受到关注,时间已经过去5年,从最初蜂拥而至的桌面版本,到后来悄悄进入企业应用的Linux服务器,Linux逐渐得到人们的认可。特别是在最近两年,IBM、ORACLE、HP、Dell、Sun等业界巨头的倾力支持,为Linux的进一步应用奠定了良好的基础。

Linux,金山词霸的解释——“一种可以免费使用的UNIX操作系统,运行于一般的PC机上”,其实,那是不正确的,因为Linux根本没有取得UNIX商标,而且不仅运行于一般的PC机上,可以说它是一个新兴的操作系统,它继承了UNIX家族的特性,安全性稳定性,但是它没有遗传UNIX的弊病,价格昂贵,需要特定的硬件环境(现在某些UNIX没有特定硬件要求),因此,它凭借着自己的特点和UNIX的特性,占领了大概11%的服务器市场份额。另:由于Linux遵循POSIX(Portable Operating System Interface)标准,因此很多人误以为它是UNIX系统的一种。

Apache源于NCSAhttpd(National Center for Supercomputing Applications : NCSA)服务器,经过多次修改,成为世界上最流行的Web服务器软件之一。Apache取自“a patchy server”的读音,意思是充满补丁的服务器,因为它是自由软件,所以不断有人来为它开发新的功能、新的特性、修改原来的缺陷。Apache的特点是简单、速度快、性能稳定,它的用户包括yahoo,sohu,sina等众多门户网站,“依靠着高达60%的持续市场占有率,Apache从2002年发布起一直保持着市场上的王者地位。”——摘自天极网。

Rasmus Lerdorf为了创建他的在线简历而创造了"个人主页工具"(Personal Home Page Tools)。这是一种非常简单的语言。其后越来越多的人们注意到了这个语言并对其扩展提出了各种建议。在许多人的无私奉献下以及这种语言本身的源代码自由性质,它演变成为一种特点丰富的语言,而且现在还在成长中,就是本文中将用到的——PHP: Hypertext Preprocessor。

“The MySQL database server is the world's most popular open source database. Over six million installations use MySQL to power high-volume Web sites and other critical business systems — including industry-leaders like The Associated Press, Yahoo, NASA, Sabre Holdings and Suzuki.

以上摘自,这里主要提到的是open source,开源软件,字面意思就是开放源代码软件,我们可以轻松的获得它的源代码,可以自由的编译为可运行的软件。

关于Tomcat, “Tomcat is the servlet container that is used in the official Reference Implementation for the Java Servlet and JavaServer Pages technologies. The Java Servlet and JavaServer Pages specifications are developed by Sun under the Java Community Process. ”, “Tomcat is developed in an open and participatory environment and released under the Apache Software License. ”摘自

vsftpd,very security ftpd的简称,从字面上讲就是非常安全的ftp服务器软件,引用其官方网站上的说法就是“Probably the most secure and fastest FTP server for UNIX-like systems.”

第三章 具体实现技术

拟将整个安装分为5部分:Linux安装,Tomcat与MySQL安装,Apache与PHP安装,整合Apache和Tomcat, vsftpd安装。本设计所用软件版本如下:Red Hat Enterprise Linux AS 3.0,Apache-2.0.53, PHP-5.0.4,vsftpd-2.0.3,Tomcat-5.0.28,MySQL-4.1.11-0,JDK-5.0。

3.1 Linux安装

关于Linux不用讲太多,因为是从光盘安装,插入第一章光盘后,都有图形化的安装提示,几乎都是傻瓜式的安装主要说说怎么分区。将整个硬盘10G按照以下方式划分:

/boot 512M

/usr 安装几个大型软件,预留打补丁时需要大量空间,所以分3G /home 因为用户数量很少,分512M

/var 因为是用作Web,ftp服务器,可能有大量的.log文件所以分5G。

/tmp 1G(内存2倍)

安装系统的时候,选择minimize安装,也就是说,只安装Linux的核心编译系统(gcc),不安装X-WINDOWS,不安装系统默认的包,需要的软件以后再逐个安装。

注:linux系统每个设备对应一个文件在/dev/目录下,如/dev/hda表示第一个IDE硬盘,/dev/hda1……/dev/hda4表示对应的1到4号主分区/扩展分区,从5开始表示逻辑分区,hda6表示第一个IDE硬盘上的第二个逻辑分区。

3.2 Tomcat与MySQL安装

首先安装Tomcat+MySQL目的,是支持JSP,HTML语言,注意:在下面的操作中,以shell提示符”#”开头的表示以root用户执行命令,实际操作中提示符不需输入,/*comment*/为注释部分。

下载JDK下载地址: /j2se/1.5.0/download.jsp 下载Tomcat安装包: /jakarta/tomcat-5 下载MySQL安装包: 下载JDBC: /downloads/connector/j/3.1.html ,为方便管理,把所有的软件统一放到一个目录下~/download

(一) 安装JDK:

#cd

#cd downloads

#./jdk-1_5_0-linux-i586-rpm.bin

正常情况下,JDK就安装到了/usr/java/jdk1.5.0,当然这只不过安装了JDK,为了能让他编译JAVA文件,还要编辑/etc/profile,在

文件的最后加入,即加入JAVA的环境变量:

export JAVA_HOME=/usr/java/jdk1.5.0

CLASSPATH=$CLASSPATH:$JAVA_HOME/lib/tools.jar:$JAVA_HO

ME/lib/dt.jar:.

export PATH=$PATH:$JAVA_HOME/bin

重新登陆,以让修改后的环境变量起作用。

测试,用VI编辑一个java测试程序,world.java,输入如下内容:

public class World{

public static void main(String args[]){

System.out.println("Hello,Wrold");

}

}

然后,在终端下执行以下命令:

#javac world.java;java world

如果出现”Hello,World” 字样,那么,说明我们的JAVA编译环境

没有问题了。下一步就要安装Tomcat了。

(二) 安装Tomcat

将jakarta-tomcat-5.0.28.tar.gz解压缩到/usr/local/下

#tar xvfz jakarta-tomcat-5.0.28.tar.gz

#mv jakarta-tomcat-5.0.28 tomcat

编辑文件/etc/profile,在最后加入:

export CATALINA_HOME=/usr/local/tomcat

如果要求系统开机后自动启动tomcat服务程序,那么就要修改(或

者创建)文件/usr/local/tomcat/bin/startup.sh内容为:

export JAVA_HOME=/usr/java/jdk1.5.0

export

CLASSPATH=$CLASSPATH:$JAVA_HOME/lib/tools.jar:$JAVA_HO

ME/lib/dt.jar:.

export PATH=$PATH:$JAVA_HOME/bin

export CATALINA_HOME=/usr/local/tomcat

/usr/local/tomcat/bin/catalina.sh start

并在/etc/rc.d/rc.local中加入:/usr/local/tomcat/bin/startup.sh

#shutdown再启动后

在浏览器中输入http://localhost:8080 ,如果能看到tomcat的欢迎信

息,那么就安装成功了,否则,只有再来一次了。

(三) 安装MySQL

添加mysql用户和组

#groupadd mysql

#useradd -g mysql mysql

#tar xvfz mysql-4.1.11-0.tar 解包

#./configure --prefix=/usr/local/mysql

#make /*编译*/

#make install /*安装*/

#./scripts/mysql_install_db.sh

#chown -R root /usr/local/mysql /*recursion修改权限*/

#chown -R mysql /usr/local/mysql/var /*recursion修改权限*/

#chgrp -R mysql /usr/local/mysql /*recursion修改权限*/

#cp support-files/f /etc/f /*配置文件*/

系统提示overwrite?-->选yes

#/usr/local/mysql/bin/safe_mysqld --user=mysql &

如果最后一步出现[1]1357,1357为进程号,随机值,那么整个mysql

也就没有问题了。

(四) 安装mySQL的JDBC驱动

把mysql-connector-java-3.1.7-ga.tar.gz解压缩到/tmp目录

#cd /tmp

#cp mysql-connector-java-3.1.7-ga-bin.jar /usr/local/tomcat/common/lib

增加mysql用户从本机访问数据库的权限(运行JSP需要):

#cd /usr/local/mysql/bin

#./mysql

mysql>GRANT ALL PRIVILEGES ON *.* TO

mysql@localhost.localdomain domain IDENTIFIED BY 'password';

mysql>quit

到这里,Tomcat,MySQL的安装基本就告一段落。关于Tomcat,

MySQL的优化设置还有很多工作要做,本周只是搭建了一个基本的

环境而已。

3.3 Apache与PHP安装

Apache是一个非常专业、稳定性极好的WEB服务器,但是其本身仅能

解析简单的静态网页和JavaScript网页,但结合Tomcat和PHP就可处理JSP和PHP动态网页。因为上周已经安装好了一部分,所以,下面的安装是在上周已安装JDK+Tomcat+mySQL的基础上进行。

(一) 安装Apache

#cd ~/downloads

#tar xvfz httpd-2.0.53.tar.gz

#cd httpd-2.0.53

#./configure --prefix=/usr/local/apache --enable-so

#make

#make install clean /*安装,并且清楚编译时产生的文件*/

编辑/usr/local/apache/conf/httpd.conf:

在DirectoryIndex后加上index.php index.jsp

加一行 AddType application/x-httpd-php .php .phtml .php3 .inc

AddDefaultCharset后改为GB2312

执行#/usr/local/apache/bin/apachectl start启动Apache,在浏览器输入

http://localhost应该会出现Apache的欢迎页面。

若要开机自动启动Apache,那么就要在文件/etc/rc.d/rc.local中加入:

一行/usr/local/apache/bin/apachectl start

(二) 安装PHP

解压并编译安装

#cd ~/downloads

#tar xvfz php-5.0.4.tar.gz

#cd php-5.0.4

#./configure --with-apxs2=/usr/local/apache/bin/apxs --enable-track-vars

--with-mysql=/usr/local/mysql

#make

#make install

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

测试,执行#/usr/local/apache/bin/apachectl restart重新启动Apache

服务器,在/usr/local/apache/htdocs中用vi 新建文件test.php,内容:

<? phpinfo() ?> 在浏览器输入http://localhost/test.php应该会出现服

务器信息。那么说明Apache应景可以解析PHP文件了。

3.4 整合Apache和Tomcat

整合Apache和Tomcat是整个系统的安装过程中比较繁琐的一步,期间

一定要小心,不要漏掉任何一个步骤,否则就可能出现错误。

(一) 解压并编译安装jk2

#cd ~/downloads

#tar -xzvf jakarta-tomcat-connectors-jk2-src-current.tar.gz

#cd jakarta-tomcat-connectors-jk2-2.0.4-src/jk/native2

#./configure --with-apxs2=/usr/local/apache/bin/apxs --enable-EAPI

#make

#make install

#cd ./jakarta-tomcat-connectors-jk2-2.0.4-src/jk/build/jk2/apache2

#cp *.so /usr/local/apache/modules/

(二) 编辑文件/usr/local/tomcat/conf/jk2.properties,在最后加入:

# list of needed handlers.

handler.list=channelSocket,request

# Override the default port for the channelSocket

channelSocket.port=8009

/*此处的’#’ 需要输入,其意义与shell提示符不同*/

(三) 编辑或创建文件/usr/local/apache/conf/workers2.properties 内容如下:

# only at beginnin. In production uncomment it out

[logger.apache2]

level=DEBUG

[shm]

file=/usr/local/apache/logs/shm.file

size=1048576

# Example socket channel, override port and host.

[channel.socket:localhost:8009]

port=8009

host=127.0.0.1

# define the worker

[ajp13:localhost:8009]

channel=channel.socket:localhost:8009

# Uri mapping

[uri:/*.jsp]

worker=ajp13:localhost:8009 /*此段落中的’#’需要输入,其意义与shell提示符不同*/

(四) 编辑或创建文件/usr/local/apache/conf/httpd.conf

加入:LoadModule jk2_module modules/mod_jk2.so

DocumentRoot "/usr/local/tomcat/webapps/ROOT"

/*Apache默认的DocumentRoot是/usr/local/apache/htdocs,Tomcat默

认的是/usr/local/tomcat/webapps */

(五) 测试,这时在浏览器中输入http://localhost应该会出现Tomcat的欢

迎页面。至此,Linux下完全安装WEB服务的工作告一段落。

3.5 vsftpd安装

(一) 下载软件:ftp:///users/cevans/ vsftpd-2.0.tar.gz

(二) VSFTPD安装的准备工作:

VSFTPD默认设置需要一个"nobody"用户,如果这个用户不存在,那

么添加它。如下:

# useradd nobody

VSFTPD默认设置需要一个空目录:/usr/share/empty,增加这个目录,

如果它还不存在的话。如下:

# mkdir /usr/share/empty/

创建一个"ftp"用户(如果还不存在的话),/var/ftp/就是FTP的根目录,

可换成其它的。

# mkdir /var/ftp/

# useradd -d /var/ftp ftp

#chown root /var/ftp

#chmod go -w /var/ftp

(三) 安装VSFTPD及其配置、执行和帮助文件。

#cd ~/downloads

#tar xzvf vsftpd-2.0.1.tar.gz

#cd vsftpd-2.0.1

#make

#mkdir /usr/local/man/man5

#mkdir /usr/local/man/man8

#make install

#cp vsftpd.conf /etc

(四) 编辑/etc/vsftpd.conf,在文件最后面加入行:listen=YES

若要求开机自动启动vsFTPd,就在/etc/rc.d/rc.local中加入:

/usr/local/sbin/vsftpd &

(五) 测试vsftpd

# /usr/local/sbin/vsftpd &

如果能够启动,

测试一下:

ftp 127.0.0.1

Connected to localhost (127.0.0.1).

220 (vsFTPd 1.1.1)

Name (localhost:chris): ftp

331 Please specify the password.

Password:

230 Login successful. Have fun.

Remote system type is UNIX.

Using binary mode to transfer files.

ftp> ls

227 Entering Passive Mode (127.0.0.1)

150 Here comes the directory listing.

226 Directory send OK.

ftp> quit

OK,证明ftp服务器是安装好了的。

3.6 配置Apache

Apache安装成功后,在conf子目录下会生成一个配置文件:httpd.conf是Apache设置文件中的主文件,httpd程序启动时会先读取httpd.conf。

以下是我配置的部分设置:

# Do NOT add a slash at the end of the directory path.

DocumentRoot "/usr/local/tomcat/webapps/ROOT"

MaxClients 150

服务器的最大连接数,如果连接达到150,那么再有连接到来,系统就会出现等待情况。

KeepAliveTimeout 15

是允许用户保持连接5秒内有效,如果用户在15秒内点击其他页面不需要重新建立联结

ErrorLog:

这个命令是指定当WWW Server运转过程中发生问题时错误信息存放到哪个日志文件。默认是logs/mytestweb.log

# 设置默认页面,中间用空格分开

DirectoryIndex index.html index.jsp index.xtp index.php index.php3

第四章 综合测试

4.1 测试JSP连接MYSQL

在/usr/local/tomcat/webapps(tomcat的DocumentRoot默认目录)下建立子目录test,复制目录(目录就是Windows下的文件夹)usr/local/tomcat/webapps/ROOT/WEB-INF到新建的test目录下。 在test目录下新建index.jsp文件:

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

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

<html><title>Redhat AS 3下测试JSP页面(Tomcat+MySQL)</title><body> <%Class.forName("org.gjt.mm.mysql.Driver").newInstance(); String url =

"jdbc:mysql://localhost:3306/mysql?user=root&password=&useUnicode=true&characterEncoding=GB2312";

Connection conn= DriverManager.getConnection(url);

Statement stmt

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

String sql="select * from user";

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

<table><tr>

<td>您的第一个字段内容为:</td>

<td>您的第二个字段内容为:</td>

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

<td><%=rs.getString(1)%> </td>

<td> <%=rs.getString(2)%> </td>

</tr> <%}%> </table>

<%out.print("Tomcat+JDK+mySQL完整测试,恭喜你,Tomcat操作数据库操作成功!");%>

<%rs.close();

stmt.close();

conn.close();

%>

</body>

</html>

在浏览器上输入:http//localhost:8080/test 如果出现“Tomcat+JDK+mySQL完整测试,恭喜你,Tomcat操作数据库操作成功!”则说明测试成功。

4.2 测试PHP操作MySQL数据库

(一) 首先创建用户信息

CREATE TABLE T_UserInfo (

c_name varchar(255) not null default "anonymous",

c_usermail varchar(255) not null,

c_userurl varchar(255), c_sitename varchar(255),

primary key c_usermail

);

(二) 创建前台HTML文件(test.html):

<form enctype="multipart/form-data" action="test.php" method="post"> <tr>

<td vAlign="top" width="251" height="31"><small>您的姓名:

</small></td>

<td width="462" height="31"><small><input name="name"

size="37"> </small></td>

</tr><br>

<tr>

<td vAlign="top" width="251" height="30"><small>您的电子邮

件:</small></td>

<td width="462" height="30"><small><input name="usermail"

size="37"></small></td>

</tr>

<tr><br>

<td vAlign="top" width="251" height="25"><small>

您的网站地址:</small></td>

<td width="462" height="25"><small><small><input

name="userurl" size="37" ></small></small></td>

</tr> <br>

<tr>

<td vAlign="top" width="251" height="25"><small>您的网站名:

</small></td>

<td width="462" height="25"><small><input name="sitename"

size="37"></small></td>

</tr>

<input type="submit" value="确定" >

</form>

(三) 创建后台PHP文件(test.php):

<?

$dbhost= mysql_connect(localhost:3306,root,);

mysql_select_db(MYWEB);

$query =

"insert into T_UserInfo ( c_name,c_usermail,c_userurl,c_sitename) values ($name,$usermail,$userurl, $sitename, $C1,$C2,$C3,$C4)";

$res = mysql_query($query, $dbhost);

$err = mysql_error();

if($err){

echo "发生错误,请多查阅文档</a>";

echo "$err";

}

else{ echo "成功插入数据库"; }

?>

把test.php和test.html放到/usr/local/apache/htdocs/test目录下(若无test目录则创建它),在浏览器中输入 ,输入各项参数,测试结果,如果显示“成功插入数据库”,恭喜,成功了,如果显示“发生错误,请多查阅文档”,那么只有再次仔细的配置了。

结 语

历经种种挫折,经过次次失败,设计期间询问老师无数次,翻书十几本,查阅google,baidu数千回,总算把WEB服务器搭建成功,通过这次毕业设计的制作,使我对Linux有了更深的了解,对其上的web,ftp服务也有了更加全面的认识,而且又复习一下PHP和HTML语言,当然最大的成果就是——锻炼了我在碰到问题的时候,详细记录问题的现象,分析并找出问题的原因,以及综合解决问题的能力。

参考文献

[1] Evi Nemeth等 《UNIX系统管理手册》2004-1 46-344页 人民邮电出版社

[2] W.Richard Stevens 《UNIX环境高级编程》2000-2 1-37页 机械工业出版社

[3] 赵炯 《Linux内核完全注释》 2004-10 1-270页 机械工业出版社

[4] Rasmus Lerdorf等 《PHP程序设计》2003-1 1-223页 中国电力出版社

[5] Hugh E.Williams 《PHP & MYSQL Web数据库应用开发指南》2003-5 24-340页 中国电力出版社

[6] Patrick Niemeyer 《Java语言入门》2001-11 1-690页 O'Reilly & Associates,Inc.

[7]孙卫琴 李洪成 《Tomcat与Java Web开发技术详解》 1-338页 电子工业出版社

本文来源:https://www.bwwdw.com/article/2qhm.html

微信扫码分享

《Linux平台WEB服务器搭建.doc》
将本文的Word文档下载到电脑,方便收藏和打印
推荐度:
点击下载文档
下载全文
范文搜索
下载文档
Top