动静分离
动态资源 php java .php .js
静态资源 图片、视频、音乐等
vi /usr/local/nginx/conf/nginx.conf
location ~ .php$ {
proxy_pass http://192.168.80.101;
}
location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$ {
root html;
expires 7200;
}
[root@www html]# nginx -t
[root@www ~]# cd /usr/local/nginx/html/
[root@www html]# ls
把图片等静态资源放到nginx的网页根目录中。
[root@www html]# service nginx restart
在LAMP服务器上:IP地址为192.168.80.101
[root@www ~]# cd /usr/local/httpd/htdocs/
[root@www htdocs]# vi index.php
service httpd start
2、配置版本号隐藏---------
curl -I 192.168.80.194
vi /etc/nginx.conf
server_tokens off; //在http { 下新增
vi /usr/local/php/lib/php.ini
expose_php = Off //修改此行
----第二种方法----
vi /opt/nginx-…/src/core/nginx.h //源码目录下修改,然后重新编译安装
#define NGINX_VERSION “10.10.10”
#define NGINX_VER “IIS/” NGINX_VERSION
3、网页缓存-------------
在配置文件的 location 段中加入
expires 1d; //默认单位是秒
server {}某个网站
http {}服务器
location{}目录
4、配置日志分割----------------
[root@www ~]# vi fenge.sh
#!/bin/bash
#filename: fenge.sh
D=$(date -d “-1 day” “+%Y%m%d”) //定义日期变量,昨天日志
LOGS_PATH="/var/log/nginx" //备份日志
PID_PATH="/usr/local/nginx/logs/nginx.pid" //指定pid文件位置
[ -d $LOGS_PATH ] || mkdir -p $LOGS_PATH //创建日志文件目录
mv /usr/local/nginx/logs/access.log L O G S P A T H / a a . c o m − a c c e s s . l o g − {LOGS_PATH}/aa.com-access.log- LOGSPATH/aa.com−access.log−D //备份前一天日志
kill -USR1 $(cat $PID_PATH) //重建日志文件
find $LOGS_PATH -mtime +30 | xargs rm -rf //删除30天之前的日志文件
crontab -e
5、设置连接保持的超时时间-------------
vi /etc/nginx.conf
keepalive_timeout 65 180; //以后者为准,可以在http\server\location设置
client_header_timeout 80; //等待客户端发送请求头的超时时间 超时会发送408错误
client_body_timeout 80; //设置客户端发送请求体超时时间
6、优化进程数—
ps aux | grep nginx
cat /proc/cpuinfo | grep “processor”
vi /etc/nginx.conf
worker_processes 4 //设置为CPU的核心数量,高并发下设置为2倍
worker_cpu_affinity 0001 0010 0100 1000; //将服务进程分配到更多的CPU上
ps aux | grep nginx
7、配置网页压缩-------
vi /etc/nginx.conf
gzip on;//接着下面写
gzip_buffers 4 64k;
gzip_http_version 1.1;
gzip_comp_level 2;
gzip_min_length 1k;
gzip_vary on;
gzip_types text/pain text/javascript application/x-javascript text/css text/xml application/xml application/xml+rss;
truncate -s 10k /usr/local/nginx/html/index.html //修改文件的大小
truncate -s 10k /usr/local/nginx/html/test.css
curl -I -H “Accept-Encoding: gzip, deflate” 192.168.80.194/ // 测试是否开启压缩 使用图形抓包也可以测试。
8、配置防盗链-----------------
搭建合法服务器,然后搭建非法服务器,在合法服务器上配置防盗参数,测试。
I AM OK!------注意:在实验环境中要使盗链服务器能够解析合法服务器的域名,测试客户端也要能解析合法服务器的域名----
vi /etc/nginx.conf //在location / 下面,error page上面新增
location ~* .(jpg|gif|swf)$ {
valid_referers none blocked *.aa.com aa.com;
if ($invalid_referer) {
rewrite ^/ http://192.168.80.182/error.jpg;
#return 403;
}
}
-----注意重定向的内容要可以被盗链主机访问到-------------
9、FPM模块优化---------
cd /usr/local/php/etc/php-fpm.d
vi www.conf
pm=dynamic
pm.max_children=50 //static模式下空闲进程数上限,大于下面的值
pm.start_servers = 20 //动态方式下默认开启的进程数,在最小和最大之间
pm.min_spare_servers = 15 //动态方式下最少空闲进程数
pm.max_spare_servers = 35 //动态方式下最大空闲进程数
ps aux | grep -c “php-fpm”