php53 fastcgi方式 安装以及和nginx整合Word文件下载.docx
《php53 fastcgi方式 安装以及和nginx整合Word文件下载.docx》由会员分享,可在线阅读,更多相关《php53 fastcgi方式 安装以及和nginx整合Word文件下载.docx(20页珍藏版)》请在冰豆网上搜索。
![php53 fastcgi方式 安装以及和nginx整合Word文件下载.docx](https://file1.bdocx.com/fileroot1/2022-11/16/3355b296-1501-458c-9a8f-fa17c02dbb8a/3355b296-1501-458c-9a8f-fa17c02dbb8a1.gif)
cd/software/libmcrypt-2.5.8
./configure--prefix=/usr/local/libmcrypt/
cd/software/libmcrypt-2.5.8/libltdl
./configure--enable-ltdl-install
cd/software/libpng-1.2.31
./configure--prefix=/usr/local/libpng/
mkdir/usr/local/jpeg6
mkdir/usr/local/jpeg6/bin
mkdir/usr/local/jpeg6/lib
mkdir/usr/local/jpeg6/include
mkdir-p/usr/local/jpeg6/man/man1
cd/software/jpeg-6b
./configure--prefix=/usr/local/jpeg6/--enable-shared--enable-static
cd/software/freetype-2.3.5
./configure--prefix=/usr/local/freetype/
cd/software/autoconf-2.61
cd/software/gd-2.0.35
./configure--prefix=/usr/local/gd2/--with-jpeg=/usr/local/jpeg6/--with-freetype=/usr/local/freetype/
cd/software/ncurses-5.6
./configure--with-shared--without-debug--without-ada--enable-overwrite
2、安装php
useraddwww
groupaddwww
./configure--prefix=/usr/local/php/--with-config-file-path=/usr/local/php/etc/--with-mysql=/usr/local/mysql/--with-libxml-dir=/usr/local/libxml2/--with-jpeg-dir=/usr/local/jpeg6/--with-freetype-dir=/usr/local/freetype/--with-gd=/usr/local/gd2/--with-mcrypt=/usr/local/libmcrypt/--with-mysqli=/usr/local/mysql/bin/mysql_config--enable-fpm--with-fpm-user=www--with-fpm-group=www
cpphp.ini-development/usr/local/php/etc/php.ini#php配置文件
cp
/usr/local/php/etc/php-fpm.conf.default/usr/local/php/etc/php-fpm.conf
#php-fpm配置文件
测试php-fpm.conf文件的正确性
/usr/local/php/sbin/php-fpm-t
/usr/local/php/sbin/php-fpm-c/usr/local/php/etc/php.ini-y/usr/local/php/etc/php-fpm.conf-t#同时制定配置文件的位置
启动php-fpm
#启动php-fpm
/usr/local/php/sbin/php-fpm
/usr/local/php/sbin/php-fpm-c/usr/local/php/etc/php.ini-y/usr/local/php/etc/php-fpm.conf
php-fpm不再支持php-fpm补丁具有的/usr/local/php/sbin/php-fpm(start|stop|reload)等命令,需要使用信号控制:
master进程可以理解以下信号
INT,TERM立刻终止
QUIT平滑终止
USR1重新打开日志文件
USR2平滑重载所有worker进程并重新载入配置和二进制模块
示例:
#php-fpm关闭:
kill-INT`cat/usr/local/php//var/php-fpm.pid`#注如果编译的时候不指定pid文件的路径,需要在php-fpm.conf中指定pid的位置,否则找不到pid文件
#php-fpm重启:
kill-USR2`cat/usr/local/php//var/php-fpm.pid`
killallphp-fpm #结束所有php-fpm进程
nginx里面打开对php的支持
只需要把这四句的注释打开,注意改下路径
记录php错误
#修改php.ini中
error_reporting=E_ALL
display_errors=On
-----------------------------------------------
log_errors=On
log_errors_max_len=10240
error_log=/data1/tcms/var/logs/php5.log
php-fpm.conf重要参数详解
pid=run/php-fpm.pid
#pid设置,默认在安装目录中的var/run/php-fpm.pid,建议开启
error_log=log/php-fpm.log
#错误日志,默认在安装目录中的var/log/php-fpm.log
log_level=notice
#错误级别.可用级别为:
alert(必须立即处理),error(错误情况),warning(警告情况),notice(一般重要信息),debug(调试信息).默认:
notice.
emergency_restart_threshold=60
emergency_restart_interval=60s
#表示在emergency_restart_interval所设值内出现SIGSEGV或者SIGBUS错误的php-cgi进程数如果超过emergency_restart_threshold个,php-fpm就会优雅重启。
这两个选项一般保持默认值。
process_control_timeout=0
#设置子进程接受主进程复用信号的超时时间.可用单位:
s(秒),m(分),h(小时),或者d(天)默认单位:
s(秒).默认值:
0.
daemonize=yes
#后台执行fpm,默认值为yes,如果为了调试可以改为no。
在FPM中,可以使用不同的设置来运行多个进程池。
这些设置可以针对每个进程池单独设置。
listen=127.0.0.1:
9000
#fpm监听端口,即nginx中php处理的地址,一般默认值即可。
可用格式为:
'
ip:
port'
'
/path/to/unix/socket'
.每个进程池都需要设置.
listen.backlog=-1
#backlog数,-1表示无限制,由操作系统决定,此行注释掉就行。
backlog含义参考:
http:
//www.3gyou.cc/?
p=41
listen.allowed_clients=127.0.0.1
#允许访问FastCGI进程的IP,设置any为不限制IP,如果要设置其他主机的nginx也能访问这台FPM进程,listen处要设置成本地可被访问的IP。
默认值是any。
每个地址是用逗号分隔.如果没有设置或者为空,则允许任何服务器请求连接
listen.owner=www
listen.group=www
listen.mode=0666
#unixsocket设置选项,如果使用tcp方式访问,这里注释即可。
user=www
group=www
#启动进程的帐户和组
pm=dynamic#对于专用服务器,pm可以设置为static。
#如何控制子进程,选项有static和dynamic。
如果选择static,则由pm.max_children指定固定的子进程数。
如果选择dynamic,则由下开参数决定:
pm.max_children#,子进程最大数
pm.start_servers#,启动时的进程数
pm.min_spare_servers#,保证空闲进程数最小值,如果空闲进程小于此值,则创建新的子进程
pm.max_spare_servers#,保证空闲进程数最大值,如果空闲进程大于此值,此进行清理
pm.max_requests=1000
#设置每个子进程重生之前服务的请求数.对于可能存在内存泄漏的第三方模块来说是非常有用的.如果设置为'
0'
则一直接受请求.等同于PHP_FCGI_MAX_REQUESTS环境变量.默认值:
pm.status_path=/status
#FPM状态页面的网址.如果没有设置,则无法访问状态页面.默认值:
none.munin监控会使用到
ping.path=/ping
#FPM监控页面的ping网址.如果没有设置,则无法访问ping页面.该页面用于外部检测FPM是否存活并且可以响应请求.请注意必须以斜线开头(/)。
ping.response=pong
#用于定义ping请求的返回相应.返回为HTTP200的text/plain格式文本.默认值:
pong.
request_terminate_timeout=0
#设置单个请求的超时中止时间.该选项可能会对php.ini设置中的'
max_execution_time'
因为某些特殊原因没有中止运行的脚本有用.设置为'
表示'
Off'
.当经常出现502错误时可以尝试更改此选项。
request_slowlog_timeout=10s
#当一个请求该设置的超时时间后,就会将对应的PHP调用堆栈信息完整写入到慢日志中.设置为'
slowlog=log/$