系统运维易忘点总结之五
Nginx
源码编译安装
不停止服务来升级nginx:
1.首先源码编译新版本nginx,设置和旧版本的相同配置,只需make编译一下;
2.把旧版本的“nginx”程序文件移走,然后把编译好的新版本nginx拷贝放到对应安装目录;
3.make upgrade
nginx配置
用户认证在location位置上设置。
虚拟主机在server位置上设置。
LNMP组合
软件包:nginx源码包、mariadb-server、mariadb、mariadb-devel、php、php-fpm、php-mysql
FastCGI一种多进程管理器,接收处理请求,内嵌在PHP-FPM服务器中。
地址重写
rewrite语法
1.rewrite 正则表达式 替换后的新部分 flag
flag可选值:break、last、redirect、permanent
last:停止执行其他重写规则,根据URI继续搜索其他location,地址栏不改变;
break:停止执行其他重写规则,完成本次请求;
redirect:302临时重定向,地址栏改变,爬虫不更新URI;
permanent:301永久重定向,地址栏改变,爬虫更新URI
2.if (条件){.....}
可用于重定向页面或域名跳转等
正则表达式匹配模式如下:
区分大小写匹配:~
不区分大小写匹配:~*
区分大小写不匹配:!~
不区分大小写不匹配:!~*
NGINX反向代理语法(upstream定义后端服务器)
nginx1.9版本以上的TCP/UDP调度使用--wtih-stream开启ngx_stream_core_module模块
nginx开启错误页面重定向在http模块中添加fastcgi_intercept_errors on。
nginx状态页面需要开启status模块,并且要配置
ab压力测试工具:ab -c 并发数 -n 总请求数 URL
日志切割
1.把旧的日志重命名;2.kill -USR1 PID(nginx的进程PID)
nginx优化
1.自定义报错页面;
2.开启状态页面;
3.优化nginx并发量;
4.优化内核参数;
5.优化Nginx数据包头缓存;
6.浏览器本地缓存静态数据;
7.定时日志切割;
8.对页面进行压缩处理;
9.服务器内存缓存,处理大量静态文件
memcached分布式缓存服务器,主要缓存数据库的查询结果,可以减少数据库访问次数。
软件包:memcached
端口:11211
配置文件./memcached
PHP+memcached部署:
软件包:php-pecl-memcache
修改PHP配置文件./php-fpm.d/www.conf,可实现session共享