解決Ubuntu配置nginx出現的問題

dr526發表於2020-11-21

Ubuntu18.04配置nginx出現的各種錯誤

  1. 缺少pcre庫

    編譯nginx

    在這裡插入圖片描述

    出現錯誤

在這裡插入圖片描述

安裝pcre庫,出現錯誤

在這裡插入圖片描述

手動編譯安裝pcre庫

(1)下載並解壓pcre庫

wget https://ftp.pcre.org/pub/pcre/pcre-8.43.tar.gz
tar -xvf pcre-8.43.tar.gz

在這裡插入圖片描述

(2)編譯安裝pcre庫

cd pcre-8.43
sudo ./configure
sudo make
sudo make install

重新編譯nginx

#在nginx-1.12.2目錄下
sudo ./configure --with-stream

命令執行成功

在這裡插入圖片描述

  1. 出現"struct crypt_data"沒有名為"current_salt"成員的錯誤

    執行make命令

    sudo make && make install
    

    出現"struct crypt_data"沒有名為"current_salt"成員的錯誤

    在這裡插入圖片描述

    解決方案:進入相應路徑,將原始碼的第36行註釋

    sudo vi src/os/unix/ngx_user.c
    

在這裡插入圖片描述

重新執行sudo make && make install命令

  1. 出現-Werror=cast-function-type錯誤

在這裡插入圖片描述

解決方案

#進入nginx-1.12.2目錄下的objs目錄
cd objs
#修改Makefile檔案
sudo vi Makefile 

在這裡插入圖片描述

重新回到nginx-1.12.2目錄下執行sudo make && make install命令

  1. make命令出現許可權不夠錯誤

在這裡插入圖片描述

進入root模式執行命令

sudo su #進入root模式
make && make install
  1. nginx啟動出現無法連線pcre庫錯誤

    在這裡插入圖片描述

    檢視依賴庫

在這裡插入圖片描述

到/usr/local/lib目錄下檢視

在這裡插入圖片描述

設定軟連線

#回到nginx下的sbin目錄
cd /usr/local/nginx/sbin
#設定軟連線
ln -s /usr/local/lib/libpcre.so.1.2.11 libpcre.so.1
#設定LD_LIBRARY_PATH(注:這種方法,每次開啟nginx都需要重新設定LD_LIBRARY_PATH)
export LD_LIBRARY_PATH=/usr/local/lib:$LD_LIBRARY_PATH

重新啟動nginx

./nginx
# 檢視服務是否正常啟動
netstat -tanp

在這裡插入圖片描述

相關文章