Не удалось установить nginx из источника в настройке сценария

Я использую Бродягу для создания восстанавливаемой виртуальной машины для одного из моих проектов. Этой виртуальной машине нужен основной стек LEMP, и я использую сценарий оболочки для настройки ее после того, как она создается.

Часть, из-за которой я испытываю затруднения, устанавливает nginx из источника. Сценарий настройки следующие:

#!/bin/bash

# nginx settings
NGINX_VERSION=1.4.7
NGINX_SOURCE=http://nginx.org/download/nginx-$NGINX_VERSION.tar.gz

echo "==> Installing required packages and upgrading"
apt-get -u update
apt-get install make

echo "==> Checking if nginx is installed"
if [ ! -e /opt/nginx-$NGINX_VERSION ]
then
    echo "==> nginx not installed, installing nginx $NGINX_VERSION"

    # Download nginx to /usr/src and cd into the extracted directory
    cd /usr/src
    wget $NGINX_SOURCE
    tar xf nginx-$NGINX_VERSION.tar.gz
    cd nginx-$NGINX_VERSION

    # Configure nginx
    ./configure --with-pcre --with-http_ssl_module --with-http_spdy_module --with-http_gunzip_module --with-http_gzip_static_module --with-http_stub_status_module --prefix=/opt/nginx-$NGINX_VERSION

    # Make nginx and install it
    make
    make install
fi

Процесс перестал работать в make и make install шаги, производя следующие ошибки:

make: *** No rule to make target `build', needed by `default'.  Stop.
make: *** No rule to make target `install'.  Stop.

Я должен был установить make использование apt-get в начале сценария, потому что изображение я использую, уже не имеет make установленный. Изображением является Сервер Ubuntu 12,04 64-разрядных изображений.

Я проверил, что nginx успешно загружается и извлек путем проверки usr/src каталог после выполнений сценариев.

Поиск с помощью Google make ошибки не делают seemm для возврата чего-либо полезного, я могу работать с тем, поскольку они все характерны для установки программного обеспечения, которое я не использую.

Какие-либо идеи?

1
задан 4 April 2014 в 01:03
3 ответа

Это происходит, когда какая-то библиотека отсутствует. Насколько я понимаю, это своего рода попытка и ошибка.

например: вам нужно установить библиотеки PCRE для компиляции Nginx. Попробуйте следующее:

apt-get install libpcre3 libpcre3-dev
apt-get install openssl
apt-get install libssl-dev

Если это не работает, значит, что-то еще отсутствует ... как в моем случае.

Изменить: также убедитесь, что у вас установлен zlib

apt-get install --reinstall zlibc zlib1g zlib1g-dev

Также я переключился на новейшую версию nginx, а затем я смог скомпилировать.

0
ответ дан 3 December 2019 в 21:19

Я не вижу причины, по которой вы устанавливаете NginX из исходного кода, поскольку вы не сказали никакой причины. Так что я просто оставляю здесь это с официального сайта:

Для Ubuntu замените кодовое имя на кодовое имя дистрибутива Ubuntu и добавьте следующее в конец / etc / apt / sources. list файл:

deb http://nginx.org/packages/mainline/ubuntu/ codename nginx
deb-src http://nginx.org/packages/mainline/ubuntu/ codename nginx

Для Debian / Ubuntu выполните следующие команды:

apt-get update
apt-get install nginx

Ubuntu:

Version Codename    Supported Platforms
12.04   precise     x86_64, i386
14.04   trusty      x86_64, i386, aarch64/arm64
16.04   xenial      x86_64, i386, ppc64el, aarch64/arm64
16.10   yakkety     x86_64, i386
1
ответ дан 3 December 2019 в 21:19

I была такая же проблема на моем [1165 636] centos7 тоже, поэтому оказалось, что я не установил одноранговые пакеты полностью. Таким образом, это может решить вашу проблему, если вы тоже используете centos:

yum install -y gcc pcre pcre-devel openssl openssl-devel gd gd-devel
1
ответ дан 3 December 2019 в 21:19

Теги

Похожие вопросы