《Linux平台WEB服务器搭建.pdf》由会员分享,可在线阅读,更多相关《Linux平台WEB服务器搭建.pdf(16页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、目录摘要.2致谢.4第一章前言.51.1 背景.51.2 具体需求.51.3 约束和假设.5第二章应用现状 .6第三章具体实现技术 .73.1 Linux安装.73.2 Tomcat与 MySQL 安装.73.3 Apache与 PHP安装.93.4 整合 Apache 和 Tomcat.10 3.5 vsftpd安装.11 3.6配置 Apache.12 第四章综合测试 .144.1 测试 JSP 连接 MYSQL.14 4.2 测试 PHP操作 MySQL 数据库.15 结 语.16参考文献.16摘要20 世纪 90 年代网络科技的火爆,一夜之间创造了YAHOO,SOHU 这样的传奇,虽然
2、经历了不堪回首的泡沫破灭,但是21 世纪依然是计算机的时代,正如 SUN 公司所言,计算机就是网络,因此21世纪网络依然是网络的社会。本文主要讨论的 Linux,在计算机科技发展道路上具有里程碑的意义,自由、开放、免费正在成为计算机爱好者追逐的方向。本文以 Linux 为操作系统,使用Apache 为 WEB 服务器,搭配强力而实用的 MySQL 数据库服务器,结合Tomcat,PHP,vsFTPD 等软件,搭建一个稳定的,廉价的,而又操作简单的服务器。关键词WEB 服务器,数据库,JSP.Abstract Network science and technology prevailed in
3、 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
4、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 se
5、rver,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 语言,还有就是那些帮
6、助过我的不知姓名的网友,不厌烦的一次又一次的帮我解答“白痴”的MySQL/Tomcat 的问题,没有大家的帮助,我是不可能完成这次设计的。Linux 平台 WEB 服务器搭建第一章前言1.1 背景为中小型公司提供网站服务,以品牌的知名度,以及为下一步的电子商务做好准备,要求建设公司网站,进行网络宣传和电子商务应用尝试。1.2 具体需求WEB 服务器最高日访问量为10000 次,要求能够提供稳定的WEB 服务,要求支持 html,JSP,PHP等语言,要求对公司内部提供FTP 服务。要求提供数据库服务为后期电子商务做好准备。1.3 约束和假设本系统开发受开发周期限制,系统投入运行的总体费用不多于
7、80 万人民币,后期的电子商务应用可在本系统上升级,本系统使用周期最少3 年。第二章应用现状从 1998 年 Linux 开始在中国市场受到关注,时间已经过去5 年,从最初蜂拥而至的桌面版本,到后来悄悄进入企业应用的Linux 服务器,Linux 逐渐得到人们的认可。特别是在最近两年,IBM、ORACLE、HP、Dell、Sun等业界巨头的倾力支持,为Linux 的进一步应用奠定了良好的基础。Linux,金山词霸的解释“一种可以免费使用的UNIX 操作系统,运行于一般的 PC机上”,其实,那是不正确的,因为 Linux 根本没有取得 UNIX 商标,而且不仅运行于一般的PC 机上,可以说它是一
8、个新兴的操作系统,它继承了UNIX 家族的特性,安全性稳定性,但是它没有遗传UNIX 的弊病,价格昂贵,需要特定的硬件环境(现在某些UNIX 没有特定硬件要求),因此,它凭借着自己的特点和 UNIX 的特性,占领了大概11的服务器市场份额。另:由于Linux遵循 POSIX(Portable Operating System Interface)标准,因此很多人误以为它是UNIX 系统的一种。Apache 源于 NCSAhttpd(National Center for Supercomputing Applications:NCSA)服务器,经过多次修改,成为世界上最流行的Web服务器软件之
9、一。Apache取自“a patchy server”的读音,意思是充满补丁的服务器,因为它是自由软件,所以不断有人来为它开发新的功能、新的特性、修改原来的缺陷。Apache 的特点是简单、速度快、性能稳定,它的用户包括yahoo,sohu,sina等众多门户网站,“依靠着高达 60%的持续市场占有率,Apache 从 2002 年发布起一直保持着市场上的王者地位。”摘自天极网。Rasmus Lerdorf 为了创建他的在线简历而创造了个人主页工具(Personal Home Page Tools)。这是一种非常简单的语言。其后越来越多的人们注意到了这个语言并对其扩展提出了各种建议。在许多人的
10、无私奉献下以及这种语言本身的源代码自由性质,它演变成为一种特点丰富的语言,而且现在还在成长中,就是本文中将用到的 PHP:Hypertext Preprocessor。“The MySQL database server is the worlds 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 T
11、he 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
12、 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.”摘 自http:/jakarta.apache.orgvsftpd,very security ftpd的简称,从字面上讲就是非常安全的ftp 服务器软件,引用其官方网站上的说法就是“Proba
13、bly 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 不用讲太多,
14、因为是从光盘安装,插入第一章光盘后,都有图形化的安装提示,几乎都是傻瓜式的安装主要说说怎么分区。将整个硬盘10G 按照以下方式划分:/boot 512M/usr 安装几个大型软件,预留打补丁时需要大量空间,所以分 3G/home 因为用户数量很少,分512M/var 因为是用作Web,ftp 服务器,可能有大量的.log 文件所以分5G。/tmp 1G(内存 2 倍)安装系统的时候,选择minimize 安装,也就是说,只安装Linux 的核心编译系统(gcc),不安装 X-WINDOWS,不安装系统默认的包,需要的软件以后再逐个安装。注:linux 系统每个设备对应一个文件在/dev/目录下
15、,如/dev/hda表示第一个 IDE 硬盘,/dev/hda1/dev/hda4表示对应的 1 到 4 号主分区/扩展分区,从 5 开始表示逻辑分区,hda6表示第一个 IDE 硬盘上的第二个逻辑分区。3.2 Tomcat与 MySQL 安装首先安装 Tomcat+MySQL 目的,是支持 JSP,HTML 语言,注意:在下面的操作中,以 shell 提示符”#”开头的表示以root 用户执行命令,实际操作中提示符不需输入,/*comment*/为注释部分。下载 JDK 下载地址:http:/ Tomcat安装包:http:/ MySQL 安装包:http:/ 下载 JDBC:http:/
16、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:$JA VA_HOME/lib/dt.jar:.export PATH=$PATH:$JA VA_HOME/bin 重新登陆,
17、以让修改后的环境变量起作用。测试,用 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/loca
18、l/下#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:
19、$JA VA_HOME/lib/dt.jar:.export PATH=$PATH:$JA VA_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 用户和组#g
20、roupadd 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/*recursi
21、on 修改权限*/#cp support-files/my-f/etc/f/*配置文件*/系统提示 overwrite?-选 yes#/usr/local/mysql/bin/safe_mysqld-user=mysql&如果最后一步出现 11357,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
22、/lib 增加 mysql 用户从本机访问数据库的权限(运行JSP需要):#cd/usr/local/mysql/bin#./mysql mysqlGRANT ALL PRIVILEGES ON*.*TO mysqllocalhost.localdomain domain IDENTIFIED BY password;mysqlquit 到这里,Tomcat,MySQL 的安装基本就告一段落。关于Tomcat,MySQL 的优化设置还有很多工作要做,本周只是搭建了一个基本的环境而已。3.3 Apache与 PHP安装Apache是一个非常专业、稳定性极好的WEB 服务器,但是其本身仅能解析简单
23、的静态网页和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.con
24、f:在 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 star
25、t(二)安装 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/apach
26、e/htdocs中用 vi 新建文件 test.php,内容:在浏览器输入 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-connecto
27、rs-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=channe
28、lSocket,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=10485
29、76#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.
30、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:/vsftpd.beasts.org/
31、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
32、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
33、&(五)测试 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 Passiv
34、e 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/loca
35、l/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 第四章综合测试
36、4.1 测试 JSP连接 MYSQL 在/usr/local/tomcat/webapps(tomcat 的 DocumentRoot 默认目录)下建立子目录test,复 制 目 录(目 录 就 是Windows下 的 文 件 夹)usr/local/tomcat/webapps/ROOT/WEB-INF 到新建的 test目录下。在 test目录下新建 index.jsp 文件:Redhat AS 3 下测试 JSP页面(Tomcat+MySQL)您的第一个字段内容为:您的第二个字段内容为:在浏览器上输入:http/localhost:8080/test 如果出现“Tomcat+JDK+my
37、SQL 完整测试,恭喜你,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):您的姓名:您的电子邮件:您的网站地址:您的网站名:(三)创
38、建后台 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 发生错误,请多查阅文档;echo$e
39、rr;else echo 成功插入数据库;?把 test.php和 test.html 放到/usr/local/apache/htdocs/test 目录下(若无test目录则创建它),在浏览器中输入 http:/127.0.0.1/test/test.html,输入各项参数,测试结果,如果显示“成功插入数据库”,恭喜,成功了,如果显示“发生错误,请多查阅文档”,那么只有再次仔细的配置了。结 语历经种种挫折,经过次次失败,设计期间询问老师无数次,翻书十几本,查阅 google,baidu数千回,总算把WEB 服务器搭建成功,通过这次毕业设计的制作,使我对 Linux 有了更深的了解,对其上的
40、web,ftp 服务也有了更加全面的认识,而且又复习一下 PHP和 HTML 语言,当然最大的成果就是锻炼了我在碰到问题的时候,详细记录问题的现象,分析并找出问题的原因,以及综合解决问题的能力。参考文献1 Evi Nemeth 等 UNIX 系统管理手册 2004-1 46-344页 人民邮电出版社2 W.Richard Stevens UNIX 环境高级编程 2000-2 1-37 页 机械工业出版社3 赵炯Linux 内核完全注释2004-101-270 页机械工业出版社4 Rasmus Lerdorf等 PHP 程序设计 2003-11-223页中国电力出版社5 Hugh E.Williams PHP&MYSQL Web 数据库应用开发指南 2003-5 24-340页中国电力出版社6 Patrick Niemeyer Java语言入门2001-11 1-690 页OReilly&Associates,Inc.7 孙卫琴 李洪成 Tomcat与 Java Web开发技术详解1-338 页 电子工业出版社