LAMP:Linux Apache Mysql PHP
接下来编译安装Mysql、Httpd(Apache)、PHP 及安装xcache 在同一台机器上
一、编译安装Mysql
1 下载源包 mysql-5.5.33-linux2.6-x86_64.tar.gz
2 解压包到指定路径/usr/local
# tar xf mysql-5.5.33-linux2.6-x86_64.tar.gz -C /usr/local # ln -sv /usr/local/mysql-5.5.33-linux2.6-x86_64 mysql 创建软连接
3 准备生产环境中的数据库备份卷
创建10G分区 #fdisk /dev/sda8
创建物理卷 #pvcreate /dev/sda8 创建卷组 #vgcreate myvg /dev/sda8 创建逻辑卷 #lvcreate -L 8G -n mydata myvg 格式化逻辑卷 #mke2fs -t ext4 /dev/myvg/mydata
设置开机自动挂载
# vim /etc/fstab
创建逻辑卷挂载目录 #mkdir /mydata 创建mysql数据存放目录 #mkdri -pv /mydata/data
4 新建用户以安全方式运行进程
#groupadd -r mysql 创建系统组mysql #useradd -r -s /sbin/nologin -g mysql mysql -M -D /mydata/data mysql 创建系统用户mysql #chown -R mysql:mysql /mydata/data 设置目录属主属组
5 安装并初始化mysql
# cd /usr/local/mysql # scripts/mysql_install_db --datadir=/mydata/data --user=mysql 初始化数 据库 # chown -R root . 设置当前目录所有文件属主为root
#cd /usr/local/mysql #cp support-files/mysql.server /etc/rc.d/init.d/mysqld 设置脚本mysqld #chmod +x /etc/rc.d/init.d/mysqld 给脚本执行权限
7 提供mysql脚本对应的配置文件
#cd /usr/local/mysql #cp support-files/my-large.cnf /etc/my.cnf
更改/etc/my.cnf参数
8 启动服务
查看端口
匿名登录mysql后设置登陆密码
查看数据库信息,选择数据库
之后可以进行增、删、改、查
二、 编译安装httpd
1 下载源码包 httpd-2.4.9.tar.bz2
2 解压后安装编译
#tar xf httpd-2.4.9.tar.bz2 解压缩 #cd httpd-2.4.9 #./configure --prefix=/usr/local/apache --sysconfdir =/etc/httpd --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 配置编译属性 #make && make install 编译并安装
./configure 特殊选项解析
--enable-so 开启模块加载功能
--enable-rewrite 开启重写功能
--enable-zlib 开启压缩功能
--enable-modules=most 开启大部分模块
--enable-mpms-shared=all 开启动态模块加载功能;使用LoadMudle指令来改变MPM,
无需重新构建
--with-mpm=event 开启静态模块event模块;如果更改需要重新构建
3 修改httpd的主配置文件
#vim /etc/httpd/httpd.conf
4 配置httpd服务脚本
# vim /etc/rc.d/init.d/httpd 创建httpd服务脚本
脚本内容参照附件
# chkconfig --add httpd 添加httpd为系统服务 # chkconfig httpd on 设置httpd服务开机启动 # chkconfig --list httpd 查看httpd服务启动状态
检测80端口
启动服务
三、 编译安装PHP,将php当作httpd的模块的方式安装在httpd上,从而实现php与httpd通信
(以当作httpd模块的方式安装php 仅限于两者同属于一台机上,如果php与httpd分属不同的服 务器则使用另一种方式fastcgi,后面会讲到以fastcgi的方式实现PHP与httpd通信)
1 获得php-5.4.26源包
2 配置本地yum源和epel源
启用epel源 #rpm -ivh http://download.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm 导入key #rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-6
安装PHP依赖的包组“Desktop Platform Development” bizp2-devel 和libmcrypt-devel
# yum -y install bzip2-devel # yum -y install libmcrypt-devel # yum -y groupinstall "Desktop Platform Development"
3 编译安装php-5.4.26源包
# tar xf php-5.4.26.tar.bz2 # cd /php-5.4.26 # ./configure --help 查看编译特性 # --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 # make && make install 编译并安装
./configure 参数解析
--prefix=/usr/local/php 设置php安装路径 --with-mysql/usr/local/mysql 提供mysql支持 --with-openssl 开启openssl支持 --with-mysqli=/usr/local/mysql/bin/mysql_config 提供mysql命令配置路径 --enable-mbstring 打开多字节 --with-jpeg-dir 指定jpeg图片路径 --wiht-zlib 开启文件压缩 --enable-sockets 开启套接字 --enable-maintainer-zts 开启支持apache的event和worker两个模块
4 编辑php配置文件(/etc/php.ini)
# vim/etc/php.ini
5 编辑apache配置文件,从而让apache支持php
编辑/etc/httpd/httpd.conf配置文件 (1)添加支持php格式 AddType application/x-httpd-php .php AddType application/x-httpd-php-source .phps (2)设置DirectoryIndex DirectoryIndex index.php index.html
如图
6 创建一个php测试网页,测试php与apache通信
# vim /usr/local/apache/htdocs/index.php
①本机测试 #elinks http://127.0.0.1
②局域网主机browser:127.0.0.1
====================成功测试php作为apache模块的方式与其通信成功!!======================
7 测试php与mysql通信
① mysql授权用户
‘
#mysql -uroot -hlocalhost -p 输入密码123456 #use mysql; 使用mysql数据库 #show tables; 查看所有表 #select user,host,password from user; 查看user表中的用户、主机和密码信息 #grant all on mysql.user to 'tom'@'127.0.0.1''123456'; 授权ip为127.0.0.1的tom用户能够访问mysql数据库的user表,密码为123456 #flush privileges 通知mysql重读授权表 #\q; 退出
② 创建index.php测试网页
#vim /usr/local/apache/htdocs/index.php
③ 客户端测试
php与mysql通信!!!
关于apache mysql php 编译安装已完成,三者之间通过套接字通信已完成。
关于xcache加速php下次推出,敬请期待~
PS:技术有限,望过往大神提出宝贵意见