龚哥哥 - 山里男儿 爱生活、做自己!
2015最新CentOS安装Nginx+PHP
发表于 2015-8-31 | 服务器

yum安装基本库

yum -y install automake autoconf libtool make gcc gcc-c++ libmcrypt-devel mhash-devel libxslt-devel libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel libxml2 libxml2-devel zlib zlib-devel glibc glibc-devel glib2 glib2-devel bzip2 bzip2-devel ncurses ncurses-devel curl curl-devel e2fsprogs e2fsprogs-devel krb5 krb5-devel libidn libidn-devel openssl openssl-devel

准备

mkdir /data
cd /data
mkdir soft www logs dbdata
cd soft/
mkdir nginx php mysql
cd ../logs
mkdir nginx php mysql

一:Nginx安装

cd /data/soft/src

1.安装PCRE库

ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/ 下载最新的 PCRE 源码包,使用下面命令下载编译和安装 PCRE 包:

cd /data/soft/src
wget ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/pcre-8.40.tar.gz
tar -zxvf pcre-8.40.tar.gz
cd pcre-8.40
./configure
make && make install

2.安装zlib库

http://zlib.net/zlib-1.2.11.tar.gz 下载最新的 zlib 源码包,使用下面命令下载编译和安装 zlib包:

cd /data/soft/src
wget http://zlib.net/zlib-1.2.11.tar.gz
tar -zxvf zlib-1.2.11.tar.gz
cd zlib-1.2.11
./configure
make && make install

3.安装ssl(某些vps默认没装ssl)

cd /data/soft/src
wget http://www.openssl.org/source/openssl-1.0.2.tar.gz
tar -zxvf openssl-1.0.2.tar.gz
./config
make && make install
cp apps/openssl /usr/bin/
如果提示覆盖,确认就OK了,再查看openssl version版本就是最新版了

4.安装nginx

Nginx 一般有两个版本,分别是稳定版和开发版,您可以根据您的目的来选择这两个版本的其中一个,下面是把 Nginx 安装到 /data/soft/nginx 目录下的详细步骤:

cd /data/soft/src
wget http://nginx.org/download/nginx-1.4.2.tar.gz
tar -zxvf nginx-1.4.2.tar.gz
cd nginx-1.4.2
./configure --prefix=/data/soft/nginx \--sbin-path=/data/soft/nginx/nginx \--conf-path=/data/soft/nginx/nginx.conf \--pid-path=/data/soft/nginx/nginx.pid \--lock-path=/data/soft/nginx/nginx.lock \--error-log-path=/data/logs/nginx/error.log \--http-log-path=/data/logs/nginx/access.log \--http-client-body-temp-path=/data/logs/nginx/client_body_temp \--http-proxy-temp-path=/data/logs/nginx/proxy_temp \--http-fastcgi-temp-path=/data/logs/nginx/fastcgi_temp \--http-uwsgi-temp-path=/data/logs/nginx/uwsgi_temp \--http-scgi-temp-path=/data/logs/nginx/scgi_temp \--user=nginx \--group=nginx \--with-http_ssl_module \--with-pcre=/data/src/pcre-8.40 \--with-zlib=/data/src/zlib-1.2.11 \--with-openssl=/data/src/openssl-1.0.2e
make && make install

cp /data/soft/nginx/nginx /etc/init.d/
/etc/init.d/nginx           启动nginx
/etc/init.d/nginx -s reload     重启nginx
/etc/init.d/nginx -s stop       关闭nginx

添加nginx开机启动

echo "/etc/init.d/nginx" >> /etc/rc.local

二:编译安装php-fpm

PHP-FPM是一个PHP FastCGI管理器,是只用于PHP的,可以在 http://php-fpm.org/download下载得到.

PHP-FPM其实是PHP源代码的一个补丁,旨在将FastCGI进程管理整合进PHP包中。必须将它patch到你的PHP源代码中,在编译安装PHP后才可以使用。

新版PHP已经集成php-fpm了,不再是第三方的包了,推荐使用。PHP-FPM提供了更好的PHP进程管理方式,可以有效控制内存和进程、可以平滑重载PHP配置,比spawn-fcgi具有更多优点,所以被PHP官方收录了。在./configure的时候带 –enable-fpm参数即可开启PHP-FPM,其它参数都是配置php的,具体选项含义可以到这里查看:http://www.php.net/manual/en/configure.about.php

1.php-fpm安装(推荐安装方式)

cd /data/soft/src
wget http://museum.php.net/php5/php-5.4.7.tar.gz
tar zvxf php-5.4.7.tar.gz
cd php-5.4.7
./configure --prefix=/data/soft/php --enable-fpm --with-mcrypt \--enable-mbstring --disable-pdo --with-curl --disable-debug  --disable-rpath \--enable-inline-optimization --with-bz2  --with-zlib --enable-sockets \--enable-sysvsem --enable-sysvshm --enable-pcntl --enable-mbregex \--with-mhash --enable-zip --with-pcre-regex --with-mysql --with-mysqli \--with-gd --with-jpeg-dir --enable-pdo --enable-ftp --with-pdo_sqlite --with-openssl=/usr/local/ssl/ --with-pdo_mysql
make && make install

2.以上就完成了php-fpm的安装、下面是对php-fpm运行用户进行设置

cd /data/soft/php
cp etc/php-fpm.conf.default etc/php-fpm.conf

vi etc/php-fpm.conf 修改
user = www
group = www

如果www用户不存在,那么先添加www用户
  groupadd www
  useradd -g www www

去掉前面的注释
  pid = run/php-fpm.pid

3.修改nginx配置文件以支持php-fpm

修改nginx配置文件为,nginx.conf

其中server段增加如下配置

# pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
  location ~ \.php$ {
  root /data/www; #项目根目录
  fastcgi_pass 127.0.0.1:9000;
  fastcgi_index index.php;
  fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
  include fastcgi_params;
}

重启nginx服务器
  /data/nginx/nginx -s reload

4.创建测试php文件、在/data/www下创建index.php文件,输入如下内容

<?php
  echo phpinfo();
?>

5.启动php-fpm服务

/data/soft/php/sbin/php-fpm

5.5杀死php-fpm进程

killall php-fpm(可以配合启动命令实现重启效果)

6.php-fpm关闭与重启

php-fpm 关闭
  kill -INT `cat /data/soft/php/var/run/php-fpm.pid`

php-fpm 重启
  kill -USR2 `cat /data/soft/php/var/run/php-fpm.pid`

7.php-fpm开机启动

cp /data/soft/php/sbin/php-fpm /etc/init.d/php-fpm
echo "/etc/init.d/php-fpm" >> /etc/rc.local

发表评论:

TOP