LAMP介绍
LAMP指的()、 HTTP 服务器,() 和(有时也是指或) 的第一个字母,一般用来建立web 服务器。
LAMP具有通用、跨平台、高性能、低价格的优势,因此LAMP无论是性能、质量还是价格都是企业搭建网站的首选平台
Apache 介绍
lApache是世界使用排名第一的Web服务器软件,它可以运行在几乎所有广泛使用的计算机平台上.
lApache web服务器软件拥有以下特性:
1.支持最新的HTTP/1.1通信协议
3.支持通用网关接口
4.支持基于IP和基于域名的虚拟主机
5.支持多种方式的HTTP认证
6.集成Perl处理模块
7.集成代理服务器模块
8.支持实时监视服务器状态和定***务器日志
10.支持安全Socket层(SSL)
Mysql 数据库
lMySQL是一个小型关系型数据库管理系统,开发者为瑞典MySQL AB公司,在2008年1月16号被Sun公司收购,而2009年,SUN又被Oracle收购.对于Mysql的前途,任何人都抱有乐观的态度.
l目前MySQL被广泛地应用在Internet上的中小型网站中
l由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,许多中小型网站为了降低网站总体拥有成本而选择了MySQL作为网站数据库
lMySQL的官方网站的网址是:www.mysql.com
MySQL的特性
l1.使用C和C++编写,并使用了多种编译器进行测试,保证源代码的可移植性
l2.支持AIX、FreeBSD、HP-UX、Linux、Mac OS、Novell Netware、OpenBSD、OS/2 Wrap、Solaris、Windows等多种操作系统
l3.为多种编程语言提供了API。这些编程语言包括C、C++ Python、Java、Perl、PHP、Eiffel、Ruby和Tcl等
l4.支持多线程,充分利用CPU资源
l5.优化的SQL查询算法,有效地提高查询速度
l6.提供用于管理、检查、优化数据库操作的管理工具
l7.可以处理拥有上千万条记录的大型数据库
PHP介绍
lPHP:是英文超级文本预处理语言PHP HypertextPreprocessor的缩写
lPHP 是一种 HTML 内嵌式的语言,是一种在服务器端执行的嵌入HTML文档的脚本语言,语言的风格有类似于C语言,被广泛的运用
lPHP 独特的语法混合了 C、Java、Perl 以及 PHP 自创新的语法,它可以比 CGI 或者 Perl 更快速的执行动态网页。
lPHP具有非常强大的功能,所有的CGI的功能PHP都能实现,而且支持几乎所有流行的数据库以及操作系统
httpd服务器安装
一、rpm包
1.安装
# yum -y installhttpd
2.相关的文件
服务程序文件:/usr/sbin/httpd
启动脚本文件:/etc/rc.d/init.d/httpd
主配置文件:/etc/httpd/conf/httpd.conf
网页发布的目录(默认):/var/www/html
p服务目录:/etc/httpd/
p主配置文件:/etc/httpd/conf/httpd.conf
p网页目录:/var/www/html/
p服务脚本:/etc/init.d/httpd
p执行程序:/usr/sbin/httpd
p访问日志:/var/log/httpd/access_log
p错误日志:/var/log/httpd/error_log
3.配置、启动服务并测试
# vi/etc/httpd/conf/httpd.conf
ServerName192.168.32.128 #配置服务器的名称
DocumentRoot"/var/www/html" #设定默认的网页服务目录
<Directory/> #配置在Web服务器上访问Linux的根目录权限
Options FollowSymLinks
AllowOverride None
</Directory>
<Directory"/var/www/html"> #配置Web服务器上访问/var/www/html目录的权限
Options Indexes FollowSymLinks
AllowOverride None
Order allow,deny
Allow from all
</Directory>
启动服务
# service httpdstart
测试网页
在浏览器中输入:http://192.168.32.128
可以看到Apache的默认网页
将做好的网页及图片全都上传到/var/www/html目录下进行发布网站。
二、最新源代码安装Apache
1.在官网下载最新版的Apache源代码包,解包
# tar xjfhttpd-2.4.6.tar.bz2
2.编译前的配置
# ./configure--prefix=/usr/local/httpd --enable-so --enable-rewrite --enable-cgi
configure:error: APR not found. Please read thedocumentation.
rewrite功能:
假设有这么个网页:http://www.example.com/test.php?id=5
这很容易使人看出执行了test.php这个程序,并且传入的参数是id=5,为了避免别人看到这些信息,采取rewite功能,使以上网页变成类似以下的网址:
http://www.example.com/pageone_test.html
现在安装最新版的apr
# ./configure--prefix=/usr/local/apr
# make&& make install
重新配置Apache
# ./configure--prefix=/usr/local/httpd --enable-so --enable-rewrite --enable-cgi \
>--with-apr=/usr/local/apr
configure:error: APR-util not found. Please readthe documentation.
安装最版的apr-util
# ./configure--prefix=/usr/local/apr-util --with-apr=/usr/local/apr
# make&& make install
再次重新配置Apache
# ./configure--prefix=/usr/local/httpd --enable-so --enable-rewrite --enable-cgi--with-apr=/usr/local/apr --with-apr-util=/usr/local/apr-util
configure:error: pcre-config for libpcre not found. PCRE is required and available from http://pcre.org/
安装最新版的pcre
# ./configure--prefix=/usr/local/pcre
# make&& make install
再次重新配置Apache
# ./configure--prefix=/usr/local/httpd --enable-so --enable-rewrite --enable-cgi--with-apr=/usr/local/apr --with-apr-util=/usr/local/apr-util --with-pcre=/usr/local/pcre
编译并安装Apache
# make&& make install
验证安装目录
[root@StudyServerhttpd]# ls
bin build cgi-bin conf error htdocs icons include logs man manual modules
安装目录
/usr/local/httpd
程序目录
/usr/local/bin
启动脚本
/usr/local/httpd/bin/apachectl
服务程序
/usr/local/httpd/bin/httpd
主配置文件
/usr/local/httpd/conf/httpd.conf
网页目录
/usr/local/httpd/htdocs
启动服务并测试网页
# service httpdstop #先停掉rpm包安装的Apache服务
启动之前先测试一下配置文件的语法
# bin/apachectl-t
启动
# bin/apachectlstart
在浏览器地址栏里输入http://192.168.32.128/
l主配置文件:/usr/local/httpd/conf/httpd.conf
l扩展配置目录:/usr/local/httpd/conf/extra
l网站根目录:/usr/local/httpd/htdocs
l服务脚本:/usr/local/httpd/bin/apachectl
l访问日志:/usr/local/httpd/logs/access_log
l错误日志:/usr/local/httpd/logs/error_log
最新版的Apache配置选项:
<Directory"/usr/local/httpd/htdocs">
Require all granted #等价于老版本的两句:Orader allow,deny
</Directory>
equire allgranted #等价于老版本的两句:
Oraderallow,deny
allow from all
主配置文件常用参数
lServerRoot:工作目录
lServerAdmin:apache管理员邮箱
lUser:运行服务用户
lGroup:运行服务组群
lServerName:网站域名
lDocumentRoot:网页根目录
lListen:apache的监听的IP地址和端口号
lPidFile:保存httpd进程PID号的文件
lDirectoryIndex:首页文件名称
lErrorLog:错误日志文件路径
lCustomLog:访问日志文件路径
lTimeout:网络连接超时,默认为300秒
lKeepAlive:是否保持连接,可选On或Off
lMaxKeepAliveRequests:每次连接最多请求文件数
lKeepAliveTimeout:保持连接状态时的超时时间
lInclude:需要包含进来的其他配置文件
Apache虚拟主机
l虚拟主机,就是在一台装有Apache的Web服务器的上运行多个Web站点,每个站点都可以通过自己的域名地址进行访问.每个站点称为一个虚拟主机
lApache支持不同类型的虚拟主机:
基于IP的虚拟主机
基于端口的虚拟主机
基于名称的虚拟主机
基于IP和名称的虚拟主机
基于IP:
l创建基于IP的虚拟主机需要为每个虚拟主机提供一个唯一有效的IP地址.
l因此,创建基于IP的虚拟主机,首先要在DNS配置文件中添加一个Address记录.
基于名称:
l基于名称的虚拟主机需要唯一的IP地址,但必须为每个主机创建一个规范的名称CNAME.
配置基于IP的虚拟主机
l配置基于IP的虚拟主机,该web服务器至少有两个IP地址.
l我们的实验中设置一个物理网卡上配置两个IP地址。
1.配置虚拟网卡
1)若永久生效,需要设置配置文件
# vi/etc/sysconfig/network-scripts/ifcfg-eth0
IPADDR=192.168.32.128
NETMASK=255.255.255.0
IPADDR1=192.168.32.140
NETMASK1=255.255.255.0
2)命令行临时配置,立即生效
# ifconfig eth0:1 192.168.32.140 netmask255.255.255.0 up #直接生效
2.新建两个目录及新建各目录的默认网页文件
# cd /usr/local/httpd/htdocs
# mkdir wdporacle
[root@StudyServerhtdocs]# vi oracle/index.html
[root@StudyServerhtdocs]# vi wdp/index.html
3.修改主配置文件
<VirtualHost192.168.32.128>
DocumentRoot /usr/local/httpd/htdocs/oracle
ServerName www.oracle.com
</VirtualHost>
<VirtualHost192.168.32.140>
DocumentRoot /usr/local/httpd/htdocs/wdp
ServerName www.wdp.com
</VirtualHost>
4.重启服务进行测试
# bin/apachectlrestart
在浏览器地址栏中输入:http://192.168.32.128/
输出oracle.com
在浏览器地址栏中输入:http://192.168.32.140/
输出wdp.com
基于不同端口的虚拟主机
1.在主配置文件中
Listen 81
Listen 8080
两个虚拟主机的配置项是:
<VirtualHost192.168.32.128:81>
DocumentRoot /usr/local/httpd/htdocs/oracle
ServerName www.oracle.com
</VirtualHost>
<VirtualHost192.168.32.128:8080>
DocumentRoot /usr/local/httpd/htdocs/wdp
ServerName www.wdp.com
</VirtualHost>
2.重启服务
# bin/apachectlrestart
3.测试
在浏览器地址栏中输入:http://192.168.32.128:81/
输出oracle.com
在浏览器地址栏中输入:http://192.168.32.128:8080/
输出wdp.com
基于名称的虚拟主机
Listen80 改回来
1.编辑主配置文件
修改如下:
<VirtualHost*:80>
DocumentRoot /usr/local/httpd/htdocs/oracle
ServerName www.oracle.com
</VirtualHost>
<VirtualHost*:80>
DocumentRoot /usr/local/httpd/htdocs/wdp
ServerName www.wdp.com
</VirtualHost>
2.让本地解析两个域名
编辑C:\WINDOWS\system32\drivers\etc\hosts
192.168.32.128 www.oracle.com
192.168.32.128 www.wdp.com
3.重启服务
# bin/apachectlrestart
4.测试
在浏览器地址栏中输入:http://www.oracle.com/
输出oracle.com
在浏览器地址栏中输入:http://www.wdp.com/
输出wdp.com
MySQL和PHP
MySQL
l高性能、多线程、多用户,建立在客户/服务器结构上关系型数据库管理系统,始于1979年,起始名为UNIREG,1996年5月份由WIDENIUS开发出MYSQL最初版本,当前最新版本为7.2
l商业客户可灵活的选择多个版本,以满足特殊的商业和技术需求:
MySQL标准版
MySQL企业版
MySQL集群版`
Mysql安装配置步骤
l检查基本编译环境、安装开发库环境
l创建mysql专用的用户和组账户
l解压并进入mysql源码包
l定制编译选项
l编译和安装
l拷贝配置文件
l初始化mysql数据库
l设置mysql和var目录权限
l第一次启动Mysql服务
l设置mysql为系统服务并能够自动启动
安装MySQL,选用最新源代码版的mysql-5.6.13.tar.gz
解包
# tar zxfmysql-5.6.13.tar.gz
先安装cmake
# tar zxfcmake-2.8.12.tar.gz
# ./configure--prefix=/usr/local/cmake
#make &&make install
添加一个用户mysql
# useradd -r -Mmysql
安装前的配置
在mysql下
#/usr/local/cmake/bin/cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql \
>-DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci
编译安装
# make&& make install
这里会等很长时间
设置配置文件
# cpsupport-files/my-default.cnf /etc/my.cnf
# vi /etc/my.cnf
basedir =/usr/local/mysql
datadir =/usr/local/mysql/data
port = 3306
server_id = 1000
socket =/tmp/mysql.sock
初始化数据库
#/usr/local/mysql/scripts/mysql_install_db --user=mysql--collation-server=utf8_general_ci
修改/usr/local/mysql
# chown -Rmysql:mysql *
启动MySQL服务
#bin/mysqld_safe --user=mysql &
登录MySQL
# bin/mysql
相关常用的SQL语句
显示数据库列表
mysql> showdatabases;
显示表
mysql> showtables;
显示表结构
mysql> descuser;
mysql> selectHost,User,Password from user;
mysql> deletefrom user where User = '';
mysql> updateuser set Password = password('123456') where User = 'root';
mysql> createdatabase if not exists mydb;
mysql> grantall privileges on mydb.* to lisidbuser@localhost identified by '1234' ;
mysql> flushprivileges;
# bin/mysql -ulisidbuser -p
PHP的安装和使用
安装JPEG插件
# tar zxfjpegsrc.v7.tar.gz
cd jpeg-7
# ./configure--prefix=/usr/local/jpeg7 --enable-shared --enable-static
# make&& make install
安装zlib
[root@StudyServerapp]# tar zxf zlib-1.2.8.tar.gz
[root@StudyServerapp]# cd zlib-1.2.8
[root@StudyServerzlib-1.2.8]# ./configure --prefix=/usr/local/zlib
[root@StudyServerzlib-1.2.8]# make && make install
安装zlib开发包
# yum -y installzlib-devel
安装libpng
tar zxflibpng-1.6.6.tar.gz
# cdlibpng-1.6.6
# ./configure--prefix=/usr/local/libpng --with-zlib-prefix=/usr/local/zlib
# make&& make install
安装字体库引擎
# tar jxffreetype-2.4.7.tar.bz2
# cdfreetype-2.4.7
# ./configure--prefix=/usr/local/freetype
# make&& make install
安装GD库
# tar zxflibgd-2.1.0.tar.gz
# cd libgd-2.1.0
# ./configure--prefix=/usr/local/gd2 --with-jpeg=/usr/local/jpeg7--with-png=/usr/local/libpng/ --with-freetype=/usr/local/freetype
# make&& make install
安装PHP
# tar jxfphp-5.5.5.tar.bz2
# cd php-5.5.5
安装依赖软件
# yum -y installlibXpm-devel libxml2-devel
# ./configure--prefix=/usr/local/php5 \
>--with-apxs2=/usr/local/httpd/bin/apxs \
>--with-mysql=/usr/local/mysql \
>--with-libxml-dir=/usr/bin --with-gd=/usr/local/gd2 \
> --with-jpeg-dir=/usr/local/jpeg7\
>--with-png-dir=/usr/local/libpng \
>--with-freetype-dir=/usr/local/freetype \
>--enable-mbstring \
>--with-xpm-dir=/usr/lib64
编译安装PHP
# make&& make install
配置PHP5
# cpphp.ini-production /usr/local/php5/php.ini
212 short_open_tag= Off 改为
212short_open_tag = On
修改Apache的主配置文件
# vi/usr/local/httpd/conf/httpd.conf
找到这一句(这是安装PHP时自动添加一项):
LoadModulephp5_module modules/libphp5.so
然后添加一项
AddTypeapplication/x-httpd-php .php #让Apache在服务器端解析PHP文件
再添加一项:
DirectoryIndexindex.html index.php
# bin/apachectlrestart
写个PHP的测试网页
# vi test.php
<?php
phpinfo();
?>
然后测试
http://192.168.32.128/test.php 进行测试
可以到百度云盘下载账号密码pk492940446
压缩包