服务器无法访问外网,nginx只能离线装,步骤如下:
离线安装GCC方法
rpm -ivh mpfr-2.4.1-6.el6.x86_64.rpm
rpm -ivh ppl-0.10.2-11.el6.x86_64.rpm
rpm -ivh cpp-4.4.7-4.el6.x86_64.rpm
rpm -ivh cloog-ppl-0.15.7-1.2.el6.x86_64.rpm
rpm -ivh gcc-4.4.7-4.el6.x86_64.rpm
离线包下载地址:http://pan.baidu.com/s/1i3lg73Z
rpm -ivh pcre-7.8-7.el6.x86_64.rpm --force(由于机器上已经有低版本的pcre,所以强制安装)。
rpm -ivh pcre-devel-7.8-7.el6.x86_64.rpm。(pcre开发包,这个一定要安装,楼猪就是之前没安装所以一直报错!)
rpm -ivh libstdc++-devel-4.4.7-4.el6.x86_64.rpm
rpm -ivh gcc-c++-4.4.7-4.el6.x86_64.rpm
rpm -ivh zlib-devel-1.2.3-29.el6.x86_64.rpm
cd nginx-1.12.1
./configure
make
make install
cd /usr/local/nginx/sbin
./nginx
Nginx启动时error while loading shared libraries: libcrypto.so.1.1
看网上的解决方法:
查看nginx启动时需要的启动项:(ldd命令检测某条命令执行时需要哪些共享库文件的支持)
发现libcrypto.so.1.1没有找到。
# ldd $(which /opt/nginx/sbin/nginx) linux-vdso.so.1 => (0x00007fffbc3fe000) libdl.so.2 => /lib64/libdl.so.2 (0x00007f9a6b456000) libpthread.so.0 => /lib64/libpthread.so.0 (0x00007f9a6b23a000) libcrypt.so.1 => /lib64/libcrypt.so.1 (0x00007f9a6b002000) libpcre.so.1 => /lib64/libpcre.so.1 (0x00007f9a6ada1000) libcrypto.so.1.1 => not found libz.so.1 => /lib64/libz.so.1 (0x00007f9a6ab8a000) libc.so.6 => /lib64/libc.so.6 (0x00007f9a6a7c9000) /lib64/ld-linux-x86-64.so.2 (0x00007f9a6b664000) libfreebl3.so => /lib64/libfreebl3.so (0x00007f9a6a54c000)
网上解决方法:
到/lib64/目录下找到libcrypto.so.1.1然后执行
ln -s libcrypto.so.1.1 libcrypto.so.1.1
但是/lib64/目录下根本没有libcrypto.so.1.1这个文件~~~坑人不?!
最后google找到方法:
在/usr/local/lib64目录下,有libcrypto.so.1.1文件,将其拷贝至/lib64/目录下,(注意:此时不需要使用ln -s命令了)重启Nginx,成功!
安装包下载地址:http://download.csdn.net/detail/u012000209/9902836
cd /usr/local/nginx/sbin
./nginx
cd /usr/local/nginx/sbin
./nginx
如果出现以下报错,则代表80端口正在被占用。
nginx [emerg] bind() to 0.0.0.0:80 failed(98:address already in use)
需要进行如下处理
ps -e | grep nginx #查看是否已经启动了nginx
netstat -ltunp #查看0.0.0.0:80端口谁占用了
kill -9 #关掉对应的进程
最后访问服务器的浏览器
links http://localhost/ #或者本机的IP地址
如果能正常显示nginx首页,则表示安装成功。