一、在一个服务器上实现
1.安装源
链接: https://pan.baidu.com/s/1eSMrknK 密码: 5ccz
二、httpd编译安装
详细解释参考我的这篇博客
1.编译、安装
tar xf apr-1.6.2.tar.gz
tar xf apr-util-1.6.0.tar.gz
tar xf httpd-2.4.28.tar.gz
mv apr-1.6.2 httpd-2.4.28/srclib/apr
mv apr-util-1.6.0 httpd-2.4.28/srclib/apr-util
cd httpd-2.4.28/
yum groupinstall Development\ tools
yum install openssl-devel expat-devel pcre-devel libxml2-devel libmcrypt-devel bzip2-devel php-common php-mysql
./configure --prefix=/app/httpd24 --enable-so --enable-ssl --enable-cgi --enable-rewrite --with-zlib --with-pcre --with-included-apr --enable-modules=most --enable-mpms-shared=all --with-mpm=prefork
make && make install
2.配置文件
echo "PATH=/app/http24/bin:$PATH" >> /etc/profile.d/newvar.sh
3.服务配置
在别的主机找一份httpd的服务脚本改改放到/etc/init.d目录下
修改下面4行
apachectl=/app/httpd24/bin/apachectl
httpd=${HTTPD-/app/httpd24/bin/httpd}
pidfile=${PIDFILE-/app/httpd24/logs/httpd.pid}
lockfile=${LOCKFILE-/var/lock/subsys/httpd24}
mv httpd /etc/init.d/httpd24
chkconfig --add httpd24
chkconfig httpd24 on
service httpd24 start
三、二进制安装maria5.5.57
1.解压到指定目录
tar xf mariadb-5.5.57-linux-x86_64.tar.gz -C /usr/local/
mv /usr/local/mariadb-5.5.57-linux-x86_64/ /usr/local/mysql
2.创建需要的用户和日志、数据库、配置文件
#创建用户
useradd -r -d /var/lib/mysql -m -s /sbin/nologin mysql
#创建数据库文件
cd /usr/local/mysql
scripts/mysql_install_db --user=mysql --datadir=/var/lib/mysql/
#创建配置文件
mkdir /etc/mysql/
cp support-files/my-huge.cnf /etc/mysql/my.cnf
#修改配置文件
sed -r -i.bak "/^\[mysqld\]/s#.*#[mysqld] \n datadir = /var/lib/mysql \n innodb_file_per_table = on \n skip_name_resolve = on#" /etc/mysql/my.cnf
#创建日志文件
touch /var/log/mysqld.log
chown mysql:mysql /var/log/mysqld.log
3.服务脚本
cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld
4.修改PATH变量
vim /etc/profile.d/newvar.sh
PATH=/usr/local/mysql/bin:$PATH
5.开启服务、运行安全脚本
service mysqld start
mysql_secure_installation
四、php安装
1.安装
tar xf php-5.6.31.tar.xz
./configure --prefix=/app/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 --enable-fpm --with-mcrypt --with-config-file-path=/etc/php/ --with-config-file-scan-dir=/etc/php.d --with-bz2
make && make install
2.php.ini配置文件
#~/src/php-5.6.31/是源码包解压后的路径
cp ~/src/php-5.6.31/php.ini-production /app/php/etc/php.ini
3.php-fpm.conf配置文件
cd /app/php/etc/
cp php-fpm.conf.default php-fpm.conf
4.php服务脚本
#~/src/php-5.6.31/是源码包解压后的路径
cp /src/php-5.6.31/sapi/fpm/init.d.php-fpm /etc/init.d/php-fpm
chmod u+x /etc/init.d/php-fpm
chkconfig --add php-fpm
chkconfig php-fpm on
service php-fpm start
五、连接httpd和php和mysql
1.httpd配置
vim php-fpm.conf
LoadModule proxy_module modules/mod_proxy.so
LoadModule proxy_fcgi_module modules/mod_proxy_fcgi.so
AddType application/x-httpd-php .php
AddType application/x-httpd-php-source .phps
DirectoryIndex index.php
ProxyRequests Off
ProxyPassMatch ^/(.*\.php)$ \
fcgi://127.0.0.1:9000/app/httpd24/htdocs/$1
#php在本机,就写127.0.0.1;
#php文件准备放到/app/httpd24/htdocs/下,就写app/httpd24/htdocs/
2.php配置
如果php和httpd不在一个主机,就需要修改php-fpm.conf
listen = 9000
listen.allowed_clients = httpd服务器IP
如果php和httpd在一个主机,就不需要更改,默认就是127.0.0.1
3.mysql配置
#创建一个让php程序使用的数据库和用户
create database php;
grant all on php.* to php@'%' IDENTIFIED BY 'centos';
FLUSH PRIVILEGES;
注意:
1.httpd安装必须首先安装
yum groupinstall Development\ tools
yum install openssl-devel expat-devel pcre-devel
2.php安装必须首先安装
yum -y install libxml2-devel libmcrypt-devel bzip2-devel php-common php-mysql