首页 > 代码库 > Centos安装nginx服务
Centos安装nginx服务
到http://nginx.org/en/download.html下载最新版本的Nginx并安装.
一 下载并安装pcre库ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/
cd nginx-$NGINX_VERSION
patch -p1 < ../nginx_tcp_proxy_module/tcp.patch
./configure --add-module=../nginx_tcp_proxy_module/
sudo make && make install
启动nginx上时,服务无法启动,出现libpcre.so.1 not found的错误,解决方法如下:
先执行下述命令,查看
---#ldd $(which /usr/sbin/nginx)
显示如下:
linux-vdso.so.1 => (0x00007fff7e9db000)
libpthread.so.0 => /lib64/libpthread.so.0 (0x00007fe4629d0000)
libcrypt.so.1 => /lib64/libcrypt.so.1 (0x00007fe462799000)
libpcre.so.1 => not found//果然没找到
libz.so.1 => /lib64/libz.so.1 (0x00007fe462582000)
libc.so.6 => /lib64/libc.so.6 (0x00007fe4621e1000)
/lib64/ld-linux-x86-64.so.2 (0x00007fe462bfa000)
libfreebl3.so => /lib64/libfreebl3.so (0x00007fe461f7e000)
libdl.so.2 => /lib64/libdl.so.2 (0x00007fe461d7a000)
执行如下:
----#cd /lib64
----#ln -s libpcre.so.0.0.1 libpcre.so.1
再次查看一下:
----#ldd $(which /usr/sbin/nginx)
显示已经ok了:
linux-vdso.so.1 => (0x00007fff4d7ff000)
libpthread.so.0 => /lib64/libpthread.so.0 (0x00007fb06f13e000)
libcrypt.so.1 => /lib64/libcrypt.so.1 (0x00007fb06ef07000)
libpcre.so.1 => /lib64/libpcre.so.1 (0x00007fb06ecda000)
libz.so.1 => /lib64/libz.so.1 (0x00007fb06eac4000)
libc.so.6 => /lib64/libc.so.6 (0x00007fb06e723000)
/lib64/ld-linux-x86-64.so.2 (0x00007fb06f368000)
libfreebl3.so => /lib64/libfreebl3.so (0x00007fb06e4c0000)
libdl.so.2 => /lib64/libdl.so.2 (0x00007fb06e2bc000)
为websocket应用实现负载均衡 http://cnodejs.org/topic/4f16442ccae1f4aa270010b3
Reverse Proxy Web Sockets with Nginx and Socket.IOhttp://www.letseehere.com/reverse-proxy-web-sockets
安装可能出现的问题
1、若在./configure后配置刚才的参数,提示一下的错误:
objs/src/http/modules/ngx_http_browser_module.o \
objs/src/http/modules/ngx_http_upstream_ip_hash_module.o \
objs/src/http/modules/ngx_http_upstream_least_conn_module.o \
objs/src/http/modules/ngx_http_upstream_keepalive_module.o \
objs/ngx_modules.o \
-lpthread -lcrypt -lpcre -lcrypto -lcrypto -lz
objs/src/core/ngx_regex.o: In function `ngx_pcre_free_studies‘:
/share/nginx-1.2.4/src/core/ngx_regex.c:307: undefined reference to `pcre_free_study‘
collect2: ld returned 1 exit status
make[1]: *** [objs/nginx] Error 1
make[1]: Leaving directory `/share/nginx-1.2.4‘
make: *** [build] Error 2
解决方法:
./configure --prefix=/usr/local/nginx --without-http_autoindex_module --without-http_geo_module --without-http_map_module --without-http_browser_module --with-http_stub_status_module --with-http_realip_module --with-pcre=../pcre-8.31
PS: ./configure --prefix=/usr/localnx --without-http_autoindex_module --without-http_geo_module --with-pcre=../pcre-8.31
注意:把--with-pcre=../pcre-8.31换成你的pcre解压缩包的路径
2、若在“./configure”后方加入了“--with-http_gzip_static_module”(添加gzip压缩模块)提 示以下错误:
./configure: error: the HTTP gzip module requires the zlib library.
You can either disable the module by using --without-http_gzip_module
option, or install the zlib library into the system, or build the zlib library
statically from the source with nginx by using --with-zlib=<path> option.
解决办法:安装zlib-devel包
#yum -y install zlib-devel
启动Nginx出现的问题:
# /usr/local/nginx/sbin/nginx
1、/usr/local/nginx/sbin/nginx: error while loading shared libraries: libpcre.so.1: cannot open shared object file: No such file or directory
从错误看出是缺少lib文件导致,进一步查看下
# ldd $(which /usr/local/nginx/sbin/nginx)
linux-gate.so.1 => (0x0071b000)
libpthread.so.0 => /lib/libpthread.so.0 (0×00498000)
libcrypt.so.1 => /lib/libcrypt.so.1 (0×00986000)
libpcre.so.1 => not found
libcrypto.so.6 => /lib/libcrypto.so.6 (0×00196000)
libz.so.1 => /lib/libz.so.1 (0×00610000)
libc.so.6 => /lib/libc.so.6 (0x002d7000)
/lib/ld-linux.so.2 (0x006a8000)
libdl.so.2 => /lib/libdl.so.2 (0x008c3000)
可以看出 libpcre.so.1 => not found 并没有找到,进入/lib目录中手动链接下
# ln -s libpcre.so.0.0.1 libpcre.so.1
然后在启动nginx ok 了
# /usr/local/nginx/sbin/nginx
# ps -aux|grep nginx
Warning: bad syntax, perhaps a bogus ‘-‘? See /usr/share/doc/procps-3.2.7/FAQ
root 28254 0.0 0.0 2688 460 ? Ss 17:16 0:00 nginx: master process /usr/local/nginx/sbin/nginx
nobody 28255 0.0 0.0 2860 816 ? S 17:16 0:00 nginx: worker process
root 28265 0.0 0.0 4160 688 pts/1 R+ 17:16 0:00 grep nginx