Created
September 4, 2014 08:18
-
-
Save zhangskills/907084648e4d721f5195 to your computer and use it in GitHub Desktop.
nginx备忘
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
1 |
采用apache的rotatelogs进行按天分割
-
从一台已经安装好apache的机器上的apache bin目录下把rotatelogs拷贝到本机的/opt/nginx_logs下
mkdir -p /opt/nginx_logs cp rotatelogs /opt/nginx_logs/ chmod +x /opt/nginx_logs/rotatelogs
-
创建有名管道
mkdir /opt/nginx_logs/abc_www/ mkfifo /opt/nginx_logs/abc_www/access_log
-
在nginx配置文件server中加上
access_log /opt/nginx_logs/abc_www/access_log;
-
创建日志目录
mkdir /opt/nginx_logs/abc_www/log/
-
创建日志分割脚本
[root@localhost nginx_logs]# cat /opt/nginx_logs/abc_www/rotate.sh baselogdir=/opt/nginx_logs/abc_www rotatelogs=/opt/nginx_logs/rotatelogs while [ 1 ] do echo `date +"%F %T"`" rotatelogs access start" $rotatelogs $baselogdir/log/access_%Y%m%d.log 86400 480 < $baselogdir/access_log echo `date +"%F %T"`" rotatelogs access stop" sleep 1; done
-
创建启动日志分割脚本
[root@localhost nginx_logs]# cat /opt/nginx_logs/abc_www/run.sh sh /opt/nginx_logs/abc_www/rotate.sh >> /opt/nginx_logs/abc_www/log/access-rotate.log 2>&1 &
Nginx反向代理映射成子路径
多个web应用共享一个域名和端口时,可以考虑把不同的web应用映射成不同的子路径,这个子路径在Java EE里称作ContextPath。下面的配置片段解决nginx作为前端,反向代理多个tomcat主机,通过不同子路径共享一个域名的情况。
server {
listen 80;
server_name _;
index index.html index.htm index.php;
root /home/dashboard;
location /dashboard {
rewrite /dashboard/(.*) /$1 break;
rewrite ^/dashboard$ /dashboard/ permanent;
proxy_pass http://127.0.0.1:9082;
proxy_redirect off;
proxy_set_header Host $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
}
http://codelife.me/blog/2013/09/12/reverse-proxy-for-a-subdirectory-in-nginx/
子目录跳转:
upstream abc{
server 127.0.0.1:8000;
}
server {
listen 80;
server_name abc.com;
gzip on;
gzip_http_version 1.0;
gzip_comp_level 3;
gzip_types text/plain application/x-javascript text/css application/xml;
location ~ .*\.(?:ico|css|js|gif|jpe?g|png|html)$ {
proxy_pass http://abc;
expires 30d;
}
location / {
rewrite /(.*)$ /player/$1 break;
proxy_pass http://abc;
}
error_page 500 502 503 504 /50x.html;
error_page 404 /404.html;
location = /50x.html {
root html;
}
location = /404.html {
root /mnt/website/abc;
}
}
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Gzip 压缩配置
gzip(GNU-ZIP)是一种压缩技术。经过gzip压缩后页面大小可以变为原来的30%甚至更小,这样,用户浏览页面的时候速度会块得多。gzip的压缩页面需要浏览器和服务器双方都支持,实际上就是服务器端压缩,传到浏览器后浏览器解压并解析。浏览器那里不需要我们担心,因为目前的巨大多数浏览器都支持解析gzip过的页面。
Nginx的压缩输出有一组gzip压缩指令来实现。相关指令位于http{….}两个大括号之间。
nginx 配置gzip段如下: