背景

服务器A准备下线,故直接将上面的所有应用/资料打包迁移到服务器B。包括搭建的nginx,迁移到B服务器后,楼主偷懒,就想着直接./nginx启动,过程遇到如下问题。

./nginx

./nginx: error while loading shared libraries: libssl.so.6: cannot open shared object file: No such file or directory

原因:找不到动态链接库。

问题具体解决过程

(1)安装libssl.so.6

rpm包下载:https://pkgs.org/download/libssl.so.6

安装:rpm2cpiolibstdc++-4.4.7-4.el6.x86_64.rpm |cpio -idvm

(2)LD_LIBRARY_PATH修改

楼主不是root,故只能将libssl.so.6安装到普通用户目录,再通过LD_LIBRARY_PATH添加LD加载目录。

具体在.bashrc中添加:

export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$HOME/lib/usr/lib64(libssl.so.6具体目录)

(3)安装64位的libssl.so.6

前两个步骤搞定后,启动时候仍遇到这个错误:

./nginx

./nginx: error while loading shared libraries: libssl.so.6: wrong ELF class: ELFCLASS32

错误原因:安装的so.6是32位,当前系统需要64位。

重新下载64位的libssl.so.6再安装步骤(1)(2)操作就可以。

附录:

1、64位 libssl.so.6下载地址

wget ftp://ftp.pbone.net/mirror/www.startcom.org/AS-6.0.0/os/x86_64/Packages/openssl098e-0.9.8e-17.SEL6.x86_64.rpm。

2、查看nginx依赖的so库

ldd nginx

linux-vdso.so.1 => (0x00007fff09fff000)

libpthread.so.0 => /lib64/libpthread.so.0(0x0000003fc8400000)

libcrypt.so.1 => /lib64/libcrypt.so.1(0x0000003fccc00000)

libssl.so.6 => not found

libcrypto.so.6 => not found

libdl.so.2 => /lib64/libdl.so.2(0x0000003fc8000000)

libz.so.1 => /lib64/libz.so.1(0x0000003fc8c00000)

libc.so.6 => /lib64/libc.so.6(0x0000003fc7c00000)

/lib64/ld-linux-x86-64.so.2(0x0000003fc7800000)

libfreebl3.so => /lib64/libfreebl3.so(0x0000003fcd000000)

3、nginx启动参数

./nginx -h

nginx version: nginx/1.4.2

Usage: nginx [-?hvVtq] [-s signal] [-c filename] [-p prefix] [-g directives]

Options:

-?,-h : this help

-v : show version and exit

-V : show version and configure options then exit

-t : test configuration and exit

-q : suppress non-error messages during configuration testing

-s signal : send signal to a master process: stop, quit, reopen, reload

-p prefix : set prefix path (default: /home1/xxxx/local/nginx-1.4.2//)

-c filename : set configuration file (default: conf/nginx.conf)

-g directives : set global directives out of configuration file

参考:https://www.linuxidc.com/Linux/2013-03/81120.htm

记一次服务器迁移后的nginx启动问题的更多相关文章

  1. 记一次服务器迁移 TFS客户端ip更换

    服务器迁移,TFS服务端IP由原10.58.8.231更换至10.58.1.230 TFS客户端更换ip操作比较复杂,请谨慎操作,避免脱库的风险!!! 打开注册表,运行->regedit 找到H ...

  2. 记一次服务器迁移SVN客户端更换IP

    服务器迁移,SVN服务端IP由原10.58.8.231更换至10.58.1.230   TortoiseSVN更换ip地址操作如下: 打开svn项目的根目录,右键如图操作: 修改ip地址为10.58. ...

  3. 阿里云服务器重启后mysql不能启动的问题

    环境:阿里云ECS服务器上,Ubuntu linux 12.04,64位版.MySQL 5.1. 首先查看/etc/rc.local,可以看到Ubuntu通过/etc/init.d/mysqld脚本启 ...

  4. 记一次centos7重启后docker无法启动的问题

    问题描述 在重新了centos7系统后,docker突然就启动不了了,查看报错信息 [root@localhost ~]# systemctl status docker.service ● dock ...

  5. Linux服务器重启后eureka报错

    在Linux服务器重启后,首次启动应用时查看eureka注册中心,报错 EMERGENCY! EUREKA MAY BE INCORRECTLY CLAIMING INSTANCES ARE UP W ...

  6. 解决nginx启动时域名解析失败而导致服务启动失败的问题

    问题: nginx启动或者reload的时候,会对proxy_pass后面的域名进行DNS解析,如果解析失败,启动就会失败或者reload失败. 我们是to B的产品,客户的环境可能是不通公网的,因此 ...

  7. Tfs服务器迁移(更改IP)后客户端(vs2013)配置方法

    一.前言 公司开发项目需要进驻客户现场,局域网中的tfs代码服务器有时会有修改ip的情况发生.服务器ip修改后在vs2013中更改服务器ip地址非常麻烦,有些时候需要将代码重新进行映射.多次试验后将可 ...

  8. 云服务器部署Python项目(nginx+uwsgi+mysql+项目)

    python项目部署到云服务器 关注公众号"轻松学编程"了解更多. 一.硬件准备 云服务器,系统ubuntu_16_04 . 注意:要在安全组中开放Http的80端口. 二.软件准 ...

  9. HappyAA服务器部署笔记1(nginx+tomcat的安装与配置)

    这是本人的服务器部署笔记.文章名称叫"部署笔记1"的原因是之后我对这个进行了改进之后,会有"部署笔记2","部署笔记3"...循序渐进,估计 ...

随机推荐

  1. PLSQL Developer概念学习系列之登录连接Oracle时出现(没有登录) -PL / SQL Developer:ORA - 12541: TNS :无建听程序的错误解决办法(图文详解)

    不多说,直接上干货! 前期博客 PLSQL Developer概念学习系列之如何正确登录连接上Oracle(图文详解)   如用scott.scott_password进行登录,orcl是全局数据库 ...

  2. rubymine debug需要安装依赖

    for ruby2.x gem install ruby-debug-ide --pre gem install debase --pregem install debugger2 --pre

  3. pyenv docter检测出configure: error: OpenSSL is not installed.解决方案

    1 在安装相应版本的python时,前声明 CFLAGS=-I/usr/include/openssl \ LDFLAGS=-L/usr/lib64 \ pyenv install -v 3.5.1

  4. mycat中间件--linux安装mycat1.6版本

    一.mycat安装前准备1.mycat下载地址,点击此处进行下载2.环境要求如下: mycat使用Java开发,因为用到了JDK 7的部分功能,所以在使用前请确保安装了JDK 7.0,并设置了正确的J ...

  5. 揭开Future的神秘面纱——任务取消

    系列目录: 揭开Future的神秘面纱——任务取消 揭开Future的神秘面纱——任务执行 揭开Future的神秘面纱——结果获取 使用案例 在之前写过的一篇随笔中已经提到了Future的应用场景和特 ...

  6. Hibernate进行对象的增删改查

    首先我们看看hibernate手动配置步骤 (这个了解一点就可以了,以后是不会自己全部手动配置的) 1.    创建WEB项目 2       下载hibernate-release-4.3.11.F ...

  7. 在使用Git提交代码的时候犯了个低级错误

    今天在使用git提交代码的时候,犯了个很低级的错误,按照一切流程当我add并commit提交代码,最后使用push到远程仓库, 接下来奇怪的事情发生了,push之后,查看远程仓库代码并没有发现提交记录 ...

  8. 分布式理论(八)—— Consistent Hash(一致性哈希算法)

    前言 在分布式系统中,常常需要使用缓存,而且通常是集群,访问缓存和添加缓存都需要一个 hash 算法来寻找到合适的 Cache 节点.但,通常不是用取余hash,而是使用我们今天的主角-- 一致性 h ...

  9. ASP.NET MVC呼叫WCF Service的方法

    本演示,Insus.NET操练asp.net mvc的应用程序,虽然以前有写过:<MVC应用程序使用Wcf Service>http://www.cnblogs.com/insus/p/3 ...

  10. AngularJS学习笔记(五)自定义指令(1)

    先来说说自定义指令 ng通过内置指令的方式实现了对html的增强,同时也赋予了我们自定义指令的功能,让我们根据实际需求进行指令的定制.自定义指令涉及到模板(template).作用域(scope).数 ...