pm=dynamic//动态进程管理,也可以是static(只有pm.max_children生效)pm.max_children=50//最大子进程数,psaux可以查看pm.start_servers=20//启动服务时会启动的进程数pm.min_spare_servers=5//定义在空闲时段,子进程数的最少数量,如果达到这个数值时,php-fpm服务会自动派生新的子进程。pm.max_sp
vim/usr/local/php-fpm/etc/php-fpm.d/aming.conf//加入如下内容php_admin_value[open_basedir]=/data/wwwroot/aming.com:/tmp/创建测试php脚本,进行测试再次更改aming.conf,修改路径,php_admin_value[open_basedir]=/data/wwwroot/aaaaaamin
vim/usr/local/php-fpm/etc/php-fpm.d/www.conf//加入如下内容request_slowlog_timeout=1slowlog=/usr/local/php-fpm/var/log/www-slow.log测试:/usr/local/php-fpm/sbin/php-fpm-t/etc/init.d/php-fpmreloadls../../var/log
Pool池是支持定义多个pool的。每个pool可以监听不同的sock、tcp/ip。那nginx有好几个站点,每个站点可以使用一个pool。这样做的好处是当其中的一个php502(可能是php资源不够)了。如果所有的网站使用同一个池,那其中一个网站发生一些故障,比如程序员写的一些程序有问题,就会把php资源耗尽,这样的结果就是其他站点的php也会502。所以有必要把每一个站点隔离开。每个pool
vim/usr/local/nginx/conf/vhost/ssl.conf//加入如下内容server{listen443;server_nameaming.com;indexindex.htmlindex.php;root/data/wwwroot/aming.com;sslon;ssl_certificateaminglinux.crt;ssl_certificate_keyamingli
cd/usr/local/nginx/conf首先要有openssl,没有需要安装rpm-qfwhichopensslopenssl-1.0.2k-8.el7.x86_64opensslgenrsa-des3-outtmp.key2048//rsa形式的key文件为私钥opensslrsa-intmp.key-outaminglinux.key//-in转换key,取消密码-out输出的rm-ft
SSL工作流程1.浏览器发送一个https的请求给服务器;2.服务器要有一套数字证书,可以自己制作(后面的操作就是阿铭自己制作的证书),也可以向组织申请,区别就是自己颁发的证书需要客户端验证通过,才可以继续访问,而使用受信任的公司申请的证书则不会弹出>提示页面,这套证书其实就是一对公钥和私钥;服务器会把公钥传输给客户端;客户端(浏览器)收到公钥后,会验证其是否合法有效,无效会有警告提醒,有效
代理一台机器叫代理,代理两台机器就是负载均衡。代理服务后面有多个web服务器,多个web服务器提供服务的时候,就实现负载均衡的功能。如果不加这个代理,用户访问web服务器只能一台一台访问;要么指定一个ip,要么把ip解析到多台服务器上,用户1—>web1,用户2—>web2。有一个不足的地方就是web1服务器挂了,用户1因为解析到web1就访问不到了。如果使用nginx负载均衡的话,后
情景:当用户访问web服务器,但是中间网络不是相通的,如web服务器只要一个私网。要想访问到可以找一个中间者,中间者特殊性就是和web服务器能互通和用户也能互通。所以中间者可以充当代理的作用,去帮你访问在把结果反馈给你。还有一种用户可以访问web服务器,就是访问速度太慢了,如大陆访问美国服务器慢,可以做一个香港服务器做代理,香港到美国很快。此实验是虚拟机(代理服务器)访问我的论坛(web服务器)。
配置如下:location~.php${includefastcgi_params;fastcgi_passunix:/tmp/php-fcgi.sock;fastcgi_indexindex.php;fastcgi_paramSCRIPT_FILENAME/data/wwwroot/test.com$fastcgi_script_name;}fastcgi_pass用来指定php-fpm监听的地
实际场景:location/admin/{allow192.168.211.152;allow127.0.0.1;denyall;}测试curl-x192.168.211.152:80-Itest.com/lsx/HTTP/1.1200OKcurl-x127.0.0.1:80-Itest.com/lsx/HTTP/1.1200OK可以匹配正则上传目录禁止解析php。首先解析phplocation~
配置如下,可以和上面的配置结合上面的js和css,起来location~^.+.(gif|jpg|png|swf|flv|rar|zip|doc|pdf|gz|bz2|jpeg|bmp|xls)${expires7d;valid_referersnoneblockedserver_names.test.com;//定义白名单的referers是什么if($invalid_referer){//如果
配置多个域名权重变了。比如第一个是主域名,其他的跳转到主域名。if($host!='test.com'){rewrite^/(.*)$http://test.com/$1permanent;}更改test.com.confserver{listen80;server_nametest.comtest1.comtest2.com;indexindex.htmlindex.htmind
vim/usr/local/nginx/conf/vhost/test.com.conf//写入如下内容server{listen80;server_nametest.com;indexindex.htmlindex.htmindex.php;root/data/wwwroot/test.com;location/{auth_basic"Auth";auth_basic_use
vim/usr/local/nginx/conf/nginx.conf//删除server部分增加includevhost/*.conf//在conf下面创建一个vhost子目录[root@localhostconf]#pwd/usr/local/nginx/confmkdirvhostcdvhost/vimdefault.conf//加入如下内容server{listen80default_se
cd/usr/local/srcwgethttp://nginx.org/download/nginx-1.12.2.tar.gztarzxfnginx-1.12.1.tar.gzcdnginx-1.12.2./configure--prefix=/usr/local/nginxmake&&makeinstallvim/etc/init.d/nginx//启动脚本。复制如下内容vi
Nginx官网nginx.org下载带有stable的•Nginx应用场景:web服务、反向代理、负载均衡•Nginx著名分支,淘宝基于Nginx开发的Tengine,使用上和Nginx一致,服务名,配置文件名都一样,和Nginx的最大区别在于Tenging增加了一些定制化模块,在安全限速方面表现突出,另外它支持对js,css合并Nginx核心+lua相关的组件和模块组成了一个支持lua的高性能w
和LAMP安装PHP方法有差别,这里需要开启php-fpm服务,之前php是作为Apache的一个模块,需要指定Apache的路径,用apxs工具配置模块怎么加载。这里就不需要了,因为用不到Apache。Php是作为独立的服务。清理之前编译过的文件cdphp-5.6.30makeclean//之后就是刚刚解压的状态cd/usr/local/src/wgethttp://cn2.php.net/di
和LAMP不同的是,提供web服务的是Nginx并且php是作为一个独立服务存在的,这个服务叫做php-fpmNginx直接处理静态请求,动态请求会转发给php-fpm原理是:lnmp里的php会启动一个服务,nginx把用户请求的php交给php-fpm处理,比如登录网站php要和mysql做交互,查用户的账号和密码,处理完之后,php-fpm会告诉nginx,nginx返回给用户一个结果。Ng
/usr/local/php/bin/php-m//查看模块下面安装一个redis的模块cd/usr/local/src/wgethttps://codeload.github.com/phpredis/phpredis/zip/developmvdevelopphpredis-develop.zipunzipphpredis-develop.zipcdphpredis-develop/usr/l
查看php配置文件位置/usr/local/php/bin/php-i|grep-i"loadedconfigurationfile"或者phpinfo();但是有些情况下使用-i是不准的。如果想找的更准。比如找11.com,那么可以在11.com的根目录下创建phpinfo()文件。浏览器访问它。查看配置文件cp-r/usr/local/src/php-5.6.30/php.
user_agent可以理解为浏览器标识user_agent为什么可以做访问控制呢?背景:比如网站受到cc攻击。攻击的人通过软件或者肉机,想攻击某个网站的时候,把所有的肉机发动起来,让它们同时访问一个站点。但是cc攻击往往有一个特征,就是user_agent一致的,访问地址一致。访问速度快,每秒N次核心配置文件内容<IfModulemod_rewrite.c>RewriteEngine
比如有一个目录允许上传图片,预防别人上传php文件上去。Apache加载了php模块,有php请求肯定能解析。Php有一些比较危险的函数,所以开放了上传的权限,肯定会被上传一些恶意的木马文件上来,核心配置文件内容<Directory/data/wwwroot/www.123.com/upload>//upload目录下禁止php解析php_admin_flagengineoff<
访问控制既可以控制目录、也可以匹配文件名或者叫链接。可以使用FilesMatch匹配。核心配置文件内容<Directory/data/wwwroot/www.123.com><FilesMatch"admin.php(.*)">Orderdeny,allowDenyfromallAllowfrom127.0.0.1</FilesMatch>&
之前使用过用户认证,可以在安全上起一定的安全作用。现在想让安全更加严格一些。核心配置文件内容<Directory/data/wwwroot/www.123.com/admin/>//限制访问admin目录Orderdeny,allow//order用来定义顺序,先deny还是allow、从头走到尾。执行看的是order。而不是语句的上下顺序Denyfromall//先拒绝所有Allow
通过限制referer来实现防盗链的功能什么是防盗链?而refer就是A站点,在B服务器上传图片,用户访问A服务器,A上做超链接到了B服务器上,图片是B服务器上发出去的,对B机器来说没有任何的意义。A导致B服务器流量增加。A服务访问速度提升,可以免费使用带宽资源。解决办法:1.把A上传在B机器上的图片删除,这样流量降下来。因为用户访问图片,会调用这个图片4042.配置防盗链。不认识的refer不让
Perlisnotinstalled2.apxswasnotfound.Trytopassthepathusing--with-apxs2=/path/to/apxs3.Apachewasnotbuiltusing--enable-so(theapxsusagepageisdisplayed)解决方法:找到apache目录下的apxs脚本文件,然后编辑它,把第一行的注释的地方修改为perl的可执行
静态元素过期时间
磁盘100G,一天一个G日志一直记录总有一天会把整个磁盘占满,虽然不能直接cat或者vim,对于访问日志是不停的在后面追加,所以对它来讲不需要打开这个文件,所以也不会影响到什么效率,但是磁盘占满是很危险的事情,所以有必要让它自动切割,并删除老的日志文件。昨天的日志归档一个文件名字,今天凌晨又一个新的日志开始写,超过一定时间段的比如一个星期或者一个月的该删除的删除或者移走。这样可以保证磁盘永远写不满
网站大多元素为静态文件,如图片、css、js等,这些元素可以不用记录.看的是请求哪个页面。因为不去做限制,每个请求都包含很多的js、css请求,那么每一个请求都会记录一条日志,日志文件会变的越来越大,不仅消耗磁盘空间还消耗磁盘io。把虚拟主机配置文件改成如下:<VirtualHost*:80>DocumentRoot"/data/wwwroot/www.123.com&quo
Copyright © 2005-2025 51CTO.COM 版权所有 京ICP证060544号