动态脚本网站的工作方式:
CGI:Common Gateway Interface通用网关接口,主要是跟一个特定的语言解释器交互。

FastCGI:把CGI做成一个服务,工作在一个端口上,产生很多子进程,当用户访问时,把一个空闲的进程给用户,它自己实现产生,回收等

mode模块化:把某种解释器做成对应的模块,作为Apache的一部分

实现网页开发的工具(脚本的)
asp:active Server Page
ASP.NET:
php:开源的,它的网站
www.php.net 超文本预处理器,直接index.php,还有潜入式html.
jsp:企业应用,执行效率高。
网站框架CGI:perl,python,ruby(ruby on rails)

数据库的基本概念及操作
SQL:Structure Query Language 结构化查询语言
关系型数据库中用于实现数据管理的语言
Oracle:版本9i,10g网格数据库,网格:某一个数据库服务器挂了,不会影响流程
grid:
Infomix:被IBM公司收购了
Sybase:
DB2:IBM公司的
SQL Server:
现今有的:Oracle,DB2,SQL Server
开源的:MySQL,MariaDB,PostgreSQL据说技术比较好,EnterpriseDB商业的处于发展阶段在中国已有商务中心

RDBMS:关系型数据库管理系统

数据文件:有许多源数据,可以用select,update,delete等
ls是二进制的命令

ODBC:开放数据库连接,非常底层的连接驱动。
JDBC:专门用于实现Java的连接驱动


如何安装数据库
yum install mysql-server
   mysql-server是服务器
   mysql是客户端
service mysqld start
 mysql         连接服务器,默认本机,用户root,密码为空
 SHOW DATABASES;   查看数据库
    information_schema 位于内存中运行的接口
    mysql
    test               空的
 CREATE DATABASE mydb;  创建数据库
 use mydb;               设定默认数据库
 SHOW TABLES;            查看表
 DROP DATABASE mydb;     删除数据库
 CREATE TABLE tb1(        创建表
       Name CHAR(20),    最长字符
       Age  INT
              );
 DESC tb1;               表结构
 SELECT * FROM tb1;      检索表数据
 INSERT INTO tb1 (Name,Age) VALUES ('jin',18);插入数据
 INSERT INTO tb1 (Name,Age) VALUES ('jin',18),('biao',80);批量插入
 INSERT tb1 (Name) VALUES ('zhou');只往特定的字段插入
 SELECT * FROM tb1 WHERE Age > 17;条件查询
 UPDATE tb1 SET Age = 76 WHERE Name='jin;'修改数据
 DELETE FROM tb1 WHERE Name='jin';删除数据
 DROP TABLE tb1;                  删除表
 quit或\q                         退出


如何安装布署php:
 yum install php
 rpm -ql php
 vim /etc/httpd/conf.d/php.conf作为apache的模块使用
 DirectoryIndex识别新的主页面
 service httpd restart
 vim /etc/httpd/conf.d/web.magedu.com/index.php
   <?php
    phpinfo(); 内置函数生成一个网页
   ?>


如何让php连接数据库:
 yum install php-mysql 专门连接数据库的驱动
 yum install php-mbstring 对字符串的支持功能更强大
 yum install xml php-pear
 php本身是可执行文件
 phpize -v      显示扩展模块,版本等
 vim /etc/php.ini主配置文件
 service http restart
 cd /etc/httpd/conf.d/web.magedu.com
 vim index.php   创建网页
  <?php
   $link=mysql_connect(localhost,root,'');
   if ($link)
     echo "Sucess";
   else
     echo "Failue";
   ?>               测试MySQL的连接
 service mysql stop 停止服务

著名的论坛:discuz 腾讯
           phpwind 阿里巴巴
           phpbb  国外的
      博客:wordpress


LAMP的安装:Apache+Mysql+PHP

编译安装:
#./config检查环境,及它的特性 (Makefile.in-->makefile)
#make            
#make install

Apache的源代码编译安装
yum grouplist     查看包组的情况
yum -y groupinstall "Development Tools" "X Software" "Development Libraries"
lftp 192.168.0.254
  cd /pub/Sources/LAMP
  get http-2.2.17.tar.bz2  下载软件包
tar xf http-2.2.17.tar.bz2
hwclock -s      与硬件时间同步
date             查看时间
crontab -e
  */1 * * * * /sbin/hwclock -s &> /dev/null 每隔一分钟同步一次
crontab -l 查看
./configure预编译安装,检查环境
  --perfix=/usr/local/apache 安装路径
  --sysconfdir=/etc/httpd    默认的配置文件的安装目录
  --enable-so                启用apache动态装卸模块
  --enable-ssl               支持ssl,https功能的打开
  --enable-rewrite           支持URL重写
  --with-zlib                数据压缩工具
  --enable-mods-shared=most|all 所支持的模块共享模式     
make
make install
cp /etc/init.d/httpd ./
vim httpd
  chkconfig;- 85 15启动关闭的优先级
  .表Source把其他的脚本文件包含到当前脚本
  /etc/sysconfig/httpd 辅助配置文件显示apache的工作状态
   apachectl=/usr/local/apache/bin/apachectl
    httpd=/usr/local/apache/bin/httpd
  pidfile   进程号文件
  lockfile  是个脚本,避免服务重启两次,自我保护机制
/usr/local/apache/bin/apachectl start开启
  /etc/rc.local
  /etc/init.d/的脚本service httpd start
killall httpd 删除所有httpd的进程
netstat -tnlp
vim /etc/httpd/httpd.conf主配置文件
  PidFile "/var/run/httpd.pid"手动指Pid的文件位置
  Include /etc/httpd/extra/httpd-vhosts.conf开启
          在该文件下添加虚拟主机
  Include /etc/httpd/extra/httpd-ssl.conf开启
  DocumentRoot "/usr/.."网页文件的位置
cp httpd /etc/init.d
service httpd restart
chkconfig --add httpd自己写的脚本要手动添加
chkconfig --list httpd查看
chkconfig httpd on 开机自动启动
vim /etc/profile
 PATH=$PATH:/usr/local/apache/bin添加路径到PATH变量
. !$重读上面的配置文件
httpd -t 检查语法
man -M /usr/local/apache/man httpd
vim /etc/man.config
 MANPATH /usr/local/apache/man添加不用M指定
cd /usr/include  系统的头文件
cd /usr/local/apache/ | ls include/
ln -sv /usr/local/apache/include /usr/include/apache 创建连接能让系统找到头文件
vim /etc/ld.so.conf.d/apache.conf
 /usr/local/apache/lib输出库文件
ldconfig -v重新导出,让它立即生效

MySQL的安装,二进制文件解压后配置下就可使用:
lftp 192.168.0.254
  cd /pub/Sources/mysql-5.5
  get mysql-5.5.15-linux2.6-i686.tar.gz下载
tar xf mysql-5.5.15-linux2.6-i686.tar.gz -C /usr/local解压并保存到/usr/local
cd /usr/local
ls                          文件名太长创建软连接
ln -sv mysql-5.5.15-linux2.6-i686 mysql
groupadd mysql  要想使用mysql必须创建mysql组和用户
useradd -g mysql -s /sbin/nologin -M mysql
  -M不指定家目录
id mysql
cd mysql
ls
chown -R mysql:mysql .  mysql目录属主属组为mysql
ll 查看
fdisk /dev/sda
   n 创建分区
   t 改变类型为8e

  创建逻辑卷
partprobe /dev/sda
pvcreate /dev/sda5
vgcreate myvg /dev/sda5
lvcreate -L 3G -n mydata myvg

lvs  查看
mke2fs -j -L MYDATA -b 2048 /dev/myvg/mydata创建文件系统格式化
mkdir /mydata
vim /etc/fstab
  LABEL=MYDATA /mydata ext3 default 0 0 开机自动挂载
mount -a挂载
mkdir /mydata/data创建目录用来存放数据
chown -R mysql:mysql /mydata/data改变属主属组以mysql用户运行
ll /mydata/data查看一下
scripts/mysql_install_db --user=mysql --datadir=/mydata/data数据初始化
chown -R root .把属主改为root
cd support-files/ | ls  mysql的配置文件
cp my-large.cnf /etc/my.cnf
vim /etc/my.cnf
 datadir = /mydata/data添加数据的目录
cp mysql.server /etc/init.d/mysqld控制mysql服务启动的脚本
service mysqld start验证启动
chkconfig -add mysqld
chkconfig --add mysqld
chkconfig --list mysqld
netstat -tnlp监听在3306端口
vim /etc/profile
 PATH=$PATH:/usr/local/mysql/bin
. /etc/profile重读文件
echo $PATH查看一下
mysql  连接mysql
cd ..切换到子目录
ls
ln -sv /usr/local/mysql/include /usr/include/mysql为头文件创建软连接
ls /usr/include/mysql/
vim /etc/ld.so.conf.d/mysql.conf
  /usr/local/mysql/lib配置库文件路径
ldconfig -v重新装载
ls man/
vim /etc/man.config
 MANPATH /usr/local/mysql/man添加man文档的路径
man mysqld测试一下

php的编译安装:
下载软件包php-5.3.6.tar.bz2
tar xf php-5.3.6.tar.bz2 -C ~解压软件包到家目录
cd php-5.3.6

./configure --prefix=/usr/local/php5安装路径
--with-apxs2=/usr/local/apache/bin/apxs
--with-mysql=/usr/local/mysql针对Mysql安装
--with-mysqli=/usr/local/mysql/bin/mysql_config 接口
--enable-mbstring=all更好的支持字符串
--enable-track-vars --with-png --with-xml --with-freetype --with-gd --with-zlib支持绘图功能

make && make install
cp php.ini-production /usr/local/php5/lib/php.ini配置文件
vim /etc/httpd/httpd.conf
 AddType application/x-httpd-php .php要求Apache支持php的网页
 DirectoryIndex index.php index.html要求网站主目录支持php
service httpd restart重启服务
cd /usr/local/apache/htdocs/网页的位置
vim index.php写个网页测试一下能否连接数据库
 <?php
   $link=mysql_connect(localhost,root,'');
   if ($link)
     echo "Sucess";
   else
     echo "Failue";
   ?>              
service mysqld start
打开网页测试一下,出现Sucess则成功