媒介:本文提到的参数,和实际应用中处事器会见量有关。详细请本身斟酌修改。
一、系统篇
1、增加系统文件打开数vi /etc/security/limits.conf
* hard nofile 51200
* soft nofile 51200
这篇文章做参考照旧挺好的:http://bbs.chinaunix.net/forum.php?mod=viewthread&tid=1029881
2、封锁Mail Server(centos7):systemctl disable postfix.service
启用:systemctl enable postfix.service
封锁Mail Server(centos6):chkconfig postfix off
二、Nginx篇
1、Nginx http块:屏蔽版本信息server_tokens off;不外照旧可以通过$_SERVER["SERVER_SOFTWARE"]得到=>nginx/1.0.11.因此得vi /usr/local/nginx/fastcgi_params(文件路径取决于你的nginx.conf路径) 修改fastcgi_param SERVER_SOFTWARE nginx/$nginx_version;将/$nginx_version去掉,可能改本性点^_^
2、Nginx http块:上传体积限制client_max_body_size 8m;
3、http块插手fastcgi_intercept_errors on; (这句要加上,不然404很杂乱)
error_page 404 403 /404.html;(404.html文件体积不能太小)
4、文件范例:
vi /usr/local/webroot/mime.types
application/octet-stream url;(增加url快捷链接文件下载,这个一般用不着。)
application/vnd.android.package-archive apk;(增加安卓应用文件下载,这个一般用不着。)
5、Nginx伪静态方面.htaccess的成果太弱,需要在nginx.conf上配置,详细可以看下网上资料,一搜一大把。apache支持的.htaccess成果强大些。不外在nginx.conf上配置的伪静态法则却是很强大的。
6、克制盗链:
location ~* .(txt|ico|gif|png|bmp|jpg|jpeg|zip|rar|gz|7z|exe|mp3|flv|swf)$ {
valid_referers none blocked a.org www.a.org ;
if ($invalid_referer) {#$invalid_referer为变量
rewrite ^/ http://www.a.org/404.html;
}
7、克制IP会见:
有些VPS或机房会答允以IP直接会见,添加以下server块克制:
server {
server_name _;
return 403;
}
8、克制其他玉米会见
我遇到过新买的VPS,上面居然绑了N多域名,功效导致百度收录紊乱,添加以下server块克制:
server {
listen 80 default;
rewrite ^(.*) http://www.flashgou.com permanent;
}
9、克制目次执行php(理会php)
location /uploads/ {
location ~ .*.(php)?$ {
deny all;
}
}
10、# set php open_basedir
fastcgi_param PHP_ADMIN_VALUE "open_basedir=$document_root/:/tmp/:/proc/";
三、PHP篇
Php.ini:
1、屏蔽php版本信息expose_php=off,不外仍旧可以通过PHP_VERSION常量来显示,但长途探测已乐成屏蔽了。
2、克制危险函数disable_functions =phpinfo,exec,passthru,shell_exec,system,proc_open,popen,curl_exec,curl_multi_exec,parse_ini_file,show_source
system,exec,phpinfo
3、限制目次:open_basedir =/var/www/sina/:/var/www/wangyi/:/var/www/logs/session/,,假如是apache则可以利用php_admin_value open_basedir 限定
4、配置时区,封锁讨厌的告诫date.timezone ="Asia/Shanghai"
5、display_errors = OFF 封锁报警信息(默认OFF),不外对付nginx的php-fpm跑php来说,报警信息节制由php-fpm.conf里的;php_flag[display_errors] = off节制,默认就是封锁状态。
6、memory_limit = 128M 这个参数并不需要去配置。你用php看下这个就大白了:
<?php
if (function_exists('memory_get_usage')) $memory_usage = round(memory_get_usage() / 1024 / 1024, 2) . ' MByte';
else $memory_usage = 'N/A';
echo '<br/>已用内存:'.$memory_usage;
?>
一般而言,纵然配置成8M或12M都不会有问题,并且配置成128M也不是当即占用内存的。主要在上传文件时会大点(N人一起上传,可能剧本写得机能烂)。
7、magic_quotes_gpc = Off配置为on,不外,一个及格的php措施员应该在措施中始终利用if(get_magic_quotes_gpc()){$str=stripslashes($str);}来处理惩罚显示数据。虽然,假如网站措施不是你写的,照旧把magic_quotes_gpc配置为on吧。(php 7 已裁减magic_quotes_gpc)
8、allow_url_fopen = On,没有来由配置为On,坚决allow_url_fopen = Off
9、上传
;upload_tmp_dir =/var/www/tmp
upload_max_filesize = 2M
post_max_size = 8M
这三个照旧要按照本身的环境配置一下的,接洽Nginx的第2点。
10、session.save_path = "var/www/tmp"和upload_tmp_dir="var/www/tmp",这两个参数配置一下,闲着没事时也可以删除一下节减点处事器空间,嘿嘿。(浮夸了点,此刻不缺硬盘)不外有人说存到/dev/shm下,直接以内存方法处理惩罚会很是快。但我以为除了打点员,实在是没须要让所有用户都回收session方法验证。至于说cookies不安详,不安详你就办理安详问题呗。
11、[安详相关][高危]esc输入/cgi.fix_pathinfo,配置cgi.fix_pathinfo = 0;(这个真恶心,你把一php文件改为a.jpg,上传然后会见a.jpg/asdf.php试下就知) (好象5.3.10不存在此问题了,会显示Access denied. )
12、max_input_vars = 1000,无需配置,默认为1000,虽然也可以配置小点,好比512。php 5.3.8插手此参数