Nginx优化编译,去掉Debug编译/版本欺骗
Nginx定制编译,去掉Debug编译/版本欺骗。
Nginx通过手工修改源码或制作补丁的方式,可以优化编译结果,提高运行效率,或达到欺骗黑客攻击者的目的,以下简单讲下修改编译安装方法:
源码修改定制-版本信息欺骗
修改 src/core/nginx.h文件,进行版本欺骗,例如
[php]#define NGINX_VERSION "1.0.14"
#define NGINX_VER "Nginx/" NGINX_VERSION[/php]
改为
[php]#define NGINX_VERSION &... Apache, Linux, Nginx, Nginx Debug, Nginx优化编译, Nginx源码, Nginx编译优化, Nginx补丁, 去掉Debug选项阅读全文
Nginx访问域名或目录无斜杠的解决方法续
在Nginx访问域名或目录链接后无/(反斜杠)无法访问的解决方法中说到,因为域名或目录后无斜杠,导致用户无法打开网页的故障,当时的解决方法是在nginx.conf里修改,让nginx后缀中的"/"斜杠自动补齐:
[php]if (-d $request_filename)
{
rewrite ^/(.*)([^/])$ http://$host/$1$2/ permanent;
}[/php]
现在要介绍个更好的方法,在nginx.conf直接设置:
[php]optimize_server_names off;#优化服务器名称:关 (默认开启)
server_n... Nginx, nginx.conf, optimize_server_names, server_name_in_redirect, 反斜杠, 斜杠, 自动补齐阅读全文
statusnet的Nginx修正
最近需要用statusnet做点东西,但是发现statusnet的默认参数传递方式在Nginx下无法正常运行,只能正常工作于Apache下,主要的问题在形如 index.php/main/login 这样的url解析上,Nginx中默认对此url解析为 index.php/main/login 目录或文件,会报404错误,我们希望的结果是解析为:index.php?p=main/login,搜索+摸索之后,总结如下两个方法,推荐方法2。
方法一:按照网传方法修改Nginx的Rewrite规则,然后修正lib/router.php文... Apache, index.php/main/login, Nginx, Nginx Rewrite, statusnet阅读全文
Nginx的Rewrite规则
Nginx的rewrite格式是:
[php]rewrite regex replacement flag[/php]
其中flag标记有四种格式,可以放在server, location 和 if 模块中:
[php]last – 相当于Apache中的L
break – 中止Rewirte,不在继续匹配
redirect – 返回临时重定向的HTTP状态302,相当于Apache中的R
permanent – 返回永久重定向的HTTP状态301,相当于Apache中的R=301[/php]
匹配判断
[php]~ 为区分大小写匹配; !~为区分大小写不匹配
~* 为不区分大小写匹配... Apache, Nginx, Nginx的Rewrite, regex, rewrite, ReWrite规则阅读全文
Nginx/Apache/MySQL/PHP查看编译参数
Nginx、Apache、MySQL、PHP编译完成后可以用以下方法查看编译参数,方便日后升级和保留记录。
Nginx编译参数:
[php]/usr/local/nginx/sbin/nginx -V[/php]
Apache编译参数:
[php]cat /usr/local/apache2/build/config.nice[/php]
PHP编译参数:
[php]/usr/local/php/bin/php -i |grep configure[/php]
MySQL编译参数:
[php]cat /usr/local/mysql/bin/mysqlbug|grep configure[/php]
Apache, Apache查看编译参数, MySQL, MySQL查看编译参数, Nginx, Nginx查看编译参数, PHP, PHP查看编译参数, 查看参数, 编译参数阅读全文
Nginx+PHP内存占用分析
php-cgi内存占用
[php]netstat -anop | grep "php" | grep -v "grep" | wc -l #check running php-cgi
#!/bin/sh
while [ 1 ]
do
for ps1 in `ps -eo pid,fname,rss|grep php-cgi|grep -v grep|awk '{if($3>=32000) print $1}'`; do
kill -9 $ps1
done
done
[/php]
php-cgi会在每个请求结束的时候回收脚本使用的全部内存,但是并不会释放给操作系统,而是继续持有以应对下一次PHP请求。这样做大... Nginx, PHP阅读全文
Nginx+PHP优化提速
Nginx+PHP是高效、高速、高性能的完美组合,但是要发挥其性能极致还是需要一些手段进行优化,使得这个组合结合更加紧密。在Nginx中启用fastcgi cache就可以有效提高PHP网站的访问速度。
配置参数:
http里:
[php]fastcgi_cache_path /www/php_cache levels=1:2 keys_zone=cache_php:30m inactive=1d max_size=10g;[/php]
server里:
[php]location ~ .*\.php?$
{
#fastcgi_pass unix:/tmp/php-cgi.sock;
fastcgi_... cache, fastcgi, Nginx, PHP, 优化, 提速阅读全文
Nginx访问域名或目录链接后无/(反斜杠)无法访问的解决方法
Nginx安装配置完成之后,会出现访问域名或目录型链接后出错无法访问的情况。如果要访问的链接为
[php]http://192.168.2.100/path[/php]
在IE下用httpwatch监测会发现输入请求后做了1次301转向,然后请求的地址变为:
[php]http://localhost/path/[/php]
也就是说,这个时候请求变成了用户端本机地址,所以会导致用户无法访问!这个现象在firefox火狐下更加明显,会在地址栏直接显示出http://localhost/path/
要解决这个问题,需... fastcgi, firefox, httpwatch, IE, localhost, Nginx, rewrite, 反斜杠, 无法访问, 火狐, 解决方法, 配置阅读全文
Nginx+SVN(Subversion)+Eclipse
服务器系统总体规划:
1、Apache负责SVN具体事务,端口802,SVN相关业务由域名 svn.opensoce.com 承担,来自svn.opensoce.com 的请求全部转发至802端口交由802端口给Apache处理
2、Nginx做主体Web服务,对外开放80端口,负责普通网站业务和svn业务转发
安装部署过程:
一、支持包安装及相关用户、用户组创建
[php]tar zxf libiconv-1.13.tar.gz
cd libiconv-1.13
./configure --prefix=/usr/local
make
mak install
tar zxf zli... Apache, Eclipse, Nginx, Redhat, Subversion, SVN阅读全文
Linux服务器系统参数优化
在服务器安装了LNMP(Linux+Nginx+Mysql+php)环境之后Linux服务器参数必须做必要的优化,包括网络参数优化、文件数优化、内存优化等等。
1、网络参数优化:
这部分主要参照张宴大师 《Nginx 0.8.x + PHP 5.2.13(FastCGI)搭建胜过Apache十倍的Web服务器(第6版)[原创]》其中 五、优化Linux内核参数的内容:
[php]
vi /etc/sysctl.conf #编辑sysctl.conf文件
#在/etc/sysctl.conf中添加如下内容
# 网络参数优化开始
net.ipv4.tc... eaccelerator, Linux, LNMP, MySQL, Nginx, PHP, shmmax, 共享内存阅读全文
Nginx关键主要配置
Nginx关键、主要的配置项
当我们作Nginx配置时,经常会碰到很多问题,下面我们就看看有关Nginx配置文件的相关问题解决。一般来说Nginx配置文件中对优化比较有作用的为以下几项:
[php]worker_processes 8;[/php]
Nginx配置文件进程数,建议按照cpu数目来指定,一般为它的倍数。worker_cpu_affinity 00000001 00000010 00000100 00001000 00010000 00100000 01000000 10000000;
为每个进程分配cpu,上例中将8个进程分配到8个cpu... Linux, Nginx, 主要配置, 关键配置, 内核参数阅读全文
Nginx+Tomcat部署
本文主要讲解Linux(例如CentOS)环境下Nginx+JSP/Nginx+Java/Nginx+Tomcat的部署方法。
1、 安装pcre
为了确保能在 Nginx 中使用正则表达式进行更灵活的配置,安装之前需要确定系统是否安装有 PCRE(Perl Compatible Regular Expressions)包
[php]
wget ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/pcre-7.7.tar.gz
tar zxvf pcre-7.7.tar.gz
cd pcre-7.7
./configure
make
make install[/php]
2、 安装 nginx
[php... Centos, java, JSP, Linux, Nginx, Tomcat阅读全文
php输入输出流 记录post数据
IIS、Apache、Nginx等web环境日志仅能记录get和post的url,无法记录post的内容,如果要记录分析post数据,除了直接抓包分析外,在php环境中还可以通过记录输入流达到记录post数据的目的。
先来看一下php输入输出流的相关支持信息:
[php]
PHP 3.0.13 及以上版本,自 PHP 4.3.0 起支持 php://output 和 php://input,自 PHP 5.0.0 起支持 php://filter。
php://stdin
php://stdout
php://stderr
php://output
php://input
php://... Apache, IIS, Nginx, PHP, post, 输入输出流阅读全文
Ubuntu 9.10安装Nginx 0.8.34和upstream fair
首先,为了编译 Nginx,应在新装好的 Ubuntu server 环境下安装如下软件包:
[php]sudo apt-get install build-essential libpcre3-dev libssl-dev libxslt-dev libgd2-xpm-dev libgeoip-dev[/php]
然后下载 0.8.34 版本的 Nginx:
[php]wget http://www.nginx.org/download/nginx-0.8.34.tar.gz[/php]
解压:
[php]tar xvzf nginx-0.8.34.tar.gz[/php]
下载 upstream fair 模块。upstream fair 是比内建的负载均衡... Nginx, Ubuntu, Upstream, 安装, 编译阅读全文