一.LAMP简介
LAMP 是Linux Apache MySQL PHP的简写,其实就是把Apache, MySQL以及PHP安装在Linux系统上,组成一个环境来运行php的脚本语言。LAMP是世界排名第一的Web服务器,非常流行。
二.系统环境和软件版本
1.系统:虚拟机下的 CentOS-6.5 32位 minimal
[root@localhost ~]# cat /etc/issue
CentOS release 6.5 (Final)
Kernel \r on an \m
[root@localhost ~]# uname -a
Linux localhost.localdomain 2.6.32-431.el6.i686 #1 SMP Fri Nov 22 00:26:36 UTC 2013 i686 i686 i386 GNU/Linux
2.iptables关闭、selinux关闭(下面为临时关闭,也可以永久关闭);
[root@localhost ~]# iptables -F
[root@localhost ~]# setenforce 0
三、安装过程
(一).安装mysql
1.准备数据存放的磁盘空间,如果要存放的数据很多的话,可以单独准备一个大的硬盘挂载到某个目录下面,这里我们添加一个5G的硬盘,挂载到根目录下的/mysqldata
[root@localhost /]# df
Filesystem 1K-blocks Used Available Use% Mounted on
/dev/sda3 18423556 1016440 16471232 6% /
tmpfs 515264 0 515264 0% /dev/shm
/dev/sda1 198337 24976 163121 14% /boot
/dev/sdb1 5154852 141304 4751692 3% /mysqldata
2.创建mysql使用的系统用户mysql
[root@localhost /]# useradd -r -s /sbin/nologin -M -d /mysqldata/mydata/ mysql
[root@localhost /]# chown -R mysql:mysql /mysqldata
3.安装并初始化mysql-5.5.28
[root@localhost ~]# yum install -y wget #安装wget
[root@localhost ~]# cd /usr/local/src/
[root@localhost src]# wget
[root@localhost src]# tar -zxvf mysql-5.1.40-linux-i686-icc-glibc23.tar.gz
[root@localhost src]# mv mysql-5.1.40-linux-i686-icc-glibc23 ../mysql
[root@localhost src]# cd ../mysql/
[root@localhost mysql]# chown -R mysql:mysql .
[root@localhost mysql]# ./scripts/mysql_install_db --user=mysql --datadir=/mysqldata/mydata/
Installing MySQL system tables...
OK
Filling help tables...
OK
...... #看到两个OK即成功初始化
[root@localhost mysql]# chown -R root .
4.拷贝配置文件
[root@localhost mysql]# cp support-files/my-large.cnf /etc/my.cnf
cp:是否覆盖"/etc/my.cnf"? y
[root@localhost mysql]# yum install -y vim-enhanced #安装vim文本编辑器
vim /etc/my.cnf 并修改此文件中thread_concurrency的值为你的CPU个数乘以2,比如这里使用如下行:
thread_concurrency = 2
另外还需要添加如下行指定mysql数据文件的存放位置:
datadir = /mysqldata/mydata
5.为mysql提供sysv服务脚本
[root@localhost mysql]# cp support-files/mysql.server /etc/init.d/mysqld
[root@localhost mysql]# chmod 755 /etc/init.d/mysqld
[root@localhost mysql]# vim /etc/init.d/mysqld
需要修改 “datadir=/mysqldata/mydata”
[root@localhost mysql]# chkconfig --add mysqld
[root@localhost mysql]# chkconfig mysqld on
[root@localhost mysql]# service mysqld start
[root@localhost mysql]# ps aux |grep mysqld #查看是否启动
root 1321 0.0 0.1 3044 1312 pts/0 S 22:02 0:00 /bin/sh ./bin/mysqld_safe --datadir=/mysqldata/mydata --pid-file=/mysqldata/mydata/localhost.localdomain.pid
mysql 1433 1.1 4.2 381608 43512 pts/0 Sl 22:02 0:00 /usr/local/mysql/bin/mysqld --basedir=/usr/local/mysql --datadir=/mysqldata/mydata --user=mysql --log-error=/mysqldata/mydata/localhost.localdomain.err --pid-file=/mysqldata/mydata/localhost.localdomain.pid --socket=/tmp/mysql.sock --port=3306
root 1446 0.0 0.0 5980 748 pts/0 S+ 22:02 0:00 grep mysqld
6.创建用户并授权
[root@localhost ~]# cd /etc/profile.d/
[root@localhost profile.d]# vim mysql.sh
export echo PATH=$PATH:/usr/local/mysql/bin #增加一行并保存,然后推出终端重新登录即可使用mysql命令
[root@localhost ~]# mysql
mysql> set password for ‘root‘@‘localhost‘ = password(‘123456‘); #为root用户设置密码
mysql> use mysql
Database changed
mysql> delete from user where user=‘‘; #删除匿名用户
mysql> select host,user from user;
+-----------------------+------+
| host | user |
+-----------------------+------+
| 127.0.0.1 | root |
| localhost | root |
| localhost.localdomain | root |
+-----------------------+------+
3 rows in set (0.00 sec)
mysql> create database lamp;
mysql> grant all privileges on lamp.* to ‘lamp‘@‘%‘ identified by ‘123456‘; #创建lamp数据库并授权给用户lamp
mysql> flush privileges;
mysql> \q
[root@localhost ~]# mysql -ulamp -p123456 #测试刚刚创建的用户
mysql>
mysql安装完毕
(二).安装httpd
centos6 yum安装的apr版本已经不适用httpd-2.4版本了。所以,需要源码编译apr以及apr-util
[root@localhost ~]# yum install -y gcc #安装编译器
[root@localhost src]# wget http://mirrors.cnnic.cn/apache/apr/apr-1.5.1.tar.bz2
[root@localhost src]# wget http://mirrors.cnnic.cn/apache/apr/apr-util-1.5.4.tar.gz
[root@localhost src]# tar jxvf apr-1.5.1.tar.bz2 #编译安装apr
[root@localhost src]# cd apr-1.5.1
[root@localhost apr-1.5.1]# ./configure --prefix=/usr/local/apr
[root@localhost apr-1.5.1]# make && make install
[root@localhost src]# tar zxvf apr-util-1.5.4.tar.gz #编译安装apr-util
[root@localhost apr-util-1.5.4]# cd apr-util-1.5.4
[root@localhost apr-util-1.5.4]# ./configure --prefix=/usr/local/apr-util --with-apr=/usr/local/apr/
[root@localhost apr-util-1.5.4]# make && make install
下载安装httpd-2.4.12
[root@localhost ~]# yum install pcre-devel -y
[root@localhost ~]# yum install openssl-devel -y
[root@localhost src]# wget
[root@localhost src]# cd httpd-2.4.12
[root@localhost httpd-2.4.12]# ./configure --prefix=/usr/local/apache --enable-so --enable-ssl --enable-cgi --enable-rewrite --with-zlib --with-pcre --with-apr=/usr/local/apr --with-apr-util=/usr/local/apr-util --enable-modules=most --enable-mpms-shared=all --with-mpm=event
[root@localhost httpd-2.4.12]#make && make install
启动httpd
[root@localhost httpd-2.4.12]# vim /usr/local/apache/conf/httpd.conf
修改ServerName为:ServerName localhost:80
[root@localhost httpd-2.4.12]# /usr/local/apache/bin/apachectl start #启动httpd
[root@localhost httpd-2.4.12]# curl localhost #测试
<html><body><h1>It works!</h1></body></html>
到局域网的其他电脑上,打开浏览器,输入主机的IP,显示It Works !即成功安装了httpd !
(三).安装PHP
[root@localhost src]# wget http://us1.php.net/distributions/php-5.6.7.tar.bz2
[root@localhost src]# tar -jxvf php-5.6.7.tar.bz2
[root@localhost src]# cd php-5.6.7
[root@localhost php-5.6.7]# yum install -y libxml2-devel
[root@localhost php-5.6.7]# yum install -y bzip2 bzip2-devel
[root@localhost php-5.6.7]# wget #这里需要安装第三方的yum源,默认的yum源里面没有libmcrypt-devel,这里先下载
[root@localhost php-5.6.7]# rpm -ivh epel-release-6-8.noarch.rpm #安装
[root@localhost php-5.6.7]# yum install -y libmcrypt-devel
[root@localhost php-5.6.7]# ./configure --prefix=/usr/local/php --with-mysql=/usr/local/mysql --with-openssl --with-mysqli=/usr/local/mysql/bin/mysql_config --enable-mbstring --with-freetype-dir --with-jpeg-dir --with-png-dir --with-zlib --with-libxml-dir=/usr --enable-xml --enable-sockets --with-apxs2=/usr/local/apache/bin/apxs --with-mcrypt --with-config-file-path=/etc --with-config-file-scan-dir=/etc/php.d --with-bz2 --enable-maintainer-zts
[root@localhost httpd-2.4.12]#make && make install
[root@localhost php-5.6.7]# cp php.ini-production /usr/local/php/etc/php.ini
(四).apache结合PHP
[root@localhost php-5.6.7]# vim /usr/local/apache/conf/httpd.conf
#1、添加如下二行
AddType application/x-httpd-php .php
AddType application/x-httpd-php-source .phps
#2、定位至DirectoryIndex index.html
# 修改为:
DirectoryIndex index.php index.html
#而后重新启动httpd,或让其重新载入配置文件即可测试php是否已经可以正常使用。
[root@localhost php-5.6.7]# /usr/local/apache/bin/apachectl restart
[root@localhost php-5.6.7]# netstat -lnpt |grep httpd
tcp 0 0 :::80 :::* LISTEN 18316/httpd
[root@localhost ~]# vim /usr/local/apache/htdocs/1.php
#添加如下内容,保存
<?php
phpinfo();
?>
#到其他电脑上打开,输入IP/1.php,可以看到php的相关信息的页面。
[root@localhost htdocs]# vim 2.php #自定义一个关于php连接mysql是否成功的测试页面;
<?php
$link = mysql_connect(‘127.0.0.1‘,‘lamp‘,‘password‘);
if ($link)
echo"Success!!!"
else
echo"Failure...."
mysql_close();
?>
#到其他电脑上打开,输入IP/2.php,注意先启用mysqld服务。
(五).安装phpMysqlAdmin
phpMysqlAdmin官网地址:http://www.phpmyadmin.net/home_page/downloads.php
[root@localhost src]# wget
[root@localhost src]# unzip phpMyAdmin-4.4.1.1-all-languages.zip
[root@localhost src]# mv phpMyAdmin-4.4.1.1-all-languages /usr/local/apache/htdocs/pma
#浏览器输入IP/pma 即可进入管理页面
(六).安装xchche,为php加速
[root@localhost xcache-3.2.0]# yum -y install m4 autoconf #安装编译环境
[root@localhost src]# wget
[root@localhost src]# tar -zxvf xcache-3.2.0.tar.gz
[root@localhost src]# cd xcache-3.2.0
[root@localhost xcache-3.2.0]# /usr/local/php/bin/phpize #执行后会生成configure文件
[root@localhost xcache-3.2.0]# ./configure --enable-xcache --with-php-config=/usr/local/php/bin/php-config
[root@localhost xcache-3.2.0]# make && make install
#编辑php.ini,整合php和xcache:
#首先将xcache提供的样例配置导入php.ini
[root@localhost xcache-3.2.0]# cd /etc/
[root@localhost etc]# mkdir php.d
[root@localhost etc]# cp /usr/local/src/xcache-3.2.0/xcache.ini /etc/php.d #说明:xcache.ini文件在xcache的源码目录中。
接下来编辑php.d/xcache.ini,找到extension开头的行,修改为如下行:
extension = /usr/local/php/lib/php/extensions/no-debug-zts-20131226/xcache.so
注意:如果php.ini文件中有多条zend_extension指令行,要确保此新增的行排在第一位。
#到其他电脑上打开,输入IP/1.php,可以看到php的相关信息的页面。页面中有xcache相关的信息即安装成功。
(七).启用服务器状态
mod_status模块可以让管理员查看服务器的执行状态,它通过一个HTML页面展示了当前服务器的统计数据。这些数据通常包括但不限于:
(1) 处于工作状态的worker进程数;
(2) 空闲状态的worker进程数;
(3) 每个worker的状态,包括此worker已经响应的请求数,及由此worker发送的内容的字节数;
(4) 当前服务器总共发送的字节数;
(5) 服务器自上次启动或重启以来至当前的时长;
(6) 平均每秒钟响应的请求数、平均每秒钟发送的字节数、平均每个请求所请求内容的字节数;
启用状态页面的方法很简单,只需要在主配置文件中添加如下内容即可:
<Location /server-status>
SetHandler server-status
Require all granted
</Location>
需要提醒的是,这里的状态信息不应该被所有人随意访问,因此,应该限制仅允许某些特定地址的客户端查看。比如使用Require ip 192.168.16.0/24来限制仅允许指定网段的主机查看此页面。
浏览器输入:IP/server-status 可以看到信息页面。
原文地址:http://onelinux.blog.51cto.com/2179673/1630290