寻觅生命中的那一片浅草......

文章属于类别 Nginx

用Nginx的proxy_cache加速gitbucket

最近访问gitbucket,基本都要5-6s才能打开,在服务器上看java进程占用CPU500%,通过下面的proxy_cache配置,把图片等静态资源缓存起来,可以实现gitbucket秒开,CPU使用降到30%左右,效果非常明显

创建目录并给予Nginx运行用户权限

mkidr /data/cache/nginx
chown -R www.www /data/cache/nginx

http段配置

定义cache的存放路径

http{
proxy_cache_path /data/cache/nginx levels=1:2 keys_zone=cache:512m inactive=1d  max_size=60g;
# 下面省略其他配置
....
....
}

修改虚拟主机配置

# 注意下面的配置要放在location / {这个目录配置之前
location ~ \.(gif|png|txt|css|png|jpe?g|ico|js)$ { 
     proxy_pass http://localhost:8088;
     proxy_hide_header       Set-Cookie;
     proxy_ignore_headers    Set-Cookie Expires Cache-Control;

     proxy_redirect    off;
     proxy_buffering on;
     proxy_buffer_size  128k;
     proxy_buffers 100  128k;

     proxy_cache cache;
     proxy_cache_key $uri;
     proxy_cache_use_stale error timeout invalid_header;
     proxy_cache_valid 200 301 302 60h;
     expires 30d;
}

 

查看nginx,apache,mysql,php编译参数

有时候nginx,apache,mysql,php编译完了想看看编译参数可以用以下方法

nginx编译参数:
#/usr/local/nginx/sbin/nginx -V
nginx version: nginx/0.6.32

built by gcc 4.1.2 20071124 (Red Hat 4.1.2-42)

configure arguments: –user=www –group=www –prefix=/usr/local/nginx/ –with-http_stub_status_module –with-openssl=/usr/local/openssl

apache编译参数:
# cat /usr/local/apache2/build/config.nice
#! /bin/sh

#

# Created by configure

“./configure” \

“–prefix=/usr/local/apache2” \

“–with-included-apr” \

“–enable-so” \

“–enable-deflate=shared” \

“–enable-expires=shared” \

“–enable-rewrite=shared” \

“–enable-static-support” \

“–disable-userdir” \

“$@”

php编译参数:

# /usr/local/php/bin/php -i |grep configure

Configure Command => ‘./configure’ ‘–prefix=/usr/local/php’ ‘–with-apxs2=/usr/local/apache2/bin/apxs’ ‘–with-config-file-path=/usr/local/php/etc’ ‘–with-mysql=/usr/local/mysql’ ‘–with-libxml-dir=/usr/local/libxml2/bin’ ‘–with-gd=/usr/local/gd2’ ‘–with-jpeg-dir’ ‘–with-png-dir’ ‘–with-bz2’ ‘–with-xmlrpc’ ‘–with-freetype-dir’ ‘–with-zlib-dir’

mysql编译参数:

# cat “/usr/local/mysql/bin/mysqlbug”|grep configure

# This is set by configure

CONFIGURE_LINE=”./configure ‘–prefix=/usr/local/mysql’ ‘–localstatedir=/var/lib/mysql’ ‘–with-comment=Source’ ‘–with-server-suffix=-H863’ ‘–with-mysqld-user=mysql’ ‘–without-debug’ ‘–with-big-tables’ ‘–with-charset=gbk’ ‘–with-collation=gbk_chinese_ci’ ‘–with-extra-charsets=all’ ‘–with-pthread’ ‘–enable-static’ ‘–enable-thread-safe-client’ ‘–with-client-ldflags=-all-static’ ‘–with-mysqld-ldflags=-all-static’ ‘–enable-assembler’ ‘–without-isam’ ‘–without-innodb’ ‘–without-ndb-debug'”

转载自:http://hi.baidu.com/xi4oyu/blog/item/8a0e1ed020e81adb562c8452.html

Nginx递归限制访问同名目录

Nginx根目录是/opt/www

假如
/opt/www/a/x
/opt/www/a/d/x
/opt/www/b/x
如果配置可以禁止访问所有的x目录?

找到了
location ~ ^(.*)\/\x\/{ deny all;}

php.ini里session.save_path引起的错误

Failed to initialize storage module: memcache (path: /tmp)

今天重启服务器后,登录页面出现以上的错误提示
最后发现是php.ini被修改了
;session.save_path = “/tmp”

由于所有的session都交给memcached处理了
所以session.save_path = “/tmp”应该要被注释掉
但不知道谁把它开起来了
session.save_path = “/tmp”

因为之前一直都没重启,所以一直都没有问题

Nginx的403 Forbidden

我遇到的,多数是虚拟主机的域名错误引起的
今天遇到一特例,
直接访问www.example.com
报403 Forbidden
但www.example.com/index.php是正常的
是因为server_name www.example.com后少了个分号
正确的应该是
server_name www.example.com ;
奇怪nginx -t并不报错

2024年三月
« 5月    
 123
45678910
11121314151617
18192021222324
25262728293031