热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

64位Linux系统安装配置Nginx1.5和PHP5.5环境

(1)安装Nginx1.5.2更新Nginx和PHP的依赖包yum-yinstallgccgcc-c++autoconflibjpeglibjpeg-devellibpng\libpng-develfreetypefreetype-devellibxml2libxml2-develzlibzlib-devel\glib
(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;

}


推荐阅读
  • 网站访问全流程解析
    本文详细介绍了从用户在浏览器中输入一个域名(如www.yy.com)到页面完全展示的整个过程,包括DNS解析、TCP连接、请求响应等多个步骤。 ... [详细]
  • Java EE 平台集成了多种服务、API 和协议,旨在支持基于 Web 的多层应用程序开发。本文将详细介绍 Java EE 中的 13 种关键技术规范,帮助开发者更好地理解和应用这些技术。 ... [详细]
  • 在Notepad++中配置Markdown语法高亮及实时预览功能
    本文详细介绍了如何在Notepad++中配置Markdown语法高亮和实时预览功能,包括必要的插件安装和设置步骤。 ... [详细]
  • 深入理解:AJAX学习指南
    本文详细探讨了AJAX的基本概念、工作原理及其在现代Web开发中的应用,旨在为初学者提供全面的学习资料。 ... [详细]
  • 本文详细探讨了在Web开发中常见的UTF-8编码问题及其解决方案,包括HTML页面、PHP脚本、MySQL数据库以及JavaScript和Flash应用中的乱码问题。 ... [详细]
  • 近年来,区块链技术备受关注,其中比特币(Bitcoin)功不可没。尽管数字货币的概念早在上个世纪就被提出,但直到比特币的诞生,这一概念才真正落地生根。本文将详细探讨比特币、以太坊和超级账本(Hyperledger)的核心技术和应用场景。 ... [详细]
  • 探讨了在HTML表单中使用元素代替进行表单提交的方法。 ... [详细]
  • JavaScript 跨域解决方案详解
    本文详细介绍了JavaScript在不同域之间进行数据传输或通信的技术,包括使用JSONP、修改document.domain、利用window.name以及HTML5的postMessage方法等跨域解决方案。 ... [详细]
  • 3DSMAX制作超现实的体育馆模型
    这篇教程是向脚本之家的朋友介绍3DSMAX制作超现实的体育馆模型方法,教程制作出来的体育馆模型非常地不错,不过教程有点难度,需要有一定基础的朋友学习,推荐到脚本之家,喜欢的朋友可 ... [详细]
  • 本文介绍了如何在AngularJS应用中使用ng-repeat指令创建可单独点击选中的列表项,并详细描述了实现这一功能的具体步骤和代码示例。 ... [详细]
  • 在项目冲刺的最后一天,团队专注于软件用户界面的细节优化,包括调整控件布局和字体设置,以确保界面的简洁性和用户友好性。 ... [详细]
  • 探讨如何在映射文件中处理重复的属性字段,以避免数据操作时出现错误。 ... [详细]
  • 本文探讨了如何在PHP与MySQL环境中实现高效的分页查询,包括基本的分页实现、性能优化技巧以及高级的分页策略。 ... [详细]
  • 本文探讨了如何通过优化 DOM 操作来提升 JavaScript 的性能,包括使用 `createElement` 函数、动画元素、理解重绘事件及处理鼠标滚动事件等关键主题。 ... [详细]
  • HTML:  将文件拖拽到此区域 ... [详细]
author-avatar
芬妮Iris_150
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有