centos安裝nginx常見錯誤及解決辦法
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