nginx 笔记

仅编译nginx,IOCP模型支持不好,所以必须加上select模型

./auto/configure --prefix="" --with-cc-opt="-D FD_SETSIZE=1024 -D __NO_MINGWW_LFS -D __WATCOMC__" --without-http_rewrite_module --without-http_gzip_module --with-select_module


编译nginx-rtmp-module

--add-module=/path/to-nginx/rtmp-module  然后去它的目录里把config里的USE_OPENSSL的值从YES改成NO。否则就要搞openssl


--with-http_ssl_module --with-openssl


编译的时候报错:

在ngx-rtmp_handshake.c里把 ngx_rtmp_make_digest函数体注释了,把包含的2个openssl头文件注释了,把NGX_RTMP_HANDSHAKE_KEYLEN定义成32


加入openssl来编译报错 gcc unrecognized -mno-cygwin, 干脆就进去openssl/makefile里把这句它删除了。



//-----------------------------------------------------------------------------------------------------------------

照着官网的教程来编译:

cd %nginx%

mkdir objs

mkdir objs/lib

cd objs/lib

tar -xzf ../../pcre-8.32.tar.gz

tar -xzf ../../zlib-1.2.7.tar.gz

tar -xzf ../../openssl-1.0.1e.tar.gz


写一个config文件,在mysys里运行:

auto/configure --with-cc=gcc --builddir=objs --prefix= \

--conf-path=conf/nginx.conf --pid-path=logs/nginx.pid \

--http-log-path=logs/access.log --error-log-path=logs/error.log \

--sbin-path=nginx.exe --http-client-body-temp-path=temp/client_body_temp \

--http-proxy-temp-path=temp/proxy_temp \

--http-fastcgi-temp-path=temp/fastcgi_temp \

--with-cc-opt=-DFD_SETSIZE=1024 --with-pcre=objs/lib/pcre-8.34 \

--with-zlib=objs/lib/zlib-1.2.8 --with-openssl=objs/lib/openssl-1.0.1f \

--with-select_module --with-http_ssl_module --with-ipv6 \

--add-module=objs/lib/nginx-rtmp-module-master



nginx虚拟目录设置 alias 和 root

使用nginx设置root时要注意一个问题,就是如果该root设置的前端目录不是根目录,那么在写root的绝对地址时,要把前端目录的部分省略掉。

我们用设置虚拟目录指向的alias来和root比较一下就非常明显了

alias


location /abc/ 

{     

alias /home/html/abc/; 

}


在这段配置下,http://test/abc/a.html就指定的是 /home/html/abc/a.html。这段配置亦可改成


root


 


location /abc/ 

{     

root /home/html/;

}



装了LNMP, conf文件中的 localtion /  { } 节被重定向到了php, 比如index.php


你可能感兴趣的:(nginx 笔记)