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