Centos6和Centos7上安装LAMP(PHP-FPM模式、编译安装)

前端之家收集整理的这篇文章主要介绍了Centos6和Centos7上安装LAMP(PHP-FPM模式、编译安装)前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

@H_403_1@-------------------------实验:CentOS 7安装LAMP(PHP-FPM模式)-@H_403_1@--------------------

@H_403_1@1、安装PHP-FPM

@H_403_1@首先要卸载PHP: yum remove PHP

@H_403_1@yum install PHP-fpm

@H_403_1@2、 查看PHP-fpm所对应的配置文件

@H_403_1@rpm -ql PHP-fpm

@H_403_1@/usr/lib/systemd/system/PHP-fpm.service

@H_403_1@/etc/logrotate.d/PHP-fpm

@H_403_1@/etc/PHP-fpm.conf

@H_403_1@/etc/PHP-fpm.d

@H_403_1@/etc/PHP-fpm.d/www.conf

@H_403_1@/etc/sysconfig/PHP-fpm

@H_403_1@/run/PHP-fpm

3、PHP-FPM常见配置

vim /etc/PHP-fpm.d/www.conf

@H_403_1@daemonize = no //是否将程序运行在后台

@H_403_1@listen = 127.0.0.1:9000@H_403_1@ //FPM 监听地址(PHP-fpm占用的是9000端口)

@H_403_1@listen.backlog = -1 //等待队列的长度 -1表示无限制

@H_403_1@listen.allowed_clients = 127.0.0.1 //仅允许哪些主机访问【可以用逗号隔开,添加多个地址】

@H_403_1@pm = dynamic //PM开机进程是动态运行还是静态运行

@H_403_1@//static 固定数量的子进程,pm.max_childen

@H_403_1@//dynamic子进程数据以动态模式管理

@H_403_1@pm.start_servers=数字 开机几个进程

@H_403_1@pm.min_spare_servers=# 最少空闲几个进程

@H_403_1@pm.max_spare_servers=# 最多空闲几个进程

@H_403_1@pm.max_requests = 500 最多支持的并发请求

@H_403_1@PHP_value[session.save_handler] = files

@H_403_1@PHP_value[session.save_path] = /var/lib/PHP/session

@H_403_1@//设置session存放位置

@H_403_1@4、 启动PHP-FPM

@H_403_1@systemctl start PHP-fpm

@H_403_1@5、 安装httpd包

@H_403_1@yum install httpd

6、查看Httpd mod_fcgi模块是否加载

httpd -M | grep fcgi

@H_403_1@proxy_fcgi_module (shared)

@H_403_1@7、 添加FCGI的配置文件

@H_403_1@DirectoryIndex index.PHP

@H_403_1@ProxyRequests off //是否开启正向代理

@H_403_1@ProxyPassMatch ^/(.*\.PHP)$

@H_403_1@fcgi://127.0.0.1:9000/var/www/html/$1 //开启FCGI反向代理

@H_403_1@//前面的/相对于后面的/var/www/html而言,后面的$1是指前面的/(.*\.PHP)

@H_403_1@8、 重启Httpd:systemctl start httpd

@H_403_1@--------------------------实验:CentOS7编译安装LAMP@H_403_1@----------------------------

在centos7上编译安装LAMP:

1、

@H_403_1@ mairadb:通用二进制格式,mariadb-5.5.56

@H_403_1@httpd:编译安装,httpd-2.4.25

@H_403_1@PHP5:编译安装,PHP-5.6.30

@H_403_1@PHPMyAdmin:安装PHPMyAdmin-4.4.15.10-all-languages

@H_403_1@Xcache:编译安装xcache-3.2.0

@H_403_1@PHP5.4依赖于mariadb-devel包

@H_403_1@ 顺序:mariadb-->httpd-->PHP

2、二进制安装mariadb

@H_403_1@(1)ftp://172.16.0.1/pub/Source/7.x86_64/mariadb/mariadb-5.5-46-linux-x86_64.tar.gz

@H_403_1@(2) tar xvf mariadb-5.5-46-linux-x86_64.tar.gz -C /usr/local

@H_403_1@(3)cd /usr/local

@H_403_1@ls -sv mariadb-5.5.46-linux-x86_64 MysqL

@H_403_1@(4)cd MysqL

@H_403_1@chown -R root.MysqL ./*

@H_403_1@(5)mkdir /mydata/data -p

@H_403_1@chown -R MysqL.MysqL /mydata/data

@H_403_1@(6)mkdir /etc/MysqL

@H_403_1@ cp support-files/my-large.cnf /etc/MysqL/my.cnf

@H_403_1@vim /etc/MysqL/my.cnf

@H_403_1@[MysqLd]加三行

@H_403_1@datadir =/mydata/data

@H_403_1@innodb_file_per_table = ON

@H_403_1@skip_name_resolve = ON

@H_403_1@(7)bin/MysqLd --help --verbose |less

@H_403_1@(8)scripts/MysqL_install_db --user=MysqL --datadir=/mydata/data

@H_403_1@(9)cp support-files/MysqL.server /etc/rc.d/init.d/MysqLd

@H_403_1@(10)chkconfig --add MysqLd

@H_403_1@service MysqLd start

@H_403_1@(11)测试

@H_403_1@/usr/local/MysqL/bin/MysqL 测试是否成功

@H_403_1@ vim /etc/profile.d/MysqL.sh

@H_403_1@export PATH=/usr/local/MysqL/bin/:$PATH

3、 编译安装httpd-2.4

@H_403_1@ (1)yum install pcre-devel apr-devel apr-util-devel openssl-devel

@H_403_1@(2)./configure --prefix=/app/httpd24 --

@H_403_1@sysconfdir=/etc/httpd24 --enable-so --enable-ssl --

@H_403_1@enable-rewrite --with-zlib --with-pcre --withapr=/usr

@H_403_1@--with-apr-util=/usr --enable-modules=most

@H_403_1@--enable-mpms-shared=all --with-mpm=prefork

@H_403_1@(3)make -j 4 && make install

4、编译安装PHP-5.6

@H_403_1@相关包:

@H_403_1@(1)libxml2-devel bzip2-devel libmcrypt-devel (epel)

@H_403_1@(2) ./configure --prefix=/app/PHP --withMysqL=/usr/local/MysqL

@H_403_1@--with-openssl --withMysqLi=/usr/local/MysqL/bin/MysqL_config

@H_403_1@--enablembstring

@H_403_1@--with-png-dir --with-jpeg-dir --withfreetype-dir

@H_403_1@--with-zlib --with-libxml-dir=/usr --

@H_403_1@enable-xml --enable-sockets --withapxs2=/app/httpd24/bin/apxs

@H_403_1@--with-mcrypt --withconfig-file-path=/etc

@H_403_1@--with-config-file-scandir=/etc/PHP.d

@H_403_1@--with-bz2

@H_403_1@(3) make -j 4 && make install

5、编译安装PHP-7.1.7

@H_403_1@(1) ./configure --prefix=/app/PHP --enable-MysqLnd --

@H_403_1@with-MysqLi=MysqLnd --with-openssl --with-pdoMysqL=MysqLnd

@H_403_1@--enable-mbstring --with-freetype-dir

@H_403_1@--with-jpeg-dir --with-png-dir --with-zlib --withlibxml-dir=/usr

@H_403_1@--enable-xml --enable-sockets --

@H_403_1@with-apxs2=/app/httpd24/bin/apxs --with-mcrypt --

@H_403_1@with-config-file-path=/etc --with-config-file-scandir=/etc/PHP.d

@H_403_1@--enable-maintainer-zts --disablefileinfo

@H_403_1@注意:PHP-7.0以上版本使用--enable-MysqLnd --withMysqLi=MysqLnd,原--with-MysqL不再支持

@H_403_1@(2)为PHP提供配置文件

@H_403_1@cp PHP.ini-production /etc/PHP.ini

@H_403_1@(3) 编辑apache配置文件httpd.conf,以使apache支持PHP

@H_403_1@vim /etc/httpd24/conf/httpd.conf

@H_403_1@a.加二行

@H_403_1@AddType application/x-httpd-PHP .PHP

@H_403_1@AddType application/x-httpd-PHP-source .PHPs

@H_403_1@b.定位至DirectoryIndex index.html

@H_403_1@修改为DirectoryIndex index.PHP index.html

@H_403_1@(4) apachectl restart

----------------------centos6上编译安装LAMP------------------------------

@H_403_1@mairadb:通用二进制格式,mariadb-5.5.56

@H_403_1@ httpd:编译安装,httpd-2.4.27

@H_403_1@ PHP5:编译安装,PHP-5.6.30

@H_403_1@ wordpress: 安装wordpress-4.8-zh_CN.tar.gz

@H_403_1@ Xcache:编译安装xcache-3.2.0

@H_403_1@ PHP5.4依赖于mariadb-devel包

@H_403_1@ 实现顺序:mariadb-->httpd-->PHP

@H_403_1@(1)编译httpd和二进制安装mariadb

@H_403_1@ 安装相关包

@H_403_1@bzip2-devel libxml2-devel libmcrypt-devel(epel源)

@H_403_1@(2)编译安装PHP

@H_403_1@ cd PHP-5.6.30/

@H_403_1@./configure --prefix=/app/PHP5 --withMysqL=/usr/local/MysqL

@H_403_1@--with-openssl --withMysqLi=/usr/local/MysqL/bin/MysqL_config

@H_403_1@--enablembstring

@H_403_1@--with-freetype-dir --with-jpeg-dir --

@H_403_1@with-png-dir --with-zlib --with-libxml-dir=/usr --

@H_403_1@enable-xml --enable-sockets --enable-fpm --withmcrypt

@H_403_1@--with-config-file-path=/etc/PHP5 --withconfig-file-scan-dir=/etc/PHP5.d

@H_403_1@--with-bz2

@H_403_1@(3) make -j 4 && make install

@H_403_1@(4)实现PHP配置文件和服务脚本

@H_403_1@mkdir /etc/PHP5 /etc/PHP5.d/

@H_403_1@cd PHP-5.6.30/

@H_403_1@cp PHP.ini-production /etc/PHP5/PHP.ini

@H_403_1@cp sapi/fpm/init.d.PHP-fpm /etc/rc.d/init.d/PHP-fpm

@H_403_1@chmod +x /etc/rc.d/init.d/PHP-fpm

@H_403_1@chkconfig --add PHP-fpm

@H_403_1@chkconfig --list PHP-fpm

@H_403_1@(5)编辑PHP配置文件

@H_403_1@ cd /app/PHP5/etc

@H_403_1@cp PHP-fpm.conf.default PHP-fpm.conf

@H_403_1@vim /app/PHP5/etc/PHP-fpm.conf

@H_403_1@pm.max_children = 50

@H_403_1@pm.start_servers = 5

@H_403_1@pm.min_spare_servers = 2

@H_403_1@pm.max_spare_servers = 5 和pm.start_servers一致

@H_403_1@pid = /app/PHP5/var/run/PHP-fpm.pid

@H_403_1@(6) service PHP-fpm restart

@H_403_1@(7)修改httpd24的配置文件

@H_403_1@ vim /app/apache24/conf/httpd.conf

@H_403_1@说明:启用httpd的相关模块

@H_403_1@在Apache httpd 2.4以后已经专门有一个模块针对FastCGI的实现,此模块为mod_proxy_fcgi.so,它其实是作为mod_proxy.so模块的扩充,因此,这两个模块都要加载去掉下面两行注释

@H_403_1@LoadModule proxy_module modules/mod_proxy.so

@H_403_1@LoadModule proxy_fcgi_module

@H_403_1@modules/mod_proxy_fcgi.so

@H_403_1@(8)添加如下二行

@H_403_1@AddType application/x-httpd-PHP .PHP

@H_403_1@AddType application/x-httpd-PHP-source .PHPs

@H_403_1@(9)定位至DirectoryIndex index.html修改为:

@H_403_1@DirectoryIndex index.PHP index.html

@H_403_1@加下面两行

@H_403_1@ProxyRequests Off 关闭正向代理

@H_403_1@ProxyPassMatch ^/(.*\.PHP)$

@H_403_1@fcgi://127.0.0.1:9000/app/httpd24/htdocs/$1

@H_403_1@service httpd24 restart

@H_403_1@(10)测试

@H_403_1@vim /app/httpd24/htdocs/index.PHP

@H_403_1@如下:

@H_403_1@<?PHP

@H_403_1@$link =

@H_403_1@MysqL_connect('127.0.0.1','root','magedu');

@H_403_1@if ($link)

@H_403_1@echo "Success...";

@H_403_1@else

@H_403_1@echo "Failure...";

@H_403_1@MysqL_close();

@H_403_1@PHPinfo();

@H_403_1@?>

猜你在找的CentOS相关文章