欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

lnmp:php安装步骤详情

程序员文章站 2022-04-14 10:57:52
一.php是什么? PHP(外文名:PHP: Hypertext Preprocessor,中文名:“超文本预处理器”)是一种通用开源脚本语言。语法吸收了...
一.php是什么?

PHP(外文名:PHP: Hypertext Preprocessor,中文名:“超文本预处理器”)是一种通用开源脚本语言。语法吸收了C语言、Java和Perl的特点,利于学习,使用广泛,主要适用于Web开发领域。PHP 独特的语法混合了C、Java、Perl以及PHP自创的语法。它可以比CGI或者Perl更快速地执行动态网页。用PHP做出的动态页面与其他的编程语言相比,PHP是将程序嵌入到HTML(标准通用标记语言下的一个应用)文档中去执行,执行效率比完全生成HTML标记的CGI要高许多;PHP还可以执行编译后代码,编译可以达到加密和优化代码运行,使代码运行更快。

二.安装前准备:

1.可去php官网php.net下载合适的php版本。

三.下面开始安装:

解压下载安装包

# tar -zxvf php-5.6.29.tar.gz

# cd php-5.6.29

./configure --prefix=/usr/local/php --enable-mbstring --with-mcrypt --with-mhash --enable-fpm

make && make install

2.下面开始配置:

# cd /usr/local/php/etc

# 需要对目录下的php-fpm配置文件备份并且编辑配置

# cp php-fpm.conf.default php-fpm.conf

# vim php-fpm.conf

#去掉下列变量前面的注释,以避免启动php-fpm时报错

pm.start_servers = 20

pm.min_spare_servers = 5

pm.max_spare_servers = 35

pm.max_requests = 500

:wq 保存 退出

3.整合安装好的nginx和php

# vim /usr/local/nginx/conf/nginx.conf

location / {

root /data/nginxwebs; #项目目录

index index.html index.htm index.php; #在原来基础上增加解析index.php

}

location ~ /.php$ {

root html;

fastcgi_pass 127.0.0.1:9000;

fastcgi_index index.php;

fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;

include fastcgi_params;

}

4.重启nginx以及php进行访问 。

1)重启nginx:/usr/local/nginx/sbin/nginx -s reload

2)重启php /usr/local/php/sbin/php-fpm

#以下为本次安装中的报错解决:

1.Error: mcrypt.h not found. Please reinstall libmcrypt ?

yum install php-mcrypt libmcrypt libmcrypt-devel

2.还有其他的依赖库报错需要进行安装(仅供参考)

yum install libxml2-devel

yum install curl curl-devel

## php-fpm ?

1.PHP-FPM是一个PHPFastCGI管理器,是只用于PHP的.

2.相对Spawn-FCGI,PHP-FPM在CPU和内存方面的控制都更胜一筹,而且前者很容易崩溃,必须用crontab进行监控,而PHP-FPM则没有这种烦恼。

3.PHP-FPM提供了更好的PHP进程管理方式,可以有效控制内存和进程、可以平滑重载PHP配置,比spawn-fcgi具有更多优点,所以被PHP官方收录了。

4.在./configure的时候带 –enable-fpm参数即可开启PHP-FPM。

=============使用PHP-FPM来控制PHP-CGI的FastCGI进程==================

/usr/local/php/sbin/php-fpm{start|stop|quit|restart|reload|logrotate}

--start 启动php的fastcgi进程

--stop 强制终止php的fastcgi进程

--quit 平滑终止php的fastcgi进程

--restart 重启php的fastcgi进程

--reload 重新平滑加载php的php.ini

--logrotate 重新启用log文件