Centos6.4 编译安装 nginx php的方法

一. 准备依赖库

安装make:

yum -y install gcc automake autoconf libtool make

安装g++:

yum install gcc gcc-c++

二. 编译安装pcre

pcre 是一个正则表达式的库,编译nginx需要依赖该库实现url rewrite

下载源码

cd /usr/local/src
wget ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/pcre-8.33.tar.bz2
tar jxvf pcre-8.33.tar.bz2

编译安装

cd pcre-8.33
./configure
make
make install

三. 编译安装zlib库

zlib 是gzip实现

下载源码

cd /usr/local/src
wget http://zlib.net/zlib-1.2.8.tar.gz
tar -zxvf zlib-1.2.8.tar.gz

编译安装

cd zlib-1.2.8
./configure
make
make install

四. 安装openssl

检查是否安装了ssl

# rpm -qa|grep openssl
openssl-devel-1.0.1e-16.el6_5.14.x86_64
openssl-1.0.1e-16.el6_5.14.x86_64

如果没有安装

下载源码

cd /usr/local/src
wget http://www.openssl.org/source/openssl-1.0.1c.tar.gz
tar -zxvf openssl-1.0.1c.tar.gz

编译安装

./configure
make
make install

五. 编译安装nginx

cd /usr/local/src
wget http://nginx.org/download/nginx-1.2.8.tar.gz
tar -zxvf nginx-1.2.8.tar.gz
cd nginx-1.2.8

 ./configure --sbin-path=/usr/local/nginx/nginx \
 --conf-path=/usr/local/nginx/nginx.conf \
 --pid-path=/usr/local/nginx/nginx.pid \
 --with-http_ssl_module \
 --with-pcre=/usr/local/src/pcre-8.33 \
 --with-zlib=/usr/local/src/zlib-1.2.8 \
 --with-openssl=/usr/local/src/openssl-1.0.1c
 make
 make install

安装成功完毕后验证是否安装成功

/usr/local/nginx/nginx
netstat -alptn|grep 80

六. 编译安装php

新版本的php中已经集成了php-fpm

1. 准备工作

yum -y install 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

2. 源码编译安装libmcrypt

wget ftp://mcrypt.hellug.gr/pub/crypto/mcrypt/attic/libmcrypt/libmcrypt-2.5.7.tar.gz
tar -zxvf libmcrypt-2.5.7.tar.gz
cd libmcrypt-2.5.7
./configure
make
make install

3. 下载源码

wget http://cn2.php.net/distributions/php-5.4.7.tar.gz
tar zvxf php-5.4.7.tar.gz

4. 编译安装cd php-5.4.7

./configure --prefix=/usr/local/php      \
   --enable-fpm         \
   --enable-mbstring        \
   --enable-sockets        \
   --enable-sysvsem        \
   --enable-sysvshm        \
   --enable-pcntl         \
   --enable-mbregex        \
   --enable-zip         \
   --enable-inline-optimization     \
   --disable-pdo         \
   --disable-debug        \
   --disable-rpath        \
   --with-mcrypt         \
   --with-zlib         \
   --with-bz2          \
   --with-mhash         \
   --with-curl         \
   --with-mysql         \
   --with-gd          \
   --with-pcre-regex        \
   --with-libdir=lib64

如果报如下错误

configure: error: Don't know how to define struct flock on this system, set --enable-opcache=no

修改 /etc/ld.so.conf 文件

vi /etc/ld.so.conf.d/local.conf
#添加2行
/usr/local/lib64 //64系统
/usr/local/src/libmcrypt-2.5.7/lib/.libs

#执行以下命令
chmod gu+x /etc/ld.so.conf.d/local.conf
#执行以下命令使生效
ldconfig -v

再次执行命令

成功后编译安装

七. 配置启动

1. 配置php-fpm

cd /usr/local/php
cp /etc/php-fpm.conf.default /etc/php-fpm.conf
vi /etc/php-fpm.conf

修改
user = llong
group = llong

2. 修改nginx 支持 php-fpm

打开 nginx.conf

其中server段增加如下配置,注意标红内容配置,否则会出现No input file specified.错误

# pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
#
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;
}

3. 测试是否配置成功

在/usr/local/nginx/html下创建index.php文件,输入如下内容

<?
echo phpinfo();
?>

启动php-fpm和nginx

/usr/local/php/sbin/php-fpm (手动打补丁的启动方式/usr/local/php/sbin/php-fpm start)
 /usr/local/nginx/nginx
(0)

相关推荐

  • 详解如何在CentOS7中使用Nginx和PHP7-FPM安装Nextcloud

    Nextcloud 是一款自由 (开源) 的类 Dropbox 软件,由 ownCloud 分支演化形成.它使用 PHP 和 JavaScript 编写,支持多种数据库系统,比如 MySQL/MariaDB.PostgreSQL.Oracle 数据库和 SQLite.它可以使你的桌面系统和云服务器中的文件保持同步,Nextcloud 为 Windows.Linux.Mac.安卓以及苹果手机都提供了客户端支持.Nextcloud 并非只是 Dropbox 的克隆,它还提供了很多附加特性,如日历.联

  • Nginx下实现pathinfo及ThinkPHP的URL模式

    打开Nginx配置文件(不同版本的Nginx可能稍有不同),配置: #去掉$是为了不匹配行末,即可以匹配.php/,以实现pathinfo #如果不需要用到php后缀,也可以将其去掉 location ~ .php { #原有代码 #定义变量 $path_info ,用于存放pathinfo信息 set $path_info ""; #定义变量 $real_script_name,用于存放真实地址 set $real_script_name $fastcgi_script_name;

  • Win10 下安装配置IIS + MySQL + nginx + php7.1.7

    环境: VMWare Workstation Player12 Windows10 Pro x64  一.安装系统 vmware 会采用 fast install 方式很快装完,无需配置什么. 二.配置 IIS 在"程序和功能"下,打开"启用或关闭Windows功能".把 Internet Infomation Services 功能添加进去,需要注意的是"应用程序开发功能"里边的CGI默认是不勾选的,需要手动选择 注:在实际安装时,IIS 我是

  • PHP使用Nginx实现反向代理

    一.代理服务器 1.什么是代理服务器 代理服务器,客户机在发送请求时,不会直接发送给目的主机,而是先发送给代理服务器,代理服务接受客户机请求之后,再向主机发出,并接收目的主机返回的数据,存放在代理服务器的硬盘中,再发送给客户机. 2.为什么要使用代理服务器 1)提高访问速度 由于目标主机返回的数据会存放在代理服务器的硬盘中,因此下一次客户再访问相同的站点数据时,会直接从代理服务器的硬盘中读取,起到了缓存的作用,尤其对于热门站点能明显提高请求速度. 2)防火墙作用 由于所有的客户机请求都必须通过代

  • 详解Nginx 和 PHP 的两种部署方式的对比

    详解Nginx 和 PHP 的两种部署方式的对比 2种部署方式简介 第一种 前置1台nginx服务器做HTTP反向代理和负载均衡 后面N太服务器的Nginx做Web服务,并调用php-fpm提供的fast cgi服务 此种部署方式最为常见,web服务和PHP服务在同一台服务器上都有部署 第二种 前置1台nginx服务器做Web服务 后面服务器只部署php-fpm服务,供nginx服务器调用 前置1台nginx服务器,在调用后面多例php-fpm服务时,也可以做到负载均衡 如下图 : 对比 从系统

  • nginx配置支持php的pathinfo模式配置方法

    nginx模式不支持pathinfo模式,类似info.php/hello形式的url会被提示找不到页面.下面的通过正则找出实际文件路径和pathinfo部分的方法,让nginx支持pathinfo. location ~ \.php$ { root html; fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; ##通过设置模拟出pathinfo set $path_info ""; set $real_script_name

  • PHP 网站修改默认访问文件的nginx配置

    搭建好lnmp后,有时候并不需要直接访问index.php,配置其他的默认访问文件比如index.html这时候需要配置一下nginx才能访问到你想要设置的文件 直接上代码,如下是我的配置的一份简单的nginx到php-fpm的站点,该站点默认访问目录/ecmoban/www/index.html server { listen 80; location / { root /ecmoban/www; index index.html index.php index.htm; } error_pa

  • windows下RunHiddenConsole 启动 nginx与php(RunHiddenConsole下载)

    windows 下使用RunHiddenConsole 启动 nginx与php RunHiddenConsole.exe的作用是在执行完命令行脚本后可以自动关闭脚本,而从脚本中开启的进程不被关闭.简单来说就是黑窗体(CMD命令窗体)不会显示,但CMD命令窗体中运行的程序不会被关闭,特别是一些会挂住必须显示命令窗体的命令还真不错,如 Tomcat.Php.Nginx等. 1.启动 Php 和 Nginx ,根据自己的环境设置 php_home 和 nginx_home ,然后保存为 .bat 文

  • Centos6.4 编译安装 nginx php的方法

    一. 准备依赖库 安装make: yum -y install gcc automake autoconf libtool make 安装g++: yum install gcc gcc-c++ 二. 编译安装pcre pcre 是一个正则表达式的库,编译nginx需要依赖该库实现url rewrite 下载源码 cd /usr/local/src wget ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/pcre-8.33.tar.b

  • CentOS下编译安装nginx及配置缩略图插件的方法教程

    相信大家都知道利用yum安装nginx 非常方便,但是有些插件并不会默认安装,比如 http_image_filter_module, 因此我们需要编译安装 nginx,已达到我们的目的.下面来看看详细的方法吧. 安装依赖 yum install -y pcre-devel libmxl2-devel libxslt-devel gd-devel 安装 nginx wget http://nginx.org/download/nginx-1.9.1.tar.gz tar -xzvf nginx-

  • centos7编译安装nginx的方法步骤

    安装nginx编译所需的lib库 yum -y install make zlib zlib-devel gcc-c++ libtool openssl openssl-devel yum -y install pcre pcre-devel 查看pcre(正则库)版本 pcre-config --version 进入编译目录 cd /usr/local/src 从官网下载最新的nginx(stable version稳定版) wget http://nginx.org/download/ngi

  • CentOS 7下编译安装Nginx 1.11.10教程

    前言 之前分享过一篇 CentOS下编译安装nginx及配置缩略图插件的方法教程,当时的环境是 CentOS 6.x 和 Nginx 1.9.x . 本次安装的环境为 CentOS 7.2 和 Nginx 1.11.10, 有些配置以前自启动的方式发生了变化, 这里再记录一下. 安装编译安装依赖的类库和包 yum install gcc gcc-c++ autoconf automake zlib zlib-devel openssl openssl-devel pcre-devel 下载和解压

  • CentOS6.5环境安装nginx服务器及负载均衡配置操作详解

    本文实例讲述了CentOS6.5环境安装nginx服务器及负载均衡配置操作.分享给大家供大家参考,具体如下: 1.下载PCRE, 是一个用C语言编写的正则表达式函数库 [root@localhost pcre-8.36]# cd /tmp/download/ [root@localhost download]# wget http://nchc.dl.sourceforge.net/project/pcre/pcre/8.37/pcre-8.37.tar.gz [root@localhost d

  • Linux 6下安装编译安装Nginx的步骤

    Linux 6下安装编译安装Nginx的步骤 前言: Nginx是一个高性能的HTTP和反向代理服务器,也是一个IMAP/POP3/SMTP服务器.在高连接并发的情况下,Nginx是Apache服务器不错的替代品:Nginx在美国是做虚拟主机生意的老板们经常选择的软件平台之一.能够支持高达50,000个并发连接数的响应,而且内存开销极小.这也是Nginx广受欢迎的重要原因.本文演示了基于Linux 6下编译安装Nginx,供大家参考. 一.安装环境 # cat /etc/issue Red Ha

  • Centos下编译安装Nginx教程详解

    一.安装nginx时必须先安装相应的编译工具 yum -y install gcc gcc-c++ autoconf automake yum -y install zlib zlib-devel openssl openssl-devel pcre-devel 建立nginx 组 groupadd -r nginx useradd -s /sbin/nologin -g nginx -r nginx id nginx zlib:nginx提供gzip模块,需要zlib库支持 openssl:n

  • centos6.5 编译安装lamp以及相关错误的解决方法

    一.准备工作   1.安装编译工具gcc.gcc-c++ 注意解决依赖关系,推荐使用yum安装,若不能联网可使用安装光盘做为yum源-- 1)编辑yum配置文件: #mount /dev/cdrom /mnt/cdrom #vi /etc/yum.repos.d/CentOS-Media.repo [c5-media] name=CentOS-$releasever- Media baseurl=file:///mnt/cdrom   * 修改为光盘挂载点            file:///

  • Centos6.4编译安装mysql 8.0.0 详细教程

    本文实例为大家分享了Centos6.4编译mysql  8.0.0 安装配置方法,供大家参考,具体内容如下 操作系统说明:CentOS 6.4 数据库版本:MySQL 8.0.0 一.环境准备 yum install ncurses-devel -y yum install libaio -y yum install glibc-devel.i686 glibc-devel -y yum install gcc gcc-c++ -y 另外,MySQL8.0需要用gcc的版本为 4.8以上,而ce

  • Centos6.5编译安装mysql 5.7.14详细教程

    本文实例为大家分享了CENTOS6.5 编译mysql 5.7.14安装配置方法,供大家参考,具体内容如下 mysql5.7.14 编译安装在自定义文件路径下 下载安装包 配置安装环境 编译安装 cmake\ -DCMAKE_INSTALL_PREFIX=/data/db5714 \ -DMYSQL_DATADIR=/data/db5714/var \ -DMYSQL_UNIX_ADDR=/data/db5714/tmp/mysql.sock \ -DDEFAULT_CHARSET=utf8 \

随机推荐