linux/centos安装nginx常见错误及解决办法
2015-09-08 16:05
459 查看
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
刚安装好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
相关文章推荐
- Linux socket 初步
- 小心服务器内存居高不下的元凶--WebAPI服务
- 10 篇对初学者和专家都有用的 Linux 命令教程
- Linux 与 Windows 对UNICODE 的处理方式
- Ubuntu12.04下QQ完美走起啊!走起啊!有木有啊!
- 解決Linux下Android开发真机调试设备不被识别问题
- 运维入门
- 运维提升
- Linux 自检和 SystemTap
- Ubuntu Linux使用体验
- c语言实现hashmap(转载)
- Linux 信号signal处理机制
- linux下mysql添加用户
- Scientific Linux 5.5 图形安装教程
- [原创]java局域网聊天系统
- 基于 Linux 集群环境上 GPFS 的问题诊断