网上查到很多都不符合我的情况,因为我查到的文件目录根本不在lib64下,没有现成的软连接,我目前还没学会做软链接,所以。。。
我是mac m1 utm虚拟机安装的ubuntu 20.04.1 LTS 。
下面是我的解决办法,这个方法不单单适用于nginx启动的问题,还是适用于很多可执行文件。
保险起见,在自己生成的可执行文件(linux下)先lld下,看看链接的文件是不是都能找到。
以下是针对具体这个nginx情况,可以解决的方法;再说一遍,软连接也是可以的,我没学会而已。。。
解决办法:
先查找有那些so文件找不到
lld 可执行文件,这里是
lld nginx
可以看到有未找到的标志(有几个就需要做几次后面查找添加的事情)
libpcre.so.1 => not found
然后find命令去查找这个文件,不要后面的数字
find / -name "libpcre.so"
找到这个文件的目录
/usr/local/lib/libpcre.so
将其添加到 ld.so.conf 文件末尾
sudo vim /etc/ld.so.conf
执行sudo ldconfig
在lld 可执行文件的时候就能找到了
接下来就是 sudo ./nginx
ps -aux | grep nginx
看到对应的进程就OK了;
写的粗糙,纯做记录,估计我自己以后还会碰到