php.ini优化,,,php-fpm
无论是apache还是nginx,php.ini都是合适的。而php-fpm.conf适合nginx+fcgi的配置。
1)打开PHP的安全模式
PHP的安全模式是个非常重要的PHP内嵌的安全机制,能够控制一些PHP中的函数执行,
比如system(),同时把很多文件操作的函数进行了权限的控制。 safe_mode = Off
打开时,PHP将检查当前脚本的拥有者是否和被操作的文件的拥有者相同
safe_mode = On
2)用户组安全
当safe_mode打开时,safe_mode_gid被关闭,那么php脚本能够对文件进行访问,而且相同组的用户也能够对文件进行访问。建议设置为:safe_mode_gid = Off
如果不进行设置,可能我们无法对我们服务器网站目录下的文件进行操作了,比如我们需要对文件进行操作的时候。php5.3.27默认为Off
3)关闭危险函数
如果打开了安全模式,那么函数禁止是可以不需要的,但是我们为了安全考虑,,比如,我们觉得不希望执行包括system()等在那的能够执行命令的PHP函数,或者能够查看PHP
信息的phpinfo()等函数,那么我们可以禁止它们:
disable_functions = system,passthru,exec,shell_exec,popen,phpinfo
4)关闭PHP版本信息在http头中的泄漏
expose_php = On
建议设置为:safe_mode_gid
expose_php = Off
5)关闭注册全局变量
在php中提交的变量,包括使用post或者get提交的变量,都将自动注册为全局变量,能够直接访问,这是对服务器非常不安全的
register_globals = Off
6)防止sql注入
magic_quotes_gpc = Off
这个默认是关闭的,如果它打开后将自动把用户提交对sql的查询进行转换,比如把'转为\'等,这对防止sql注入有重大作用
magic_quotes_gpc = On
7)错误信息控制
display_errors = Off
如果你确实是要显示错误信息,一定要设置显示错误的级别,比如只显示警告以上的信息
error_reporting
8)错误日志
建议在关闭display_errors后能够把错误信息记录下来,便于查找服务器运行的原因
log_errors = On
同时也要设置错误日志存放的目录,建议跟apache的日志存放在一起
error_log = /app/logs/php_error.log
文件必须允许apache用户的和组具有写的权限。
9)部分资源限制参数优化
9.1)设置每个脚本运行的最长时间
当无法上传较大的文件或者后台备份数据经常超时:
max_execution_time = 30
每个脚本最大允许执行时间(秒),0表示没有限制。
这个参数有助于阻止劣质脚本无休止的占用服务器资源。
该指令仅影响脚本本身的运行时间,任何其他花费在脚本运行之外的时间。
如用system()/sleep()函数的使用、数据库查询、文件上传等,都不包括在内。
在安全模式下,你不能用ini_set()在运行时改变这个设置。
9.2)每个脚本使用的最大内存
memory_limit = 128M
一个脚本所能够申请到的最大内存字节数(可用使用K和M作为单位)。
这有助于防止劣质脚本消耗完服务器上的所有内存。
要能够使用该指令必须在编译时使用“--enable-memory-limit”配置选项。
如果要取消内存限制,则必须将其设为-1。
设置了该指令后,memory_get_usage()函数将变为可用。
9.3)每个脚本等待输入数据最长时间
max_input_time = -1
每个脚本解析输入数据(POST,GET,upload)的最大允许时间(秒)
-1表示不限制
设置为:
max_input_time = 60
9.4)上载文件的最大许可大小
当上传较大文件时,需要调整如下参数:
upload_max_filesize = 2M;
上载文件的最大许可大小,自己改吧,一些图片论坛需要这个更大的值。
10)部分安全参数优化
10.1)禁止打开远程地址,php include的那个漏洞,就是在一个php程序中include了变量
,那么入侵者就可以利用这个控制服务器在本地执行远程的一个php程序,例如phpshell
所以要关闭
allow_url_fopen = Off
10.2)防止Nginx文件类型错误解析漏洞
cgi.fix_pathinfo=0
11)调整php sesson信息存放类型和位置
session.save_handler = files
存储和检索与会话关联的数据的处理器名字。默认为文件“files”
如果想要使用自定义的处理器(如基于数据库的处理器),可用"user"
设为“memcache”则可以使用memcache作为会话处理器(需要指定“--enable-memcache-session”)
session.save_path="/tmp"
传递给存储处理器的参数。对于files处理器,此值是创建会话数据文件的路径
Web集群session共享存储设置:
默认php.ini中session的类型和配置路径:
#session.save_handler = files
#session.save_path = "/tmp"
修改成如下配置:
session.save_handler = memcache
session.save_path = "tcp://192.168.1.1:1234"
提示:
1)192.168.1.1:1234为memcached数据库缓存的ip及端口。
2)上述适合lnmp,lamp环境。
3)memcached服务器也可以是多台通过hash调度。
关于php-fpm的参数调优,可以查看本机里面的文件。
pid = /app/logs/php-fpm.pid
error_log = /app/logs/php-fpm.log
log_level = error
rlimit_files = 32768
events.mechanism = epoll
listen.owner = nginx
listen.group = nginx
pm.max_children = 1024
pm.start_servers = 16
pm.min_spare_servers = 5
pm.max_spare_servers = 20
pm.process_idle_timeout = 15s;
pm.max_requests = 2048
;access.format = %R - %u %t "%m %r%Q%q" %s %f %{mili}d %{kilo}M %C%%
slowlog = /app/logs/$pool.log.slow
request_slowlog_timeout = 10
php_admin_value[sendmail_path] = /usr/sbin/sendmail -t -i -f 88888888@qq.com
php.ini
opcache.memory_consumption=128
opcache.interned_strings_buffer=8
opcache.max_accelerated_files=4000
opcache.revalidate_freq=60
opcache.fast_shutdown=1
opcache.enable_cli=1
php.ini优化,,,php-fpm的更多相关文章
- mysql for windows之my.ini优化
修改配置文件 C:\ProgramData\MySQL\MySQL Server 5.6\my.ini 并重新启动. 1, 查看MySQL服务器配置信息 mysql> show variabl ...
- mysql配置文件my.ini优化详解
mysql 5.5.13参数说明:[client]character-set-server = utf8port = 3306socket = /data/mysql/3306/mysql.sock[ ...
- php引擎文件php.ini优化参数
无论是Apache环境还是nginx环境,php.ini都适合,php-fpm.conf适合nginx+fcgi的配置. 生产环境php.ini(php.ini-production) php.ini ...
- my.ini优化mysql数据库性能的十个参数(推荐)
(1).max_connections:允许的同时客户的数量.增加该值增加 mysqld 要求的文件描述符的数量.这个数字应该增加,否则,你将经常看到 too many connections 错误. ...
- eclipse提速02 - eclipse.ini优化
给eclipse执行jvm.它可以让你使用自己的jdk,而不是系统环境变量所指定的jdk -vm /path/to/your/java 使用最新的jdk来运行eclipse.使用最新的jdk要好很多. ...
- linux 查找php.ini 文件
sudo find /* -name 'php.ini' /etc/php5/fpm/php.ini
- ubuntu php.ini文件位置
mc@XJ > locate php.ini/etc/php5/cli/php.ini/etc/php5/fpm/php.ini
- mySQL内存及虚拟内存优化设置
为了装mysql环境测试,装上后发现启动后mysql占用了很大的虚拟内存,达8百多兆.网上搜索了一下,得到高人指点my.ini.再也没见再详细的了..只好打开my.ini逐行的啃,虽然英文差了点,不过 ...
- CentOS6编译LAMP基于FPM模式的应用wordpress
CentOS6编译LAMP基于FPM模式的应用wordpress 引言:其实我们可以直接使用yum安装LAMP(Linux+Apache[httpd]+Mysql+PHP),比手动编译安装LAMP要简 ...
随机推荐
- java内存溢出怎么解决
java.lang.OutOfMemoryError这个错误我相信大部分开发人员都有遇到过,产生该错误的原因大都出于以下原因:JVM内存过小.程序不严密,产生了过多的垃圾. 导致OutOfMemory ...
- 【BZOJ】1649: [Usaco2006 Dec]Cow Roller Coaster(dp)
http://www.lydsy.com/JudgeOnline/problem.php?id=1649 又是题解... 设f[i][j]表示费用i长度j得到的最大乐趣 f[i][end[a]]=ma ...
- C++继承具体解释之二——派生类成员函数具体解释(函数隐藏、构造函数与兼容覆盖规则)
在这一篇文章開始之前.我先解决一个问题. 在上一篇C++继承详解之中的一个--初探继承中,我提到了在派生类中能够定义一个与基类成员函数同名的函数,这样派生类中的函数就会覆盖掉基类的成员函数. 在谭浩强 ...
- iOS开发 - CALayer图层
CALayer的基本使用 在iOS中.你能看得见摸得着的东西基本上都是UIView.比方一个button.一个文本标签.一个文本输入框.一个图标等等.这些都是UIView 事实上UIView之所以能显 ...
- Windows下基于eclipse的Spark应用开发环境搭建
原创文章,转载请注明: 转载自www.cnblogs.com/tovin/p/3822985.html 一.软件下载 maven下载安装 :http://10.100.209.243/share/so ...
- ios应用, 设置不自己主动备份到iCloud
原创文章,转载请注明出处 ios项目,假设有内置下载或者程序动态生成文件的话,就要注意所下载或生成的文件,要不要自己主动备份到iCloud 假设没有合适的理由就自己主动上传大文件的话,可能在不能通过应 ...
- Struts2_day01--访问action的方法
访问action的方法(重点) 1 有三种方式实现 第一种 使用action标签的method属性,在这个属性里面写执行的action的方法名称 第二种 使用通配符方式实现 第三种 动态访问实现(不用 ...
- 剑指 offer set 22 数组中的逆序数
总结 1. 题目为归并排序的变形, 不过我完全没想到 2. 在归并排序进行字符组 merge 时, 统计逆序数. merge 后, 两个子数组是有序的了, 下次再 merge 的时候就能以 o(n) ...
- C语言数组的概念
在<C语言数据输出大汇总以及轻量进阶>一节中我们举了一个例子,是输出一个 4×4 的整数矩阵,代码如下: #include <stdio.h> #include <std ...
- Android无线测试之—UiAutomator UiScrollable API介绍七
滑动到某个对象 一.滑动到某个对象相关API 返回值 API 描述 boolean scrollIntoView(UiSelector selector) 滑动到条件元素所在位置,并且尽量让其居于屏幕 ...