一、编译安装amp:
(1)系统环境:centos6,7
httpd依赖于apr和apr-util
appache protable runtime
(2)开发环境:
Development Tools,Server Platform Development
(3)各程序的版本:
httpd:2.2,2.4
php:5.x
mysql:5.1,5.5,5.6,5.7,5.8
mariadb:5.x,10.x
(4)httpd+php
modules:–with-apxs=
prefork:libphp5.so
worker,event:libphp5-zts.so
fpm:
5.3.3-,手动打上fpm patch;
5..3.3+,自带了fpm,编译时只需要使用–fpm选项;
过程:
先安装am,再安装p
安装MySQL:
预制的二进制程序包:
os vendor:mariadb-devel或mysql-devel;
项目官方提供的
二进制格式的程序包:展包即用;
源代码:编译安装
第一种安装:
(1)yum install mariadb-devel
(2)yum install mariadb-server
假如部署mysql时,将http和mysql安装在不同机器上,那么本台安装http的服务器只需安装好开发环境即可,无需安装mariadb-server.只在另一台上安装mariadb-server即可。
以模块化安装,割裂为两台主机。以fpm安装可以分割为三台主机。
第二种(二进制格式程序安装):
移除mariadb-server 和mariadb-devel
(1)获取tar包,创建mysql用户和组
(2) tar xf mariadb-5.5.46-linux-x86_64.tar.gz -C /usr/local
(3)ln -sv mariadb-5.5.46-linux-x86_64 mysql
数据库默认存在于data目录下
(4)改权限:chown -R root:mysql ./*
(5)创建存放数据的文件目录mkdir -pv /mydata/data
chown mysql:mysql /mydata/data
(6)scripts/mysql_install_db –help
(7)[root@centos7 mysql]# scripts/mysql_install_db –datadir=/mydata/data –user=mysql
(8)ls /mydata/data/
(9) 配置文件的修改cp support-files/my-large.cnf /etc/my.cnf
修改thread_concurrency = 2
datadir=/mydata/data
skip_name_resolve=ON
innodb_file_per_table=ON
其中2指的是CPU的核心数乘以2.
(10)提供mysql运行的脚本cp support-files/mysql.server /etc/rc.d/init.d/mysqld
chmod +x /etc/rc.d/init.d/mysqld
(11)chkconfig –add mysqld
chkconfig –list
(12)开启服务service mysqld start
(13)vim /etc/profile.d/mysql.sh
(14) . /etc/profile.d/mysql.sh
二、安装httpd-2.4
(1) yum groupinstall "Development Tools" "Server Platform Development"
(2)yum install pcre-devel openssl-devel libevent-devel apr-devel apr-util-devel
(3)./configure –prefix=/usr/local/apache2 –sysconfdir=/etc/httpd –enable-so –enable-cgi –enable-modules=most –enable-mpms-shared=all –with-mpm=prefork –with-zlib –with-apr=/usr –with-apr-util=/usr
(4)make
(5)make install
(6)vim /etc/profile.d/apache.sh
(7) . /etc/profile.d/apache.sh
(8) apachectl start
出现如下报错,原来是/etc/hosts文件中没有写主机信息
网友解决方案:http://www.cnblogs.com/Anker/p/3355039.html
三、安装php5
(1)yum install gd-devel freetype-devel libmcrypt-devel libxml2-devel
(2)./configure –prefix=/usr/local/php –with-mysql –with-openssl –with-mysql=/usr/bin/mysql_config –enable-mbstring –enable-xml –enable-sockets –with-freetype-dir –with-gd –with-libxml-dir=/usr –with-zlib –with-jpeg-dir –with-png-dir –with-mcrypt –with-apx2=/usr/local/apache2/bin/apxs –with-config-file-path=/etc/php.ini –with-config-file-scan-dir=/etc/php.d/
(3)make -J #
(4)make install
(6)cp php.ini-production /etc/php.ini
(7)makedir /etc/php.d/
注意:如果httpd使用线程模型MPM,需要额外的–enable-maintainer-zts选项;
注意:如果要以fpm方式允许php,需要编译时移除–with-apxs选项。
注意:如果独立安装的mysql-server,假设安装在/usr/local/mysql目录下,则需要使用类似如下的.configure命令。
./configure –prefix=/usr/local/php –with-mysql=/usr/local/mysql –with-openssl –with-mysql=/usr/local/bin/mysql/mysql_config –enable-mbstring –enable-xml –enable-sockets –with-freetype-dir -with-gd –with-libxml-dir=/usr –with-png-dir –with-apxs2=/usr/local/apache2/bin/apxs –with-config-file-path=/etc/php.ini –with-config-file-scan-dir=/etc/php.d/
整合php
httpd.conf配置文件中:
AddType application/x-httpd-php.php
DirectoryIndex index.php index.html
原创文章,作者:178babyhanggege,如若转载,请注明出处:http://www.178linux.com/51141