无论是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的更多相关文章

  1. mysql for windows之my.ini优化

    修改配置文件 C:\ProgramData\MySQL\MySQL Server 5.6\my.ini  并重新启动. 1, 查看MySQL服务器配置信息 mysql> show variabl ...

  2. mysql配置文件my.ini优化详解

    mysql 5.5.13参数说明:[client]character-set-server = utf8port = 3306socket = /data/mysql/3306/mysql.sock[ ...

  3. php引擎文件php.ini优化参数

    无论是Apache环境还是nginx环境,php.ini都适合,php-fpm.conf适合nginx+fcgi的配置. 生产环境php.ini(php.ini-production) php.ini ...

  4. my.ini优化mysql数据库性能的十个参数(推荐)

    (1).max_connections:允许的同时客户的数量.增加该值增加 mysqld 要求的文件描述符的数量.这个数字应该增加,否则,你将经常看到 too many connections 错误. ...

  5. eclipse提速02 - eclipse.ini优化

    给eclipse执行jvm.它可以让你使用自己的jdk,而不是系统环境变量所指定的jdk -vm /path/to/your/java 使用最新的jdk来运行eclipse.使用最新的jdk要好很多. ...

  6. linux 查找php.ini 文件

    sudo find /* -name 'php.ini' /etc/php5/fpm/php.ini

  7. ubuntu php.ini文件位置

    mc@XJ > locate php.ini/etc/php5/cli/php.ini/etc/php5/fpm/php.ini

  8. mySQL内存及虚拟内存优化设置

    为了装mysql环境测试,装上后发现启动后mysql占用了很大的虚拟内存,达8百多兆.网上搜索了一下,得到高人指点my.ini.再也没见再详细的了..只好打开my.ini逐行的啃,虽然英文差了点,不过 ...

  9. CentOS6编译LAMP基于FPM模式的应用wordpress

    CentOS6编译LAMP基于FPM模式的应用wordpress 引言:其实我们可以直接使用yum安装LAMP(Linux+Apache[httpd]+Mysql+PHP),比手动编译安装LAMP要简 ...

随机推荐

  1. java内存溢出怎么解决

    java.lang.OutOfMemoryError这个错误我相信大部分开发人员都有遇到过,产生该错误的原因大都出于以下原因:JVM内存过小.程序不严密,产生了过多的垃圾. 导致OutOfMemory ...

  2. 【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 ...

  3. C++继承具体解释之二——派生类成员函数具体解释(函数隐藏、构造函数与兼容覆盖规则)

    在这一篇文章開始之前.我先解决一个问题. 在上一篇C++继承详解之中的一个--初探继承中,我提到了在派生类中能够定义一个与基类成员函数同名的函数,这样派生类中的函数就会覆盖掉基类的成员函数. 在谭浩强 ...

  4. iOS开发 - CALayer图层

    CALayer的基本使用 在iOS中.你能看得见摸得着的东西基本上都是UIView.比方一个button.一个文本标签.一个文本输入框.一个图标等等.这些都是UIView 事实上UIView之所以能显 ...

  5. Windows下基于eclipse的Spark应用开发环境搭建

    原创文章,转载请注明: 转载自www.cnblogs.com/tovin/p/3822985.html 一.软件下载 maven下载安装 :http://10.100.209.243/share/so ...

  6. ios应用, 设置不自己主动备份到iCloud

    原创文章,转载请注明出处 ios项目,假设有内置下载或者程序动态生成文件的话,就要注意所下载或生成的文件,要不要自己主动备份到iCloud 假设没有合适的理由就自己主动上传大文件的话,可能在不能通过应 ...

  7. Struts2_day01--访问action的方法

    访问action的方法(重点) 1 有三种方式实现 第一种 使用action标签的method属性,在这个属性里面写执行的action的方法名称 第二种 使用通配符方式实现 第三种 动态访问实现(不用 ...

  8. 剑指 offer set 22 数组中的逆序数

    总结 1. 题目为归并排序的变形, 不过我完全没想到 2. 在归并排序进行字符组 merge 时, 统计逆序数. merge 后, 两个子数组是有序的了, 下次再 merge 的时候就能以 o(n) ...

  9. C语言数组的概念

    在<C语言数据输出大汇总以及轻量进阶>一节中我们举了一个例子,是输出一个 4×4 的整数矩阵,代码如下: #include <stdio.h> #include <std ...

  10. Android无线测试之—UiAutomator UiScrollable API介绍七

    滑动到某个对象 一.滑动到某个对象相关API 返回值 API 描述 boolean scrollIntoView(UiSelector selector) 滑动到条件元素所在位置,并且尽量让其居于屏幕 ...