(1)安装Nginx1.5.2
更新Nginx和PHP的依赖包
yum -y install gcc gcc-c++ autoconf 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 openldap openldap-devel nss_ldap openldap-clients \
openldap-servers gd gd2 gd-devel gd2-devel perl-CPAN

安装Nginx所需的pcre库
tar zxvf pcre-8.33.tar.gz
cd pcre-8.33
./configure
make && make install
ln -s /usr/local/lib/libpcre.so.1 /usr/lib64/libpcre.so.1
cd ../

tar zxvf nginx-1.5.2.tar.gz
cd nginx-1.5.2
./configure --user=www --group=www --prefix=/usr/local/webserver/nginx --with-http_stub_status_module \
--with-http_ssl_module --with-http_realip_module --with-http_image_filter_module
make
make install
/usr/sbin/groupadd www
/usr/sbin/useradd -g www www

创建web根目录并修改权限,当然可以指定其他目录,只要和Nginx配置文件一致即可
mkdir -p /data0/htdocs/www
chmod +w /data0/htdocs/www
chown -R www:www /data0/htdocs/www

vi /usr/local/webserver/nginx/conf/nginx.conf
修改#user  nobody;为user www www;
修改location /{}中的root html;为网站目录例如/data0/htdocs/www
在/data0/htdocs/www目录中随便创建一个index.html文件 
启动nginx并访问测试
ulimit -SHn 65535
/usr/local/webserver/nginx/sbin/nginx
其他命令:
测试nginx的配置文件是否正确/usr/local/webserver/nginx/sbin/nginx -t
修改nginx配置文件后使之生效/usr/local/webserver/nginx/sbin/nginx -s reload

(2)安装PHP
安装PHP所需依赖包
tar zxvf libiconv-1.14.tar.gz
cd libiconv-1.14
./configure --prefix=/usr/local
make
make install
cd ../

tar zxvf libmcrypt-2.5.8.tar.gz
cd libmcrypt-2.5.8/
./configure
make
make install
/sbin/ldconfig
cd libltdl/
./configure --enable-ltdl-install
make
make install
cd ../../

tar zxvf mhash-0.9.9.9.tar.gz
cd mhash-0.9.9.9/
./configure
make
make install
cd ../

对共享库做符号链接
ln -s /usr/local/lib/libmcrypt.la /usr/lib64/libmcrypt.la
ln -s /usr/local/lib/libmcrypt.so /usr/lib64/libmcrypt.so
ln -s /usr/local/lib/libmcrypt.so.4 /usr/lib64/libmcrypt.so.4
ln -s /usr/local/lib/libmcrypt.so.4.4.8 /usr/lib64/libmcrypt.so.4.4.8
ln -s /usr/local/lib/libmhash.a /usr/lib64/libmhash.a
ln -s /usr/local/lib/libmhash.la /usr/lib64/libmhash.la
ln -s /usr/local/lib/libmhash.so /usr/lib64/libmhash.so
ln -s /usr/local/lib/libmhash.so.2 /usr/lib64/libmhash.so.2
ln -s /usr/local/lib/libmhash.so.2.0.1 /usr/lib64/libmhash.so.2.0.1
ln -s /usr/local/bin/libmcrypt-config /usr/bin/libmcrypt-config
ln -s /usr/local/webserver/mysql/lib/libmysqlclient.so.18 /usr/lib64/libmysqlclient.so.18
tar zxvf mcrypt-2.6.8.tar.gz
cd mcrypt-2.6.8/
/sbin/ldconfig
./configure
make
make install
cd ../

tar zxvf php-5.5.0.tar.gz

cd php-5.5.0

./configure --prefix=/usr/local/webserver/php --with-config-file-path=/usr/local/webserver/php/etc \
--with-mysql=/usr/local/webserver/mysql --with-mysqli=/usr/local/webserver/mysql/bin/mysql_config \
--with-iconv-dir --with-freetype-dir --with-jpeg-dir --with-png-dir --with-zlib --with-libxml-dir=/usr \
--enable-xml --disable-rpath --enable-bcmath --enable-shmop --enable-sysvsem --enable-inline-optimization \
--with-curl --enable-mbregex --enable-fpm --enable-mbstring --with-mcrypt --with-gd --enable-gd-native-ttf \
--with-openssl --with-mhash --enable-pcntl --enable-sockets --with-xmlrpc --enable-zip --enable-soap \
--enable-opcache=no --without-pear --disable-fileinfo

如果内存较大 可以去掉--disable-fileinfo

make ZEND_EXTRA_LIBS='-liconv'
make install
cp php.ini-development /usr/local/webserver/php/etc/php.ini
cd ../
cp /usr/local/webserver/php/etc/php-fpm.conf.default /usr/local/webserver/php/etc/php-fpm.conf

修改
user = nobody
group = nobody

user = www
group = www
将;pid = run/php-fpm.pid前的;去掉并修改为
pid = /usr/local/webserver/php/var/run/php-fpm.pid

启动php-fpm
/usr/local/webserver/php/sbin/php-fpm

(3)配置Nginx支持PHP,并支持pathinfo
vi /usr/local/webserver/nginx/conf/fastcgi.conf
将fastcgi_param  SCRIPT_NAME        $fastcgi_script_name;前加#注释
并在最上方添加
#------------------------------------------------------
fastcgi_pass   127.0.0.1:9000;
#fastcgi_index  index.php;

set $path_info "";
set $real_fastcgi_script_name $fastcgi_script_name;
if ($fastcgi_script_name ~ "^(.+?\.php)(/.+)$") {
        set $real_fastcgi_script_name $1;
        set $path_info $2;
}
fastcgi_param  SCRIPT_NAME        $real_fastcgi_script_name;
fastcgi_param  PATH_INFO $path_info;
#------------------------------------------------------
vi /usr/local/webserver/nginx/conf/nginx.conf
找到第一个server中的location /{***} 然后添加
#------------------------------------------------------
     location ~* .*\.php($|/){
                 include  fastcgi.conf;
        }
#------------------------------------------------------
使配置文件生效
kill -USR2 `cat /usr/local/webserver/php/var/run/php-fpm.pid`
/usr/local/webserver/nginx/sbin/nginx -s reload

将Nginx与fpm加入自启动
vi /etc/rc.local
输入
ulimit -SHn 65535
/usr/local/webserver/php/sbin/php-fpm
/usr/local/webserver/nginx/sbin/nginx
=====================================================
编译PHP扩展模块memcache、pdo_mysql、imagick
tar zxvf memcache-2.2.7.tgz
cd memcache-2.2.7
/usr/local/webserver/php/bin/phpize
./configure --with-php-config=/usr/local/webserver/php/bin/php-config
make
make install
cd ../

tar zxvf PDO_MYSQL-1.0.2.tgz
cd PDO_MYSQL-1.0.2/
/usr/local/webserver/php/bin/phpize
./configure --with-php-config=/usr/local/webserver/php/bin/php-config --with-pdo-mysql=/usr/local/webserver/mysql
ln -s /usr/local/webserver/mysql/include/* /usr/local/include/
make
make install
cd ../

tar zxvf ImageMagick.tar.gz
cd ImageMagick-6.5.1-2/
./configure
make
make install
cd ../

tar zxvf imagick-3.1.0RC2.tgz
cd imagick-3.1.0RC2
/usr/local/webserver/php/bin/phpize
export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig
./configure --with-php-config=/usr/local/webserver/php/bin/php-config
make
make install
cd ../
修改php的配置文件
vi /usr/local/webserver/php/etc/php.ini
查找;extension_dir = "/" 将前面的;去掉并修改为
extension_dir = "/usr/local/webserver/php/lib/php/extensions/no-debug-non-zts-20121212/"
并加入
extension=memcache.so
extension=pdo_mysql.so
extension=imagick.so
执行kill -USR2 `cat /usr/local/webserver/php/var/run/php-fpm.pid`
使配置文件生效
------------------------------------------------------------------
(4)nginx的其他配置及优化
将;gzip on前的;去掉开启gzip压缩
并加入详细参数

gzip_min_length 1k;
gzip_buffers 16 64k;
gzip_http_version 1.1;
gzip_comp_level 9;
gzip_types text/plain application/x-javascript text/css application/xml;
gzip_vary on;

如果需要将所有请求都重写到index.php在location /{}中添加如下代码即可
if (!-e $request_filename){
    rewrite ^(.*)$ /index.php/$1 last;

}

64位Linux下编译搭建Nginx1.5与PHP5.5(CentOS6.4)的更多相关文章

  1. 在64位linux下编译32位程序

    在64位linux下编译32位程序 http://blog.csdn.net/xsckernel/article/details/38045783

  2. 64位centos 下编译 hadoop 2.6.0 源码

    64位os下为啥要编译hadoop就不解释了,百度一下就能知道原因,下面是步骤: 前提:编译源码所在的机器,必须能上网,否则建议不要尝试了 一. 下载必要的组件 a) 下载hadoop源码 (当前最新 ...

  3. 64位linux下rpm安装mysql的5.5.55版本

    昨天同事开了个阿里云环境,让我帮他安装mysql数据库,本想着很简单的一件事,结果还是折腾了一番.坑很多,一路趟过,一个接一个,只能硬着头皮冲. 首先是下载压缩包,因为采用了rpm安装方式,所以下载的 ...

  4. 64位linux下安装ps模拟器ePSxe

    早就想在爱机上玩ps游戏,特别是彩京的1945一代和非常经典的实况足球2002版.在ubuntu64位下可以通过wine模拟的方式运行windows版的ePSxe,但是总觉得差些呢?非原生啊!网上搜了 ...

  5. win7在64位系统下编译openssl

    曾经在笔记本上配置过openssl-0.9.8g版本号,今天在公司的台式机上配置死活没配置成功.机器的系统是win7,64位.编译openssl-1.0.1e出现各种莫名的错误,最后无意中编译了1.0 ...

  6. 64位linux下玩32位汇编编程

    利用下假期,打算把linux下的汇编语言给熟悉下,结果是以32位为版本的,只能在办公室的机器上跑了个opensuse的32位版本,家里的suse挂了,无法输入中文.打算再安装下32位系统,今天找到了个 ...

  7. 64位Win7下编译hadoop 1.2.1问题解决

    0.报sed的错误.原因在于没有安装cygwin.安装cygwin的时候要选择sed 1.Cannot run program "autoreconf". 这个问题在网上看了很多解 ...

  8. xsocks 64位平台下编译问题小记

    1.src/common/public.h uint32_t lpParameter 改为 void* lpParameter; 2.SocksMgr.cpp DWORD WINAPI CSocksM ...

  9. 在64位linux上编译32位程序 for i386 intel

    编辑中 # ld -V GNU ld version 2.15.92.0.2 20040927 Supported emulations: elf_x86_64 elf_i386 i386linux ...

随机推荐

  1. 轻量级模块化开发框架 Hasor 核心模块 v0.0.2 发布

    首先引用Wiki的介绍一下Hasor:     “Hasor是一款开源框架.它是为了解决企业模块化开发中复杂性而创建的.Hasor遵循简单的依赖.单一职责,在开发多模块企业项目中更加有调理.然 而Ha ...

  2. 作业一:创建个人技术博客、自我介绍、简单的C程序

    年9月14日中午12点: 一.主要内容  建个人技术博客(博客园 www.cnblogs.com) 本学期将通过写博客的方式提交作业,实际上,最终的目的是希望同学们能通过博客的形式记录我们整个学习过程 ...

  3. 自己动手写UI库——引入ExtJs(布局)

    第一: 来看一下最终的效果 第二: 来看一下使用方法: 第三: Component类代码如下所示: public class Component     {                   pub ...

  4. 【Android UI设计与开发】9:滑动菜单栏(一)开源项目SlidingMenu的使用和示例

    一.SlidingMenu简介 相信大家对SlidingMenu都不陌生了,它是一种比较新的设置界面或配置界面的效果,在主界面左滑或者右滑出现设置界面效果,能方便的进行各种操作.很多优秀的应用都采用了 ...

  5. [C++] socket - 6 [API互斥事件对象实现线程同步]

    /*API互斥事件对象实现线程同步*/ #include<windows.h> #include<stdio.h> DWORD WINAPI myfun1(LPVOID lpP ...

  6. 设置jenkins代理

    http://stackoverflow.com/documentation/jenkins/919/introduction-to-jenkins Natively, Jenkins runs on ...

  7. Wijmo 2016 V2 强势发布!

    Angular 2 支持 Wijmo 对 Angular 2 提供了全面的支持.我们一直在紧跟Angular 2 开发团队的步伐,对其发布的最新候选版本提供支持. 了解更多关于Angular 2 的支 ...

  8. java 解析xml

    http://developer.51cto.com/art/200903/117512.htm

  9. 从混战到三足鼎立,外卖O2O下一个谁先出局?

    来自第三方数据挖掘和分析机构权威iiMedia Research(艾媒咨询)发布的<2016Q3中国在线餐饮外卖市场专题研究报告>显示,2016Q3中国在线餐饮外卖市场活跃用户分布方面,美 ...

  10. FreeMarker模板语法

    四.FreeMarker模板语法 要编写复杂的模板需要熟悉FreeMarker语法规则,官网有详细说明,中文帮助也比较详细了,下面这些内容是从网上收罗来的,感谢网友的分享,经过整理与修改的内容如下.建 ...