centos安装nginx常见错误及解决办法

分类:CentOS运维 阅读:32681 次

1. 安装完成Nginx后无法站外访问?

刚安装好nginx一个常见的问题是无法站外访问,本机wget、telnet都正常。而服务器之外,不管是局域网的其它主机还是互联网的主机都无法访问站点。如果用telnet的话,提示:

正在连接到192.168.0.xxx...不能打开到主机的连接, 在端口 80: 连接失败

如果用wget命令的话,提示:

Connecting to 192.168.0.100:80... failed: No route to host.

如果是以上的故障现象,很可能是被CentOS的防火墙把80端口拦住了,尝试执行以下命令,打开80端口:

iptables -I INPUT -p tcp --dport 80 -j ACCEPT

然后用:

/etc/init.d/iptables status

查看当前的防火墙规则,如果发现有这样一条:

ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:80

就说明防火墙规则已经添加成功了,再在站外访问就正常了。

2. 编译pcre错误(源码安装nginx必须先要装pcre)

libtool: compile: unrecognized option `-DHAVE_CONFIG_H'

libtool: compile: Try `libtool --help' for more information.

make[1]: *** [pcrecpp.lo] Error 1

make[1]: Leaving directory `/usr/local/src/pcre-8.21'

make: *** [all] Error 2

解决办法:安装g++,别忘了重新configure

apt-get install g++

apt-get install build-essential

make clean

./configure

make

3. make出错

make: *** No rule to make target `build', needed by `default'. Stop.

./configure: error: SSL modules require the OpenSSL library.

You can either do not enable the modules, or install the OpenSSL library

into the system, or build the OpenSSL library statically from the source

with nginx by using --with-openssl=<path> option.

ubuntu下解决办法:

apt-get install openssl

apt-get install libssl-dev

centos下解决办法:

yum -y install openssl openssl-devel

4.依赖软件prce,ssl,zlib未安装错误

1)如果报错

./configure: error: the HTTP rewrite module requires the PCRE library.

You can either disable the module by using --without-http_rewrite_module

option, or install the PCRE library into the system, or build the PCRE library

statically from the source with nginx by using --with-pcre=<path> option.

需要安装pcre包

Pcre

tar zxvf pcre-8.12.tar.gz

cd pcre-8.12

./configure

make

make install

2)如果报错

./configure: error: the HTTP cache module requires md5 functions

from OpenSSL library. You can either disable the module by using

--without-http-cache option, or install the OpenSSL library into the system,

or build the OpenSSL library statically from the source with nginx by using

--with-http_ssl_module --with-openssl=<path> options.

需要安装openssl

tar zxvf openssl-0.9.8g.tar.gz

cd openssl-0.9.8g

./config --prefix=/usr/local/ --openssldir=/usr/local/openssl -g3 shared zlib-dynamic enable-camellia

make

make install

测试是否安装成功:openssl version

3)如果报错

configure: error: zlib not found.

需要安装:gzip.tar.gz

tar zxvf gzip.tar.gz

./configure

make

make install