网站建设 电子书,门户网站建设会议纪要,百度登陆,取消wordpress激活邮件LAMP 是Linux Apache MySQL PHP的简写#xff0c;其实就是把Apache, MySQL以及PHP安装在Linux系统上#xff0c;组成一个环境来运行php的脚本语言。Apache是最常用的WEB服务软件#xff0c;MySQL是比较小型的数据库软件#xff0c;这两个软件以及PHP都可以安装到windows的机… LAMP 是Linux Apache MySQL PHP的简写其实就是把Apache, MySQL以及PHP安装在Linux系统上组成一个环境来运行php的脚本语言。Apache是最常用的WEB服务软件MySQL是比较小型的数据库软件这两个软件以及PHP都可以安装到windows的机器上。 LAMP环境安装顺序首先安装mysql、apachePHP最后安装因为PHP要调用mysql和apache的一些参数和数据。 关于源代码包和二进制包 源代码方式和二进制包是软件包的两种形式。二进制包里面包括了已经经过编译可以马上运行的程序。你只需要下载和解包安装它们以后就马上可以使用。源代码包里面包括了程序原始的程序代码需要在你的计算机上进行编译以后才可以产生可以运行程序,所以从源代码安装的时间会比较长。 可以访问下面的链接获取LAMP的安装文件 搜狐的开源镜像下载地址 http://mirrors.sohu.com/ mysql下载地址搜狐镜像 http://mirrors.sohu.com/mysql/ linux版本为CentOS 6.6 安装MySQL 我们平时安装MySQL都是源码包安装的但是由于它的编译需要很长的时间我们这里选择安装二进制免编译包。你可以到MySQL官方网站去下载 http://dev.mysql.com/downloads/ 具体版本根据你的平台和需求而定目前比较常用的为mysql-5.0/mysql-5.1, 5.5版本虽然已经发布有段日子了但是貌似用在线上跑服务的还是少数。 具体的步骤如下 1、下载mysql安装文件到/usr/local/src 目录下,如果没有wget命令yum install wget 安装即可 [rootyong ~]# cd /usr/local/src
[rootyong src]# wget http://syslab.comsenz.com/downloads/linux/mysql-5.1.40-linux-i686-icc-glibc23.tar.gz 2、解压下载的文件 [rootyong src]# tar -zxvf mysql-5.1.40-linux-i686-icc-glibc23.tar.gz 3、把解压完的数据移动到/usr/local/mysql 提醒注意不用自己手动添加/mysql目录移动的同时会把原目录改名的。 [rootyong src]# mv mysql-5.1.40-linux-i686-icc-glibc23 /usr/local/mysql 4、建立mysql用户禁止登录系统 [rootyong src]# useradd -s /sbin/nologin mysql 5、初始化数据库新建/data目录及/data/mysql子目录并设置/data/mysql目录的所属主所属组为mysql用户 [rootyong src]# cd /usr/local/mysql/
[rootyong mysql]# mkdir -p /data/mysql
[rootyong mysql]# chown -R mysql:mysql /data/mysql/ [rootyong mysql]# ./scripts/mysql_install_db --usermysql --datadir/data/mysql/
Installing MySQL system tables...
OK
Filling help tables...
OK --user 定义数据库的所属主--datadir 定义数据库的安装路径建议放到大存储空间。看到两个OK说明执行正确否则请仔细查看错误信息查询哪里出了问题 6、拷贝配置文件 [rootyong mysql]# cp support-files/my-large.cnf /etc/my.cnf 模板配置文件在/mysql/support-files/目录下 根据内存大小选择 my-small.cnf 内存 64M my-medium.cnf 内存 128M my-large.cnf 内存 512M my-huge.cnf 内存 1G-2G my-innodb-heavy-4G.cnf 内存 4GB 7、拷贝启动脚本文件并修改属性 [rootyong mysql]# cp support-files/mysql.server /etc/init.d/mysqld
[rootyong mysql]# chmod 755 /etc/init.d/mysqld 8、修改启动脚本 [rootyong mysql]# vim /etc/init.d/mysqld 需要修改的地方有 basedir/usr/local/mysql(mysql的安装目录 datadir/data/mysql前面初始化数据库定义的目录 9、把启动脚本加入系统服务项并设定开机启动启动mysql服务 [rootyong mysql]# chkconfig --add mysqld
[rootyong mysql]# chkconfig mysqld on
[rootyong mysql]# service mysqld start
Starting MySQL.. [ OK ] 启动mysqld服务时如出现以下的错误 [rootyong mysql]# service mysqld start
/etc/init.d/mysqld: line 260: my_print_defaults: command not found
/etc/init.d/mysqld: line 263: my_print_defaults: command not found
Starting MySQL ERROR! Couldnt find MySQL manager (./bin/mysqlmanager) or server (./bin/mysqld_safe) 出错的原因是解压出来的mysql-5.1.40-linux-i686-icc-glibc23目录执行mv mysql-5.1.40-linux-i686-icc-glibc23 /usr/local/mysql 目录的时候不用建立目标目录mysql命令是移动的同时会改名为mysql如自己手动建立/local/mysql目录则是把目录移动到此目录下导致命令不能执行。 也有可能的原因如下 需要在/etc/my.cnf配置文件中添加basedir和datadir [mysqld] port 3306 basedir/usr/local/mysql datadir/data/mysql /etc/init.d/mysqld配置文件中也需要添加basedir和datadir basedir/usr/local/mysql datadir/data/mysql [rootlocalhost mysql]# /etc/init.d/mysqld start
Starting MySQL.... SUCCESS! 10、查看mysqld是否启动 [rootlocalhost mysql]# ps aux |grep mysqld
root 1341 0.0 0.1 6680 1328 pts/0 S 20:22 0:00 /bin/sh /usr/local/mysql/bin/mysqld_safe --datadir/data/mysql --pid-file/data/mysql/localhost.localdomain.pid
mysql 1456 0.3 4.2 381608 43504 pts/0 Sl 20:22 0:01 /usr/local/mysql/bin/mysqld --basedir/usr/local/mysql --datadir/data/mysql --usermysql --log-error/data/mysql/localhost.localdomain.err --pid-file/data/mysql/localhost.localdomain.pid --socket/tmp/mysql.sock --port3306 /usr/local/mysql/bin 目录下的mysql为可执行命令执行mysql开启客户端测试mysql是否工作 安装apache 1、下载httpd包到/usr/local/src/目录下 [rootlocalhost src]# wget
http://syslab.comsenz.com/downloads/linux/httpd-2.2.16.tar.gz 2、解压httpd源码包 [rootlocalhost src]# tar -zxvf httpd-2.2.16.tar.gz 3、配置编译的参数 [rootlocalhost src]# cd httpd-2.2.16
[rootlocalhost httpd-2.2.16]# ./configure --prefix/usr/local/apache2 --enable-mods-sharedmost --enable-so --prefix 指定apache的安装目录 --enable-mods-sharedmost 表示安装的模块大多数以mods共享模式加载 --enable-so 表示是否支持dso动态加载模块扩展安装 执行./configure时可能会遇到以下错误这个主要是gcc编译器包、apr包没有安装。对于这个问题安装gcc、apr包就可以了。 configure: error: in /usr/local/src/httpd-2.2.16/srclib/apr: configure: error: no acceptable C compiler found in $PATH See config.log for more details. configure failed for srclib/apr 执行./configure时可能会遇到以上错误这个主要是gcc编译器包、apr包没有安装。对于这个问题使用yum install gcc就可以了。 [rootlocalhost apr]# yum install -y gcc
[rootlocalhost bin]# yum install -y pcre pcre-devel apr apr-devel 4、make编译编译完成后使用echo $? 查看make命令是否执行成功成功返回值为0不成功则为非0 [rootlocalhost apr]# make
[rootlocalhost apr]# echo $?
0 5、make install安装完成后同样使用echo $? 查看是否执行成功成功返回值为0不成功则为非0 [rootlocalhost apr]# make install
[rootlocalhost apr]# echo $?
0 当我们安装好apache服务器后通常会在apache2/bin/目录形成一些相关的执行命令其中httpd文件是apache服务器的主程序。其被设计为一个独立运行的后台进程它会建立一个处理请求的子进程或线程的池。Apache服务器的所有相关操作都可以通过httpd命令进行完成但是通常情况下我们并不建议这么做而是通过同一目录下的apachectl命令通过调用httpd命令的方式来完成对服务器的开启关闭等相关的操作的。 apache安装完成后检测 /usr/local/apache2/bin/apachectl -t 测试配置文件是否正确 /usr/local/apache2/bin/httpd -t 测试配置文件是否正确和上面的命令一样的效果 /usr/local/apache2/bin/apachectl -l 查看apache加载的静态模块 /usr/local/apache2/bin/apachectl -M 把所有加载的模块列出来。 查看曾经的编译选项 /usr/local/apache2/build/config.nice 查看这个文件列出来编译的时候的选项内容 [rootlocalhost httpd-2.2.29]# cat /usr/local/apache2/build/config.nice
#! /bin/sh
#
# Created by configure
./configure \
--prefix/usr/local/apache2 \
--enable-mods-sharedmost \
--enable-so \
$ apache启动命令 /usr/local/apache2/bin/apachectl start/stop/restart /usr/local/apache2/bin/apachectl graceful/graceful-stop start 用于启动apache服务首先检查apache的配置文件是否有误没有错误启动服务如有误则输出错误信息 stop 用于停止apache服务器如果已经停止了apache服务器则会报错 restart 重新启动apache服务器如果apache没有启动则启动它 graceful 和start参数一样区别在于它不会中断正在处理的连接也不会关闭日志。推荐使用。 graceful-stop 和stop参数一样区别在于它不会中断正在处理的连接也不会关闭日志推荐使用。 [rootlocalhost httpd-2.2.29]# /usr/local/apache2/bin/apachectl graceful
httpd: Could not reliably determine the servers fully qualified domain name, using localhost.localdomain for ServerName
httpd not running, trying to start 启动时会出现几行类似错误的信息是域名解析问题需要在下面的配置文件修改vim /usr/local/apach2/conf/http.conf 找到这一行 #ServerName www.example.com80 这一项去掉#号保存退出。再次启动就不会报错 启动apache后使用netstat -nlp |grep httpd 查看httpd 80端口是否启用 使用curl localhost 测试网页是否正常 [rootlocalhost httpd-2.2.29]# curl localhost
htmlbodyh1It works!/h1/body/html 在IE浏览器输入本地ip地址也可以测试网页是否正常 PHP安装 PHP原始为 Personal Home Page的缩写现已经正式更名为 PHP: Hypertext Preprocessor超文本预处理 的缩写。 PHP 是一种 HTML 内嵌式的语言是一种在服务器端执行的嵌入HTML文档的脚本语言语言的风格有类似于C语言被广泛地运用。 1、下载php源码包下载后解压包 [rootyong ~]# cd /usr/local/src/
[rootyong src]# wget http://cn2.php.net/distributions/php-5.3.28.tar.gz
[rootyong src]# tar -zxvf php-5.3.28.tar.gz 2、编译php源码包配置选项参数 [rootyong php-5.3.28]# ./configure --prefix/usr/local/php --with-apxs2/usr/local/apache2/bin/apxs --with-config-file-path/usr/local/php/etc --with-mysql/usr/local/mysql --with-libxml-dir --with-gd --with-jpeg-dir --with-png-dir --with-freetype-dir --with-iconv-dir --with-zlib-dir --with-bz2 --with-openssl --with-mcrypt --enable-soap --enable-gd-native-ttf --enable-mbstring --enable-sockets --enable-exif --disable-ipv6 执行完成后最后几行报错提示perl没有安装apxs没有找到apache没有建立 Sorry, I cannot run apxs. Possible reasons follow: 1. Perl is not installed 2. apxs was not found. Try to pass the path using --with-apxs2/path/to/apxs 3. Apache was not built using --enable-so (the apxs usage page is displayed) The output of /usr/local/apache2/bin/apxs follows: ./configure: /usr/local/apache2/bin/apxs: /replace/with/path/to/perl/interpreter: bad interpreter: No such file or directory configure: error: Aborting 这里先安装perl [rootlocalhost php-5.3.28]# yum install -y perl 安装perl之后再次运行./configure还是报同样的错误 perl已经安装成功apxs也是存在的其实真正的原因是apxs无法运行 没有安装perl的情况下编译安装apache生成apxs的第一行是: #!/replace/with/path/to/perl/interpreter -w #!/replace/with/path/to/perl/interpreter 因为这个文件是不存在的所以不能运行apxs 使用apxs需要安装perl因为apxs使用的perl脚本 修改配置文件/usr/local/apache2/bin/apxs 的第一行内容 修改成#!/usr/bin/perl -w 保存退出 建议在安装apache之前先安装perl就不会出现此错误。 再次执行./configure 这一步又出现下面的错误 configure: error: xml2-config not found. Please check your libxml2 installation. 需要安装libxml2-devel包 [rootyong php-5.3.28]# yum install -y libxml2-devel 安装完成后再次执行./configure 这一步又出现下面的错误 configure: error: Cannot find OpenSSLs evp.h 需要安装openssl-devel包 [rootyong php-5.3.28]# yum install -y openssl-devel 安装完成后再次执行./configure 这一步又出现下面的错误 configure: error: Please reinstall the BZip2 distribution 需要安装bzip2-devel包 [rootyong php-5.3.28]# yum install -y bzip2-devel 再次执行./configure 这一步又出现下面的错误 configure: error: jpeglib.h not found. 需要安装libjpeg-devel包 [rootyong php-5.3.28]# yum install -y libjpeg-devel 再次执行./configure 这一步又出现下面的错误 configure: error: png.h not found. 需要安装libpng-devel包 [rootyong php-5.3.28]# yum install -y libpng libpng-devel 再次执行./configure 这一步又出现下面的错误 If configure fails try --with-xpm-dirDIR configure: error: freetype.h not found. 需要安装freetype-devel包 [rootyong php-5.3.28]# yum install -y freetype-devel 再次执行./configure 这一步又出现下面的错误 configure: error: mcrypt.h not found. Please reinstall libmcrypt. 需要安装libmcrypt-devel包 [rootyong php-5.3.28]# yum install -y libmcrypt-devel
已加载插件fastestmirror
设置安装进程
Loading mirror speeds from cached hostfile* base: mirrors.aliyun.com* extras: mirrors.pubyun.com* updates: mirrors.pubyun.com
No package libmcrypt-devel available.
错误无须任何处理 因为centos6.X 默认yum源没有libmcrypt-devel这个包需要借助第三方源rpm安装epel源 rpm -ivh http://www.aminglinux.com/bbs/data/attachment/forum/month_1211/epel-release-6-7.noarch.rpm epel源安装完成后再次执行# yum install -y libmcrypt-devel 再次执行./configure 终于不再出现错误提示出现了欢迎使用界面。 3、make编译编译完成后使用echo $? 查看make命令是否执行成功成功返回值为0不成功则为非0 [rootyong php-5.3.28]# make
[rootyong php-5.3.28]# echo $?
0 3、make install安装完成后使用echo $? 查看make install命令是否执行成功成功返回值为0不成功则为非0 [rootyong php-5.3.28]# make install
[rootyong php-5.3.28]# echo $?
0 apache结合php测试环境 Apache的主配置文件为/usr/local/apache2/conf/httpd.conf 需要编辑配置文件 [rootyong php-5.3.28]# vim /usr/local/apache2/conf/httpd.conf 找到这一行AddType application/x-gzip .gz .tgz 在该行下面添加AddType application/x-httpd-php .php 找到 IfModule dir_module DirectoryIndex index.html /IfModule 修改中间的行改为 IfModule dir_module DirectoryIndex index.html index.htm index.php /IfModule 找到#ServerName www.example.com:80 修改为ServerName localhost:80 测试LAMP是否成功 启动apache之前先检验配置文件是否正确正确显示Syntax OK如果有错误需要修改httpd.conf配置文件 [rootyong php-5.3.28]# /usr/local/apache2/bin/apachectl -t
Syntax OK
[rootyong php-5.3.28]# /usr/local/apache2/bin/apachectl start 查看apache是否启动 [rootyong php-5.3.28]# netstat -lnp |grep httpd
tcp 0 0 :::80 :::* LISTEN 3802/httpd 使用curl命令简单测试显示如下为正确。 [rootyong php-5.3.28]# curl localhost
htmlbodyh1It works!/h1/body/html 测试是否正确解析phpphp的路径地址为/usr/local/apache2/htdocs/,新建一个1.php做测试 [rootyong php-5.3.28]# vim /usr/local/apache2/htdocs/1.php
?phpecho php解析正常ok;echo \n;
? \n的作用是回车echo后面需要加分号保存退出后继续使用curl测试 [rootyong php-5.3.28]# curl localhost/1.php
php解析正常 解析php出错如下图原因是修改完apache配置文件后需要重启服务执行命令 /usr/local/apache2/bin/apachectl graceful 重启之后恢复正常 [rootlocalhost php-5.3.28]# curl localhost/1.php
php解析正常ok localhost相当于本地的域名和本地环回地址和本地ip地址一样的效果 curl http://127.0.0.1/1.php curl http://192.168.20.20/1.php 也可以在网页输入http://192.168.20.20/1.php 整个LAMP环境搭建完毕实际环境中使用的版本可能有差异大部分过程一样仅作参考有任何疑问可以互相探讨。