engnix php 插件 管理_nginx(五)nginx与php的安装配置

本文档详细介绍了在Linux系统中安装和配置LNMP(Nginx、PHP和MySQL)的过程。首先,检查并安装了必要的库文件,如zlib、openssl、pcre等。接着,安装了libiconv、libmcrypt、mhash等PHP依赖库,并配置了mcrypt、mhash。然后,安装了MySQL,并针对单核CPU的情况解决了my.cnf配置中的问题。最后,安装了Nginx,并配置了与PHP-FPM的交互,启动了php-cgi进程,监听9000端口。文章提供了完整的配置文件示例和启动命令,以及如何设置开机启动Nginx和PHP。测试部分包括创建phpinfo()页面验证配置成功。
摘要由CSDN通过智能技术生成

经过前面学习,对nginx有个大概的了解,来配置LNMP;只要是在系统安装过程中选择安装比较齐全的包,基本上系统都能满足安装要求,下面是我一个一个测试的,基本上全部安装所需的库文件,放心安装;

[root@mgmserver ~]# rpm -qa |grep zlibzlib-devel-1.2.3-3zlib-1.2.3-3

[root@mgmserver tar_packet]# rpm -qa |grep opensslopenssl-0.9.8e-12.el5openssl-devel-0.9.8e-12.el5

[root@mgmserver tar_packet]# rpm -qa |grep pcrepcre-6.6-2.el5_1.7pcre-devel-6.6-2.el5_1.7

[root@mgmserver tar_packet]# rpm -qa |grep gcccompat-libgcc-296-2.96-138compat-gcc-34-g77-3.4.6-4gcc-c++-4.1.2-46.el5libgcc-4.1.2-46.el5compat-gcc-34-3.4.6-4compat-gcc-34-c++-3.4.6-4gcc-java-4.1.2-46.el5gcc-4.1.2-46.el5gccp-gfortran-4.1.2-46.el5

[root@mgmserver tar_packet]# rpm -qa |grep autoconfautoconf-2.59-12

[root@mgmserver tar_packet]# rpm -qa |grep automakeautomake-1.9.6-2.1automake16-1.6.3-8automake15-1.5-16automake17-1.7.9-7automake14-1.4p6-13[root@mgmserver ~]# rpm -qa |grep libjpeglibjpeg-devel-6b-37libjpeg-6b-37[root@mgmserver ~]# rpm -qa |grep libpnglibpng-1.2.10-7.1.el5_3.2libpng-devel-1.2.10-7.1.el5_3.2[root@mgmserver ~]# rpm -qa |grep freetypefreetype-2.2.1-21.el5_3freetype-devel-2.2.1-21.el5_3[root@mgmserver ~]# rpm -qa |grep libxml2libxml2-python-2.6.26-2.1.2.8libxml2-2.6.26-2.1.2.8libxml2-devel-2.6.26-2.1.2.8[root@mgmserver ~]# rpm -qa |grep glibcglibc-2.5-42glibc-devel-2.5-42compat-glibc-2.3.4-2.26glibc-common-2.5-42compat-glibc-headers-2.3.4-2.26glibc-headers-2.5-42[root@mgmserver ~]# rpm -qa |grep glib2glib2-2.12.3-4.el5_3.1glib2-devel-2.12.3-4.el5_3.1[root@mgmserver ~]# rpm -qa |grep bzip2bzip2-devel-1.0.3-4.el5_2bzip2-libs-1.0.3-4.el5_2bzip2-1.0.3-4.el5_2[root@mgmserver ~]# rpm -qa |grep ncursesncurses-devel-5.5-24.20060715ncurses-5.5-24.20060715[root@mgmserver ~]# rpm -qa |grep curlcurl-devel-7.15.5-2.1.el5_3.5curl-7.15.5-2.1.el5_3.5[root@mgmserver ~]# rpm -qa |grep e2fsprogse2fsprogs-libs-1.39-23.el5e2fsprogs-1.39-23.el5e2fsprogs-devel-1.39-23.el5[root@mgmserver ~]# rpm -qa |grep krb5pam_krb5-2.2.14-10krb5-auth-dialog-0.7-1krb5-libs-1.6.1-36.el5krb5-workstation-1.6.1-36.el5krb5-devel-1.6.1-36.el5[root@mgmserver ~]# rpm -qa |grep libidnlibidn-0.6.5-1.1libidn-devel-0.6.5-1.1[root@mgmserver ~]# rpm -qa |grep nss_ldapnss_ldap-253-21.el5openldap 这个库缺少 [root@mgmserver ~]#yum install openldap* [root@mgmserver ~]# rpm -qa |grep openldap openldap-clients-2.3.43-3.el5openldap-2.3.43-3.el5openldap-devel-2.3.43-3.el5openldap-servers-2.3.43-3.el5openldap-servers-sql-2.3.43-3.el5openldap-servers-overlays-2.3.43-3.el5

1、安装LNMP 所需的安装包有点多,要耐心.......,下载的链接张老师的博客上有:

#nginx主程序包

#PHP主程序包

#PHP的FastCGI进程管理补丁包

#mysql主程序包

libiconv库是一个基于GNU协议的开源库,主要是解决多语言编码处理转换等应用问题;由于历史原因,国际化的文字常常由于语言或者国家的原因使用不同的编码。随着互联网时代的到来,通过互联网进行文字交流也逐渐增多:浏览外国的网站,这个时候字符编码的转换变得尤为重要。这带来了一个问题,就是许多字符在某一种编码方式中没有。为了解决这种混乱,Unicode的编码方式被建立。 Unicode是一种超级编码包含了所有这些编码的字符集,因此一些新的文本格式像XML的默认编码方式就是Unicode.但是很多老式的计算机还在使用当地的传统的字符编码方式。而一些程序,例如邮件程序和浏览器必须能在这些不同的用户编码之间作转换。其他的一些程序则内置支持Unicode,以顺利支持国际化的处理,但是仍然有在Unicode和其他的传统编码之间转换的需求。GNU的libiconv就是为这两种应用设计的编码转换库。libiconv库为需要做转换的应用提供了一个iconv()的函数,以实现一个字符编码到另一个字符编码的转换。

#安全线程加密库主程序包

#Mcrypt是一个功能强大的加密算法扩展库,它包括有22种算法

#memcache是一个高性能的分布式的内存对象缓存系统,通过在内存里维护一个统一的巨大的hash表,它能够用来存储各种格式的数据,包括图像、视频、文件以及数据库检索的结果等。Memcache是danga.com的一个项目,最早是为 LiveJournal 服务的,最初为了加速 LiveJournal 访问速度而开发的,后来被很多大型的网站采用。目前全世界不少人使用这个缓存项目来构建自己大负载的网站,来分担数据库的压力。起初作者编写它可能是为了提高动态网页应用,为了减轻数据库检索的压力,来做的这个缓存系统。它的缓存是一种分布式的,也就是可以允许不同主机上的多个用户同时访问这个缓存系统, 这种方法不仅解决了共享内存只能是单机的弊端,同时也解决了数据库检索的压力,最大的优点是提高了访问获取数据的速度!基于memcache作者对分布式 cache的理解和解决方案。 memcache完全可以用到其他地方 比如分布式数据库, 分布式计算等领域。

#Mhash扩展库,Mhash扩展库支持12种混编算法

#正则表达式扩展主程序包

#eAccelerator是一个自由开放源码php加速器,优化和动态内容缓存,提高了php脚本的缓存性能,使得PHP脚本在编译的状态下,对服务器的开销几乎完全消除。 它还有对脚本起优化作用,以加快其执行效率。使您的PHP程序代码执效率能提高1-10倍;

#PDO 是 PHP 数据对象的缩写, 是一种访问数据库的更便捷、安全的途径。通过该方式,数据库开发者可以更方便地写出移植性较高的代码。PDO 并不是类似于 PearDB 的数据库抽象层,而 更像一种采用了统一 API (应用编程接口)的数据访问层。

如何启用PDO?要启用 PDO 配置,须打开 pdo 、pdo_sqlite、pdo_mysql等所的扩展模块

#是一个免费的创建、编辑、合成图片的软件。它可以读取、转换、写入多种格式的图片。图片切割、颜色替换、各种效果的应用,图片的旋转、组合,文本,直线,多边形,椭圆,曲线,附加到图片伸展旋转。ImageMagick是免费软件:全部源码开放,可以自由使用,复制,修改,发布。它遵守GPL许可协议。它可以运行于大多数的操作系统。ImageMagick的大多数功能的使用都来源于命令行工具。通常来说,它可以支持以下程序语言: Perl, C, C++, Python, PHP, Ruby, Java

#一般用php处理图片都是使用GD库或者GD2的函数库,一般编译php环境都会搭上GD库,大多数开源程序也是用GD来处理图片的,但是它只能现实诸如调整大小、增加水印等基础功能,要想用GD来做复杂图形是非常困难的。基于命令行的图像处理软件ImageMagick,能实现非常丰富的功能。如果服务器上安装了ImageMagick,php脚本可以使用 shell命令来完成,也可以用php的原生函数库Imagick或者MagickWandForPHP函数来调用ImageMagick软件来实现。因为Linux系统下PHP往往没有执行shell的权限,直接用shell来操作ImageMagick不太可能,综合考虑,Imagick函数库连接到ImageMagick软件比较好,而且是面向对象方式的。

2、安装php(fastcgi模式)

(1)、安装php所需的支持库

[root@mgmserver tar_packet]# tar -zxvf libiconv-1.13.1.tar.gz -C ../install_packet/[root@mgmserver libiconv-1.13.1]# ./configure --prefix=/usr/local[root@mgmserver libiconv-1.13.1]# make[root@mgmserver libiconv-1.13.1]# make install[root@mgmserver tar_packet]# tar -zxvf libmcrypt-2.5.8.tar.gz -C ../install_packet/[root@mgmserver libmcrypt-2.5.8]# ./configure[root@mgmserver libmcrypt-2.5.8]# make[root@mgmserver libmcrypt-2.5.8]# make install[root@mgmserver libltdl]# /sbin/ldconfig      (配置动态连接器(ld)运行时邦定)[root@mgmserver libltdl]# cd libltdl/[root@mgmserver libltdl]# ./configure --enable-ltdl-install[root@mgmserver libltdl]# make[root@mgmserver libltdl]# make install[root@mgmserver tar_packet]# tar -zxvf mhash-0.9.9.9.tar.gz -C ../install_packet/[root@mgmserver install_packet]# cd mhash-0.9.9.9/[root@mgmserver mhash-0.9.9.9]# ./configure[root@mgmserver mhash-0.9.9.9]# make[root@mgmserver mhash-0.9.9.9]# make install[root@server5 mhash-0.9.9.9]# ln -s /usr/local/lib/* /usr/lib(这一步不用做了 ,做完成上面步骤后/usr/lib下面已经存在了)

[root@localhost install_packet]# ln -s /usr/local/lib/libmcrypt.la /usr/lib/libmcrypt.la[root@localhost install_packet]# ln -s /usr/local/lib/libmcrypt.so /usr/lib/libmcrypt.so[root@localhost install_packet]# ln -s /usr/local/lib/libmcrypt.so.4 /usr/lib/libmcrypt.so.4[root@localhost install_packet]# ln -s /usr/local/lib/libmcrypt.so.4.4.8 /usr/lib/libmcrypt.so.4.4.8

[root@localhost install_packet]# ln -s /usr/local/lib/libmhash.a /usr/lib/libmhash.a[root@localhost install_packet]# ln -s /usr/local/lib/libmhash.la /usr/lib/libmhash.la[root@localhost install_packet]# ln -s /usr/local/lib/libmhash.so /usr/lib/libmhash.so[root@localhost install_packet]# ln -s /usr/local/lib/libmhash.so.2 /usr/lib/libmhash.so.2[root@localhost install_packet]# ln -s /usr/local/lib/libmhash.so.2.0.1 /usr/lib/libmhash.so.2.0.1

[root@localhost install_packet]# ln -s /usr/local/bin/libmcrypt-config /usr/bin/libmcrypt-config

[root@mgmserver tar_packet]# tar -zxvf mcrypt-2.6.8.tar.gz -C ../install_packet/[root@mgmserver mcrypt-2.6.8]# /sbin/ldconfig[root@mgmserver mcrypt-2.6.8]# ./configure[root@mgmserver mcrypt-2.6.8]# make[root@mgmserver mcrypt-2.6.8]# make install

(2)、安装mysql

[root@mgmserver tar_packet]# groupadd mysql[root@mgmserver tar_packet]# useradd -g mysql mysql[root@mgmserver tar_packet]#tar -zxvf mysql-5.5.3-m3.tar.gz -C ../install_packet/[root@mgmserver mysql-5.5.3-m3]# ./configure --prefix=/usr/local/mysql --enable-assembler --with-charset=utf8 --with-extra-charsets=complex --enable-thread-safe-client --with-big-tables --with-readline --with-ssl --with-embedded-server --enable-local-infile --with-plugins=innobase --with-mysqld-ldflags=-all-static --with-client-ldflags=-all-static --with-unix-socket-path=/usr/local/mysql/tmp/mysql.sock

[root@mgmserver mysql-5.5.3-m3]# make[root@mgmserver mysql-5.5.3-m3]# make install[root@mgmserver mysql-5.5.3-m3]# cp support-files/my-large.cnf /etc/my.cnf[root@mgmserver mysql]# pwd/usr/local/mysql

[root@mgmserver mysql]# bin/mysql_install_db --user=mysqlInstalling MySQL system tables...100903 13:30:41 [ERROR] /usr/local/mysql/libexec/mysqld: unknown variable 'thread_concurren                 cy=8'100903 13:30:41 [ERROR] Aborting100903 13:30:41 [Note] /usr/local/mysql/libexec/mysqld: Shutdown complete

.......

mysql 初始化报错,发现网上有哥们已经解决了这个问题,实在是强大,原因是my.cnf中有一行:

thread_concurrency = 8

thread_concurrency这个变量,意思是并发的线程数,并且根据给的解释是该参数取值为服务器逻辑CPU数量×2,而如果每颗物理CPU又支持H.T超线程,所以实际取值为4 × 2 = 8。而我这个机器是ADM闪龙3000 单核的CPU,并不符合它的要求,所以它提示“unknown variable ‘thread_concurrency=8′”是个未知变量。对my.cnf做一些修改,把’thread_concurrency=8′注释掉

重新初始化OK

[root@mgmserver mysql]# bin/mysql_install_db --user=mysqlInstalling MySQL system tables...OKFilling help tables...OKTo start mysqld at boot time you have to copysupport-files/mysql.server to the right place for your system...........

[root@localhost mysql]# chown -R root .[root@localhost mysql]# chown -R mysql var[root@localhost mysql]# chgrp -R mysql .

[root@mgmserver mysql]# cp share/mysql/mysql.server /etc/init.d/mysqld[root@mgmserver mysql]# chkconfig --add mysqld[root@mgmserver mysql]# cd /etc/init.d/[root@mgmserver init.d]# chmod +x mysqld[root@mgmserver init.d]# chkconfig --list mysqldmysqld          0:关闭  1:关闭  2:启用  3:启用  4:启用  5:启用  6:关闭[root@mgmserver init.d]# service mysqld startStarting MySQL                                             [确定][root@mgmserver init.d]# cp /usr/local/mysql/bin/* /sbin/[root@mgmserver init.d]# mysqlWelcome to the MySQL monitor.  Commands end with ; or \g.Your MySQL connection id is 1Server version: 5.5.3-m3-log Source distributionType 'help;' or '\h' for help. Type '\c' to clear the current input statement.mysql> show databases;+--------------------+| Database           |+--------------------+| information_schema || mysql              || performance_schema || test               |+--------------------+4 rows in set (0.00 sec)mysql> exitBye[root@mgmserver init.d]# mysqladmin -u root -h localhost password 'mysql'[root@mgmserver init.d]# mysqlERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)[root@mgmserver init.d]#[root@mgmserver init.d]# mysql -u root -pEnter password:Welcome to the MySQL monitor.  Commands end with ; or \g.Your MySQL connection id is 4Server version: 5.5.3-m3-log Source distributionType 'help;' or '\h' for help. Type '\c' to clear the current input statement.mysql> show databases;

(3)、编译安装pHP (fastcgi模式)

[root@mgmserver tar_packet]# tar -zxvf php-5.2.14.tar.gz -C ../install_packet/

[root@mgmserver php-5.2.14]# pwd/home/install_packet/php-5.2.14

[root@localhost install_packet]# gzip -cd php-5.2.14-fpm-0.5.14.diff.gz |patch -d php-5.2.14 -p1

[root@mgmserver php-5.2.14]# ./configure --prefix=/usr/local/php --with-config-file-path=/usr/local/php/etc --with-mysql=/usr/local/mysql --with-mysqli=/usr/local/mysql/bin/mysql_config --with-iconv-dir=/usr/local --with-freetype-dir --with-jpeg-dir --with-png-dir --with-zlib --with-libxml-dir=/usr --enable-xml --disable-rpath --enable-discard-path --enable-safe-mode --enable-bcmath --enable-shmop --enable-sysvsem --enable-inline-optimization --with-curl --with-curlwrappers --enable-mbregex --enable-fastcgi --enable-fpm --enable-force-cgi-redirect --enable-mbstring --with-mcrypt --with-gd --enable-gd-native-ttf --with-openssl --with-mhash -enable-pcntl --enable-sockets --with-ldap --with-ldap-sasl --with-xmlrpc --enable-zip --enable-soap[root@mgmserver php-5.2.14]# make ZEND_EXTRA_LIBS='-liconv'[root@mgmserver php-5.2.14]# make install[root@mgmserver php-5.2.14]# cp php.ini-dist /usr/local/php/etc/php.ini

(4)、安装PHP扩展

[root@mgmserver tar_packet]# tar -zxvf memcache-2.2.5.tgz -C ../install_packet/[root@mgmserver memcache-2.2.5]# /usr/local/php/bin/phpize[root@mgmserver memcache-2.2.5]# ./configure --with-php-config=/usr/local/php/bin/php-config[root@mgmserver memcache-2.2.5]# make[root@mgmserver memcache-2.2.5]# make installInstalling shared extensions:     /usr/local/php/lib/php/extensions/no-debug-non-zts-20060613/[root@mgmserver tar_packet]# tar -jxvf eaccelerator-0.9.6.1.tar.bz2 -C ../install_packet/[root@mgmserver install_packet]# cd eaccelerator-0.9.6.1/[root@mgmserver eaccelerator-0.9.6.1]# /usr/local/php/bin/phpize[root@mgmserver eaccelerator-0.9.6.1]# ./configure --enable-eaccelerator=shared --with-php-config=/usr/local/php/bin/php-config[root@mgmserver eaccelerator-0.9.6.1]# make[root@mgmserver eaccelerator-0.9.6.1]# make installInstalling shared extensions:     /usr/local/php/lib/php/extensions/no-debug-non-zts-20060613/[root@mgmserver tar_packet]# tar -zxvf PDO_MYSQL-1.0.2.tgz -C ../install_packet/[root@mgmserver install_packet]# cd PDO_MYSQL-1.0.2/[root@mgmserver PDO_MYSQL-1.0.2]# /usr/local/php/bin/phpize[root@mgmserver PDO_MYSQL-1.0.2]# ./configure --with-php-config=/usr/local/php/bin/php-config --with-pdo-mysql=/usr/local/mysql[root@mgmserver PDO_MYSQL-1.0.2]# make[root@mgmserver PDO_MYSQL-1.0.2]# make installInstalling shared extensions:     /usr/local/php/lib/php/extensions/no-debug-non-zts-20060613[root@mgmserver tar_packet]# tar -zxvf ImageMagick.tar.gz -C ../install_packet/[root@mgmserver ImageMagick-6.5.1-2]# ./configure[root@mgmserver ImageMagick-6.5.1-2]# make[root@mgmserver ImageMagick-6.5.1-2]# make install[root@mgmserver tar_packet]# tar -zxvf imagick-2.3.0.tgz -C ../install_packet/[root@mgmserver install_packet]# cd imagick-2.3.0/[root@mgmserver imagick-2.3.0]# /usr/local/php/bin/phpize[root@mgmserver imagick-2.3.0]# ./configure --with-php-config=/usr/local/php/bin/php-config[root@mgmserver imagick-2.3.0]# make[root@mgmserver imagick-2.3.0]# make installInstalling shared extensions:     /usr/local/php/lib/php/extensions/no-debug-non-zts-20060613/

(5)、修改php.ini文件

找到491行的extension_dir = "./"修改为  extension_dir = "/usr/local/php/lib/php/extensions/no-debug-non-zts-20060613" 指定模块所在的位置;在这行后面加上493  extension = "imagick.so"    494  extension = " memcache.so"    495  extension = "pdo_mysql.so"在 101行处    修改 output_buffering = Off为 output_buffering = On把523 处的注释去掉, cgi.fix_pathinfo=0 防止nginx文件类型错误解析漏洞

6、配置php加速eaccelerator

创建缓存文件夹;

[root@mgmserver local]# mkdir eaccelerator_cache

在php.ini配置文件末尾加上如下:1290 [eaccelerator]   1291   extension=/usr/local/php/lib/php/extensions/no-debug-non-zts-20060613/eaccelerator.so   1292   eaccelerator.shm_size="32"   1293   eaccelerator.cache_dir="/usr/local/eaccelerator_cache"   1294   eaccelerator.enable="1"   1295   eaccelerator.optimizer="1"   1296   eaccelerator.check_mtime="1"   1297   eaccelerator.debug="0"   1298   eaccelerator.filter=""   1299   eaccelerator.shm_max="0"   1300   eaccelerator.shm_ttl="3600"   1301   eaccelerator.shm_prune_period="360"   1302   eaccelerator.shm_only="0"   1303   eaccelerator.compress="1"   1304   eaccelerator.compress_level="9"

(7)、悲剧了,空余的机器被拿去用了,只好换个机器,创建www 用户和组,及两个虚拟主机域名目录www.nginx.com与web.nginx.com

[root@mgmserver ~]# groupadd www[root@mgmserver ~]# useradd -g www www[root@nginx ~]# mkdir -p /web/htdocs/www.nginx.com[root@nginx ~]# chown -R www:www /web/htdocs/www.nginx.com[root@nginx ~]# mkdir -p /web/htdocs/web.nginx.com[root@nginx ~]# chown -R www:www /web/htdocs/web.nginx.com/

8、修改php-fpm配置文件,黄色标记的是修改值

1 <?xml version="1.0" ?>      2       3      4         All relative paths in this config are relative to php's install prefix      5      6               7      8                 Pid file      9                 /usr/local/php/logs/php-fpm.pid     10     11                 Error log file     12                 /usr/local/php/logs/php-fpm.log     13     14                 Log level     15                 notice     16     17                 When this amount of php processes exited with SIGSEGV or SIGBUS ...     18                 10     19     20                 ... in a less than this interval of time, a graceful restart will be initiated.     21                 Useful to work around accidental curruptions in accelerator's shared memory.     22                 1m     23     24                 Time limit on waiting child's reaction on signals from master     25                 5s     26     27                 Set to 'no' to debug fpm     28                 yes     29     30              31     32              33     34                      35     36                         Name of pool. Used in logs and stats.     37                         default     38     39                         Address to accept fastcgi requests on.     40                         Valid syntax is 'ip.ad.re.ss:port' or just 'port' or '/path/to/unix/socket'     41                         127.0.0.1:9000     42     43                             44     45                                 Set listen(2) backlog     46                                 -1     47     48                                 Set permissions for unix socket, if one used.     49                                 In Linux read/write permissions must be set in order to allow connections from web server.     50                                 Many BSD-derrived systems allow connections regardless of permissions.     51                                      52                                      53                                 0666     54                              55     56                         Additional php.ini defines, specific to this pool of workers.     57                              58                      59                      60                              61     62                         Unix user of processes     63                      64     65                         Unix group of processes     66                      67     68                         Process manager settings     69                              70     71                                 Sets style of controling worker process count.     72                                 Valid values are 'static' and 'apache-like'     73                                 static     74     75                                 Sets the limit on the number of simultaneous requests that will be served.     76                                 Equivalent to Apache MaxClients directive.     77                                 Equivalent to PHP_FCGI_CHILDREN environment in original php.fcgi     78                                 Used with any pm_style.     79                                64(如果机器内存小于3G,可以设置64个进程)     80     81                                 Settings group for 'apache-like' pm style     82                                      83     84                                         Sets the number of server processes created on startup.     85                                         Used only when 'apache-like' pm_style is selected     86                                         20    87     88                                         Sets the desired minimum number of idle server processes.     89                                         Used only when 'apache-like' pm_style is selected     90                                         5     91     92                                         Sets the desired maximum number of idle server processes.     93                                         Used only when 'apache-like' pm_style is selected     94                                         35     95     96                                      97     98                              99    100                         The timeout (in seconds) for serving a single request after which the worker process will be terminated    101                         Should be used when 'max_execution_time' ini option does not stop script execution for some reason    102                         '0s' means 'off'    103                         0s    104    105                         The timeout (in seconds) for serving of single request after which a php backtrace will be dumped to slow.log file    106                         '0s' means 'off'    107                         0s    108    109                         The log file for slow requests    110                         logs/slow.log    111    112                         Set open file desc rlimit    113                        65535    114    115                         Set max core size rlimit    116                         0    117    118                         Chroot to this directory at the start, absolute path    119                             120    121                         Chdir to this directory at the start, absolute path    122                             123    124                         Redirect workers' stdout and stderr into main error log.    125                         If not set, they will be redirected to /dev/null, according to FastCGI specs    126                         yes    127    128                         How much requests each process should execute before respawn.    129                         Useful to work around memory leaks in 3rd party libraries.    130                         For endless request processing please specify 0    131                         Equivalent to PHP_FCGI_MAX_REQUESTS    132                         500    133    134                         Comma separated list of ipv4 addresses of FastCGI clients that allowed to connect.    135                         Equivalent to FCGI_WEB_SERVER_ADDRS environment in original php.fcgi (5.2.2+)    136                         Makes sense only with AF_INET listening socket.    137                         127.0.0.1    138    139                         Pass environment variables like LD_LIBRARY_PATH    140                         All $VARIABLEs are taken from current environment    141                             142                                 $HOSTNAME    143                                 /usr/local/bin:/usr/bin:/bin    144                                 /tmp    145                                 /tmp    146                                 /tmp    147                                 $OSTYPE    148                                 $MACHTYPE    149                                 2    150                             151    152                     153    154             155    156

(9)、启动php-cgi进程,监听127.0.0.1的9000端口,进程数为64

把配置文件的63行和66行修改如下:

62                         Unix user of processes     63                www                      64     65                         Unix group of processes     66               www

切记要把63行和66行的注释符号去掉不然在启动时会出错的!

[ERROR] fpm_unix_conf_wp(), line 124: please specify user and group other than root, pool 'default'

[root@nginx ~]# /usr/local/php/sbin/php-fpm startStarting php_fpm . done

[root@nginx nginx]# netstat -ntplActive Internet connections (only servers)Proto Recv-Q Send-Q Local Address               Foreign Address             State       PID/Program nametcp        0      0 127.0.0.1:2208              0.0.0.0:*                   LISTEN      2630/hpiodtcp        0      0 0.0.0.0:833                 0.0.0.0:*                   LISTEN      2347/rpc.statdtcp        0      0 127.0.0.1:9000              0.0.0.0:*                   LISTEN      5285/php-cgi

........

3、安装nginx

(1)、安装nginx及所需要的pcre库

[root@nginx pcre-8.10]# ./configure[root@nginx pcre-8.10]# make[root@nginx pcre-8.10]# make install[root@nginx install_packet]# cd nginx-0.8.48/[root@nginx nginx-0.8.48]# ./configure --user=www --group=www --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module[root@nginx nginx-0.8.48]#make[root@nginx nginx-0.8.48]#make install

(2)、创建nginx的日志文件[root@nginx /]# mkdir -p web/nginxlogs[root@nginx /]# chmod +w web/nginxlogs/[root@nginx /]# chown -R www:www web/nginxlogs/

(3)、修改nginx的配置文件如下:

1      2 user www www;      3 worker_processes  1;      4 error_log    /web/nginxlogs/error.log  crit;      5 pid        /usr/local/nginx/nginx.pid;      6 worker_rlimit_nofile 65535;      7 events {      8     use epoll;      9     worker_connections  1024;     10 }     11     12     13 http {     14     include       mime.types;     15     default_type  application/octet-stream;     1617     server_names_hash_bucket_size 128;     18     client_header_buffer_size 32k;     19     large_client_header_buffers 4 32k;     20     client_max_body_size 8m;     21     22     23     sendfile        on;     24     tcp_nopush     on;     25     26     #keepalive_timeout  0;     27     keepalive_timeout  60;     28     tcp_nodelay    on;     2930     fastcgi_connect_timeout 300;     31     fastcgi_send_timeout    300;     32     fastcgi_read_timeout     300;     33     fastcgi_buffer_size     64k;     34     fastcgi_buffers       4 64k;     35     fastcgi_busy_buffers_size 128k;     36     fastcgi_temp_file_write_size 128k;     37 38     gzip  on;     39     gzip_min_length        1k;     40     gzip_buffers      4    16k;     41     gzip_http_version      1.0;     42     gzip_comp_level  2;     43     gzip_types  text/plain application/x-javascript text/css application/xml;        44     gzip_vary on;     45     46     server {     47         listen       80;     48         server_name  www.nginx.com;     49         root   /web/htdocs/www.nginx.com;     50         index  index.html index.htm index.php;     51     52         location ~.*\.(php|php5)?$ {     53              fastcgi_pass   127.0.0.1:9000;     54              fastcgi_index  index.php;     55              include        fastcgi.conf;     56         }     57     58         location ~.*\.(gif|jpg|jpeg|png|bmp|swf)$     59         {     60             expires    30d;     61         }     62         location ~.*\.(js|css)$     63         {     64             expires    1h;     65         }     66         log_format  wwwaccess  '$remote_addr - $remote_user [$time_local] "$request" '     67                             '$status $body_bytes_sent "$http_referer" '     68                             '"$http_user_agent" $http_x_forwarded_for';     69         access_log  /web/nginxlogs/wwwaccess.log  wwwaccess;     70 }     71     72     73    server {     74          listen       80;     75          server_name  web.nginx.com;     76          root   /web/htdocs/web.nginx.com;     77          index  index.html index.htm index.php;     78          location ~.*\.(php|php5)?$     79          {     80          fastcgi_pass   127.0.0.1:9000;     81          fastcgi_index  index.php;     82          include        fastcgi.conf;     83          }     84     log_format  webaccess  '$remote_addr - $remote_user [$time_local] "$request"'

85                         '$status $body_bytes_sent "$http_referer"'     86                         '"$http_user_agent" $http_x_forwarded_for';     87      access_log  /web/nginxlogs/webaccess.log  webaccess;     88     }     89 }(4)、保持conf/下fastcgi.conf配置文件不变就可以了

(5)、启动nginx

[root@nginx nginx]#/usr/

[root@nginx nginx]# /usr/local/nginx/sbin/nginx(6)、开机启动nginx 与php

[root@nginx nginxlogs]# vi /etc/rc.local

ulimit -SHn 65535/usr/local/php/sbin/php-fpm start/usr/local/nginx/sbin/nginx

(7)修改文件中先检查配置文件是否正确,然后在启动

[root@nginx nginxlogs]# /usr/local/nginx/sbin/nginx -tthe configuration file /usr/local/nginx/conf/nginx.conf syntax is okconfiguration file /usr/local/nginx/conf/nginx.conf test is successful

[root@nginx nginxlogs]# kill -HUP `cat /usr/local/nginx/nginx.pid`或者

[root@nginx nginxlogs]# /usr/loca/nginx/sbin/nginx -s reload

4、测试

在www.nginx.com的文档目录中

[root@nginx www.nginx.com]# vi index.php/<?php   phpinfo(); ?>类似的在web.nginx.com中新建一个index.php文件:

基本上算是完成了涨老师的实验配置

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值