> CentOS > CentOS服务器 > 环境配置 >

centos7.2 安装lnmp环境 (编译安装)

关于php-fpm

nginx本身不能处理PHP,它只是个web服务器,当接收到请求后,如果是php请求,则发给php解释器处理,并把结果返回给客户端。

nginx一般是把请求发fastcgi管理进程处理,fascgi管理进程选择cgi子进程处理结果并返回被nginx。

PHP-FPM是一个PHP FastCGI管理器,是只用于PHP的。

PHP在 5.3.3 之后已经讲php-fpm写入php源码核心了。所以已经不需要另外下载了。

获取PHP下载地址

为什么选择5.6.30这个版本,因为学习,不是研究。诚然,7.0新增了很多PHP的新特性,性能上面也有些提升,如果是研究,倒是可以折腾一番,后面得空再讲7.0的版本以及如何在各个PHP版本之间切换。

打开php的官网:http://php.net/,查看php的版本列表

 

右击,复制链接地址,在远程主机登录,下载该软件(我选的是Australia的主机mirror下载的)

# wget  http://au1.php.net/get/php-5.6.30.tar.gz/from/this/mirror

下载下来的是一个mirror文件,改成我们需要的文件名

 

#mv mirror php-5.6.30.tar.gz

#tar zxvf php-5.6.30.tar.gz

#cd php-5.6.30

 

安装libxml2相关组件

 

#yum install libxml2

#yum install libxml2-devel -y

安装curl相关组件

 

#yum install curl curl-devel

安装libpng相关组件

 

#yum install libpng

#yum install libpng-devel

安装freetype相关组件

 

#yum install freetype-devel

安装libxslt相关组件

#yum install libxslt-devel

 

#yum install openssl openssl-devel

#ln -s /usr/lib64/libssl.so /usr/lib/

 

 

配置安装

进入到目录,我们需要在安装的时候将安装目录配置到/usr/local/php/里

 

#./configure --prefix=/usr/local/php --with-curl --with-freetype-dir --with-gd --with-gettext --with-iconv-dir --with-kerberos --with-libdir=lib64 --with-libxml-dir --with-MySQL --with-mysqli --with-openssl --with-pcre-regex --with-pdo-mysql --with-pdo-sqlite --with-pear --with-png-dir --with-xmlrpc --with-xsl --with-zlib --enable-fpm --enable-bcmath --enable-libxml --enable-inline-optimization --enable-gd-native-ttf --enable-mbregex --enable-mbstring --enable-opcache --enable-pcntl --enable-shmop --enable-soap --enable-sockets --enable-sysvsem --enable-xml --enable-zip

 

好的,当我们看到下面这句话的时候,说明你的php已经配置完成啦!

 

接下来我们只需要编译安装即可完成php的安装

 

#make && make install

看到这句话,表明安装完成!

 

为了保险起见,我们make test一把,看看是否真的成功了。

配置相关

php.ini配置

首先我们需要配置的是php.ini这个文件

安装目录有2个文件:php.ini-development和php.ini-production

php.ini-production 线上版本使用

php.ini-development 开发版本使用

我们选择development进行配置

 

# cp php.ini-development /usr/local/php/lib/php.ini

php-fpm配置

拷贝php-fpm配置文件

 

#cp -R ./sapi/fpm/php-fpm.conf /usr/local/php/etc/php-fpm.conf

拷贝启用文件

#cp -R ./sapi/fpm/php-fpm /etc/init.d/php-fpm(已弃用,详细的见注1)

启动

 

/usr/local/php/sbin/php-fpm

查看php是否启动成功

 

#ps aux | grep php

 

看到这些,表明你的php已经启动成功啦!

重启及关闭

#kill -9 进程号

/usr/local/php/sbin/php-fpm

 

配置Nginx支持PHP

vi /usr/local/nginx/conf/nginx.conf

 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;

             }

 

源码编译Nginx

yum -y install gcc gcc-c++ pcre-devel zlib zlib-devel

cd /usr/src/

wget ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/pcre-8.39.tar.gz

tar zxvf pcre-8.39.tar.gz

wget http://zlib.net/zlib-1.2.11.tar.gz

tar zxvf zlib-1.2.11.tar.gz

第二步:下载Nginx并解压

 wget http://nginx.org/download/nginx-1.11.13.tar.gz

 tar -zxvf ./nginx-1.11.13.tar.gz

 cd nginx-1.11.13

 

第三步:

  ./configure  --prefix=/usr/local/nginx/ --with-pcre=/usr/src/pcre-8.39  --with-zlib=/usr/src/zlib-1.2.11

第四步:

 make && make install

nginx启动方式

/usr/local/nginx/sbin/nginx

 

安装mysql

 

检测mysql是否卸载干净

rpm -aq | grep -i mysql  

 

MYSQL安装

1.先下载mysql的repo源;相关命令:

 wget http://repo.mysql.com/mysql-community-release-el7-5.noarch.rpm

2.安装mysql-community-release-el7-5.noarch.rpm包

(安装这个包后,会获得两个mysql的yum repo源:/etc/yum.repos.d/mysql-community.repo,/etc/yum.repos.d/mysql-community-source.repo)

 rpm -ivh mysql-community-release-el7-5.noarch.rpm

3.安装MYSQL

 sudo yum install mysql-server

重启服务:

 

systemctl restart mysql.service

 

修改数据库登录密码:

use mysql;

update user set password=password('root') where user='root';

设置外部连接权限,密码

grant all privileges on *.* to 'root'@'%' identified by 'jiacheng123.';

更新:flush privileges;



(责任编辑:IT)