Linux--Web应用服务和MySQL数据库
(1) WWW是一种交互式图形界面的Internet服务,具有强大的信息连接功能,是
人们在网上查找、浏览信息的主要手段。它使得成千上万的用户通过简单的
图形界面就可以获取各个大学、组织、公司等的最新信息和各种网上服务。
许多公司建立了主页,利用Web在网上发布消息。
如果想通过主页进行宣传,就必须将主页放在一个Web服务器上。用户可以
注册一个域名,申请一个IP 地址,用Linux架设一台WWW服务器,然后
让ISP将这个IP地址解析到Linux主机上,将主页存放在这个Web服务器上,
通过它将主页向外发布。
目前,在世界各地有许多公司和学术团体,根据不同的计算机系统,开发出
不同的WWW服务器,如Apache、CERNhttpd、NCSAhttpd、Plexus、Microsoft
InternetInformation System、WebSite等,在Unix/Linux系统中常用是Apache。
Apache是世界排名第一的Web服务器,根据多年跟踪全球WEB服务器软件
市场的美国Netcraft公司(http://www.netcraft.com)所作的调查,世界上百分
之五十以上的Web服务器在使用Apache服务器。
(2) MySQL是著名的免费数据库软件,使用通用的SQL查询语言;PHP是动态页
面语言,可以用来进行动态页面和网站的开发
1. Apache服务器的搭建
(1) 安装服务器软件
进入软件文件夹
[root@lab root]# cd/root/labsoft
拷贝httpd-2.0.52.tar.gz到/usr/local/
[root@lab labsoft]# cp httpd-2.0.52.tar.gz /usr/local/
进入/usr/local/文件夹
[root@lab labsoft]# cd /usr/local/
解压缩httpd-2.0.52.tar.gz包
[root@lab local]# tar zxvf httpd-2.0.52.tar.gz
进入解压后的文件夹
[root@lab local]# cd httpd-2.0.52
配置软件
[root@lab httpd-2.0.52]# ./configure
编译软件
[root@lab httpd-2.0.52]# make
安装软件
[root@lab httpd-2.0.52]# make install
清除安装垃圾
[root@lab httpd-2.0.52]# make clean
安装结束后,apache的安装目录为
/usr/local/apache2
(2) httpd.conf文件的配置
httpd.conf文件是apache的主配置文件。
进入配置文件夹
[root@lab httpd-2.0.52]#cd /usr/local/apache2/conf/
编辑httpd.conf文件
[root@lab conf]#vi httpd.conf
默认配置 我们修改的配置 说明
Timeout 300 Timeout 120 设置超时时间(s)
MaxKeepAliveRequests 100 最大请求时间
KeepAliveTimeout 15 KeepAliveTimeout5 活动请求等待时间(s)
MaxClients 150 MaxClients 250 最大进程数(prefork MPM
为适用于UNIX的模块支持)
该参数是多少有一个基本的算法,例如512M的机器,一个Apache+PHP进程大概消耗4M内
存,则最高效率的进程数为512m/4m* 2=206,最大进程数为206*1.5=309
Listen 80 设定服务器监听的端口号
ServerAdmin you@example.com ServerAdminstu@yahoo.com 设定管理员的邮箱地址
ServerName www.example.com:80 ServerName 127.0.0.1:80 设定服务器名称和端口号
DocumentRoot
"/usr/local/apache2/htdocs"
DocumentRoot
"/var/www/html"
文件存放位置
DirectoryIndex
index.html index.html.var
DirectoryIndex
index.html index.html.var
index.php index.htm
默认识别的首页名称
AddDefaultCharsetISO-8859-1 AddDefaultCharset GB2312 选择默认支持语言
为了可以支持PHP语言,在配置文件中添加以下两行:
LoadModule php4_module modules/libphp4.so
AddType application/x-httpd-php .php
根据你的机器配置以上文件
(3) 启动和停止服务器
启动服务器
[root@lab conf]# /usr/local/apache2/bin/httpd-k start
停止服务器
[root@lab conf]# /usr/local/apache2/bin/httpd-k stop
重新启动服务器
[root@lab conf]# /usr/local/apache2/bin/httpd-k restart
(4) 测试
a) 在客户机的浏览器中输入http://服务器ip
b) 如果可以看到欢迎界面,就说明配置成功
c) 自己编写一个html文件index.html,并将其放在/var/www/html/目录下,然后
在浏览器中输入http://服务器ip/index.html,如果可以显示你文件的内容,说
明正常运行。
<HTML>
<HEAD>
<TITLE>CAIXINGYUN LINUX学习</TITLE>
</HEAD>
<BODY bgcolor= yellow>
<P>这是一个HTML的测试文件</P>
</BODY>
</HTML>
2. MySQL数据库的安装使用
(1) 增加mysql用户和组。mysql用户和组是为了运行MySQL所建立的系统帐号
增加mysql组
[root@lab root]#groupadd mysql
增加mysql用户
[root@lab root]#useradd -g mysql mysql
(2) 安装MySQL
将MySQL软件拷贝到/usr/local目录下
[root@lab root]#cp /root/labsoft/mysql-standard-4.0.25-pc-linux-i686.tar.gz /usr/local
进入/usr/local目录
[root@lab local]#cd /usr/local
解压缩mysql软件包
[root@lab local]#tar zxvf mysql-standard-4.0.25-pc-linux-i686.tar.gz
建立符号链接
[root@lab local]#ln-s mysql-standard-4.0.25-pc-linux-i686 mysql
进入解压缩后的目录
[root@lab local]#cd mysql
创建安装库
[root@lab local]# scripts/mysql_install_db --user=mysql
改变文件用户属性
[root@lab local]#chown –R root /user/local/mysql/
改变data文件夹用户
[root@lab local]#chown -R mysql data
改变文件所属组
[root@lab local]#chgrp -R mysql /usr/local/mysql/
(3) 启动MysQL
启动服务
[root@lab local]#/usr/local/mysql/bin/mysqld_safe --user=mysql&
(4) 连接与断开MySQL服务器
用root帐号登陆
[root@lab local]#/usr/local/mysql/bin/mysql-u root –p
如果成功地连接后,用户可以在“mysql>”提示符下输入QUIT随时断开:(也可以键入
control-D断开)。
mysql> QUIT
(5) 数据库的创建
创建该数据库使用下面的命令:
mysql> CREATE DATABASE lbuser; (注意不要忘记最后的;号)
(6) 数据表的创建
选择数据库作为当前数据库,命令如下:
mysql> USE lbuser;
使用CREATE TABLE语句来创建数据表:
mysql> CREATE TABLE user (ID int primarykey,name VARCHAR(20)not null,
->password VARCHAR(20),
-> sexVARCHAR(2),email VARCHAR(50),
-> birthday DATE, city VARCHAR(20));
(7) 数据记录的增加、删除与修改
a) 创建文本文件
先创建一个文本文件“user.txt”, 其格式如下:
1 liubing12345 男
lb@neuq.edu.cn 1968-04-03 秦皇岛
2 lyd12345 女 lyd@163.com \N 北京
创建此文件是为了使用LOAD DAT A语句增加记录
b) 装载文本文件“user.txt”到user表中:
mysql> LOAD DATA LOCAL INFILE "user.txt" INTO TABLE user;
c) 使用INSERT语句增加一条新记录:
mysql> INSERT INTO user
-> VALUES (3,‘jiangli’, ‘12345’, ‘女’,
‘lb@whpu.edu.cn’, ‘1972-10-18’, ‘武汉’);
d) 删除记录
删除在数据表user中新增加的“ID=2”的数据记录,语句如下:
mysql> DELETE FROM user WHERE ID=2;
e) 修改记录
要修改user数据表中的用户名为liubing的用户密码,可使用下面的语句:
mysql> UPDATE user SETpassword = "567890" WHERE name=liubing;
(8) 数据表记录的查询
mysql> SELECT* FROM user WHERE sex=“男”;
mysql> SELECT* FROM user WHERE sex="男" andID<100;
mysql> SELECTname,birthday,sex FROM user WHERE sex="男" ORDER BY
birthday DESC;
mysql> SELECT* FROM user WHERE name LIKE "j%";
mysql> SELECT sex, COUNT(*) FROM user GROUP BY sex;
(9) 为root用户增加口令:
第一种方法:
[root@lab local]#/usr/local/mysql/bin/mysqladmin-u root password 'new_password'
第二种方法:
[root@lab local]# mysql-u root mysql
mysql> UPDATE user SETPassword=PASSWORD('new_password')
WHERE user='root';
mysql> FLUSH PRIVILEGES;
3. PHP连接MySQL数据库
(1) PHP的安装
拷贝php软件包到/usr/local目录下
[root@lab root]# cp php-4.3.9.tar.gz /usr/local/
进入目录
[root@lab root]# cd /usr/local/
解压php软件包
[root@lab local]# tar zxvf php-4.3.9.tar.gz
配置软件
[root@lab local]# ./configure\
--with-mysql\
--with-apxs2=/usr/local/apache2/bin/apxs\
--enable-versioning\
--disable-debug\
--enable-track-vars\
编译软件
[root@lab conf]# make
安装软件
[root@lab conf]# make install
清除安装中生产的无用文件
[root@lab conf]# make clean
(2) 编辑httpd.conf
为了使得apache支持PHP,需在配置文件中加入
LoadModule php4_module modules/libphp4.so
AddType application/x-httpd-php .php
第一行配置文件中存在,大家只需找到他它,然后在它下面插入第二行就可以了
(3) 测试
重新启动apache
[root@lab root]#/user/local/apache2/bin/httpd-k start
在/usr/local/apache/htdocs下
新建文件index.php,内容如下:
<?phpinfo();?>
在浏览器中输入http://x.x.x.x/index.php
可以看见php的表以及信息就说明整合成功
x.x.x.x是服务器的IP
(4) 连接指定的数据库,并且获得数据
<HTML>
<HEAD>
<TITLE> 从数据库中取打开的当前记录 </TITLE>
</HEAD>
<BODY>
<?php
$dbname='lbuser';
$dbtable='user';
$myconn=mysql_connect("localhost","root","这里填入你设定的root密码");
mysql_select_db("lbuser");
$SQL_String="Select* from userorder by id ";
$Exec=mysql_query($SQL_String,$myconn);
mysql_close($myconn);
for($i=1;$i<4;$i++){
$record=mysql_fetch_row($Exec);
echo "user:";
echo $record[1];
echo "<br>";
echo "";
echo $record[2];
echo "<br>";
echo "<br>";
}
?>
</BODY>
</HTML>