nginx优化

创建多个池子
[www1]
listen =/tmp/www1.sock  
user = php-fpm
group = php-fpm
pm = dynamic            
pm.max_children = 50      
pm.start_servers = 20
pm.min_spare_servers =5   
pm.max_spare_servers =35  
pm.max_requests = 500     
rlimit_files = 1024         
 
[root@superz~]#/usr/local/php/sbin/php-fpm –t
[root@superz ~]#/etc/init.d/php-fpmrestart
[root@superz ~]#ps aux|grepphp-fpm
 
不同的域名指定不同的池子 / 多个域名使用一个池子
[root@superz ~]#ls/usr/local/nginx/conf/vhosts
111.conf   222.conf
              编辑 fastcgi_pass unix:/tmp/php-fcgi.sock 这行
              指定池子,如指定 www  ,则修改为 fastcgi_pass unix:www.sock
                        如指定 www  ,则修改为 fastcgi_pass unix:www1.sock
性能追踪   网站运行慢
[root@superz ~]#vim/usr/local/php/etc/php-fpm.conf
在每个池子下面加入慢查询
slowlog =/tmp/www_slow.log  # 不同的池子指定不同的 slowlog
request_slowlog_timeout=1    # 执行时间超过 1 秒就记录它
 
php_admin_value[open_basedir]=/data/www/:/tmp/
# 将用户访问文件的活动范围限制在指定的区域,通常是其家目录的路径
 
1.6  常见的 502 问题解决
[root@superz ~]#cd/usr/local/nginx/conf/vhosts/
[root@superz vhosts]#vim../nginx.conf # 查看错误日志在哪儿,找 errorlog
[root@superz vhosts]#cat/usr/local/nginx/logs/nginx_error.log  # 查看错误日志
Unix:/tmp/www/sockfailed(Permission denied)          # 没有权限去读这个文件
[root@superz vhosts]#ls  l /tmp/www.sock                  # 查看这个文件的权限
srw-rw---- 1 root root 0 1  29 11:55 /tmp/www.sock
[root@superz vhosts]#ps aux|grep nginx                    # 查看 nginx 属主( nobody
[root@superz vhosts]#vim/usr/local/php/etc/php-fpm.conf      编辑 php 配置文件
Group 下加入监听用户和组的人
listen.owner = nobody
listen.group = nobody
[root@superzvhosts]#/usr/local/php/sbin/php-fpm –t
[root@superzvhosts]#/etc/init.d/php-fpm restart
 
1.7 nginx  用户认证
Discus  管理中心,仅有一层密码,不安全。配置多一层密码。
[root@superz ~]#cd/usr/local/nginx/conf/vhosts/
[root@superz vhosts]# vimtest.conf   # 打开虚拟主机配置文件
 
root 下面一行添加:
location ~.*admin\.php$  {
       auth_basic "aminglinux auth";
       auth_basic_user_file /usr/local/nginx/conf/.htpasswd;
       include fastcgi_params;
fastcgi_passunix:/tmp/www.sock;
fastcgi_index index.php;
fastcgi_paramSCRIPT_FILENAME /data/www$fastcgi_script_name;
}
 
[root@superz vhosts]#htpasswd -c /usr/local/nginx/conf/.htpasswd aming
输入两次密码
[root@superz vhosts]#htpasswd  /usr/local/nginx/conf/.htpasswdaming1
(再次添加用户时, -c 必须去掉)
                   输入两次密码
[root@superz vhosts]#/usr/local/nginx/sbin/nginx -t
[root@superz vhosts]#/usr/local/nginx/sbin/nginx -s  reload
[root@superz vhosts]#curl  x127.0.0.1  uaming: 密码  www.test.com/admin.php
                   显示 html 表示正常解析。
 
1.8 nginx  域名跳转
[root@superz ~]#cd/usr/local/nginx/conf/vhosts/
[root@superz vhosts]#vimtest.conf
server_name 后直接加上一个域名(空格分隔) www.aaa.com
在下面加入一行
if ($host !=‘www.test.com’)
{
rewrite ^/(.*)$http://www.test.com/$1 permanent;
}
[root@superz vhosts]#/usr/local/nginx/sbin/nginx -t
[root@superz vhosts]#/usr/local/nginx/sbin/nginx -s  reload
[root@superz vhosts]#curl  x127.0.0.1:80 www.aaa.com/fjdjgld -I # 自动跳转到 www.test.com
 
设置 301 域名跳转的目的,为了让搜索引擎加重主域名的权重
百度搜索栏输入 Site:www.aminglinux.com
 
1.9 nginx 不记录指定文件类型日志
[root@superz ~]# cd/usr/local/nginx/conf/vhosts/
[root@superz vhosts]# vim../nginx.conf
log_format  aming'$remote_addr $http_x_forwarded_for [$time_local]'
           日志名    远程ip         代理ip           时间
'$host "$request_uri" $status'
                  域名     保存地址       链接
'"$http_referer" "$http_user_agent"'
(防盗链)页面或资源来源的请求头     判断从哪里访问
[root@superz vhosts]#vim  test.conf
root 下增加一行
access_log /tmp/access.logaming;
[root@superz vhosts]#/usr/local/nginx/sbin/nginx –t
[root@superz vhosts]#/usr/local/nginx/sbin/nginx -s reload
[root@superz vhosts]# curl-x127.0.0.1:80 www.test.com/fgsdfdsf -I
[root@superz vhosts]# ls/tmp/access.log # 这时候会生成一个日志
/tmp/access.log
[root@superz vhosts]# cat /tmp/access.log  
# 刷新网页查看日志内容   会发现有很多日志,其中包括 png,gif 等,这些都是没必要存在的
 
 
 
配置如下:
[root@superz vhosts]#vim  test.conf
location ~ .*\.(  gif|jpg|jpeg|png|bmp|swf|flv|rar|zip|gz|bz2)$
        {
                access_log off;
        }
 
        location ~ .*\.(js|css)$
        {
                access_log off;
        }
 
 
2.0 nginx 日志切割
[root@superz vhosts]# vim/usr/local/sbin/nginx_logrotate.sh
                    # 创建一个脚本
#!/bin/bash
d=`date -d "-1day" +%F`
[ -d /tmp/nginx_log] ||mkdir /tmp/nginx_log
mv /tmp/access.log  /tmp/nginx_log/$d.log
/etc/init.d/nginx reload >/dev/null
cd /tmp/nginx_log/
gzip -f $d.log              
 
[root@superz vhosts]# sh -x/usr/local/sbin/nginx_logrotate.sh
[root@superz vhosts]# cd/tmp/nginx_log
[root@superz nginx_log]# ls
2016-06-14.log.gz
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
2.1 nginx 配置静态文件过期时间(缓存)             
设置缓存的好处 : 加快读取网页速度,节省带宽。
[root@superz vhosts]#vim  test.conf
修改成如下所示:
location ~.*\.(gif|jpg|jpeg|png|bmp|swf)$
        {
                access_log off;
                expires 15d;         # 缓存 15
        }
   location ~\.(js|css)
    {
        access_log off
        expires 2h;                   # 缓存 2 小时
}
 
[root@superz vhosts]# /usr/local/nginx/sbin/nginx –t
[root@superz vhosts]# /usr/local/nginx/sbin/nginx -s reload
[root@superz vhosts]# curl -x127.0.0.1:80 'www.test.com/static/js/ajax.js–I
                    #Cache-Control:max-age=7200这个即为设置的缓存2小时
 
2.2 nginx配置防盗链
[root@superz vhosts]# vim test.conf
 
location ~ .*\.(gif|jpg|jpeg|png|bmp|swf|flv|rar|zip|gz|bz2)$
        {
                access_log off;
                expires 15d;
                valid_referers noneblocked *.test.com
*.aa.com  *.aminglinux.com;
                if($invalid_referer)
                {
                   return 403;
                }
        }
[root@superz vhosts]# /usr/local/nginx/sbin/nginx -t
[root@superz vhosts]# /usr/local/nginx/sbin/nginx -s reload
[root@superz vhosts]# curl -e http://www.baidu.com/111   
-I -x127.0.0.1:80 '图片地址’
 
 
 
 
 
 
2.3 nginx 访问控制
[root@superz ~]# cd/usr/local/nginx/conf/vhosts/
[root@superz vhosts]# vimtest.conf
# 删除  location ~ .*admin 下面两行
增加:
 
allow 127.0.0.1;
       deny all;
 
[root@superz vhosts]#/usr/local/nginx/sbin/nginx –t
[root@superz vhosts]#/usr/local/nginx/sbin/nginx -s reload
 
# 测试
[root@superz vhosts]# curl-x127.0.0.1:80 www.test.com/admin.php -I
HTTP/1.1 200 OK
[root@superz vhosts]# curl-x192.168.1.200:80 www.test.com/admin.php -I
HTTP/1.1 403 Forbidden
[root@superz vhosts]# curl-x192.168.1.200:80 www.test.com/forum.php -I
HTTP/1.1 200 OK
 
Nginx 的访问控制不分先后顺序,直接一行一行过滤,命中了一条规则立马生效,其他的一概不管。
 
2.4 nginx  禁止指定 user_agent
[root@superz vhosts]#vimtest.conf
# location ~ .*admin 上增加两行
 
if ($http_user_agent ~*'curl|baidu|111111')   ~* 号不区分大小写匹配)
    {
       return 403;
}
 
[root@superz vhosts]#/usr/local/nginx/sbin/nginx –t
[root@superz vhosts]#/usr/local/nginx/sbin/nginx -s reload
# 测试
[root@superz vhosts]# curl-x192.168.1.200:80 www.test.com/forum.php -I
HTTP/1.1 403 Forbidden
[root@superz vhosts]# curl-A "dsadsadsadsadsadsa" -x192.168.1.200:80 www.test.com/forum.php -I
HTTP/1.1 200 OK
[root@superz vhosts]# curl-A "dsadsad111111adsadsa" -x192.168.1.200:80 www.test.com/forum.php-I
HTTP/1.1 403 Forbidden
 
2.5 nginx 代理详解
[root@superz vhosts]# vimproxy.conf  # 新建 proxy.conf
upstream aming{
    server 61.135.169.121:80; # 使用 dig www.baidu.com 得到
    server 61.135.169.125:80; #yum installbind* 安装 dig
}
server {
    listen 80;
    server_name www.baidu.com;
 
    location / {
          proxy_pass http://aming/;  # 真正网站所在的 ip
          proxy_set_header Host $host; # 多个 server 必须打开
             }
}
 
[root@superz vhosts]# curl-x127.0.0.1:80 www.baidu.com

转载于:https://www.cnblogs.com/pxmlinux/p/5597424.html

1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 、4下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合;、下载 4使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合;、 4下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值