Apache не удалось запустить LSB: веб-сервер Apache2

Когда я запускаю апача затем, он дает мне ниже ошибки -

  Job for apache2.service failed because the control process exited with error code. See "systemctl status apache2.service" and "journalctl -xe" for details.

Я выполнился ниже команды -

 systemctl status apache2.service

Я добрался ниже ошибки

  apache2.service - LSB: Apache2 web server
  Loaded: loaded (/etc/init.d/apache2; bad; vendor preset: enabled)
  Drop-In: /lib/systemd/system/apache2.service.d
       └─apache2-systemd.conf
  Active: failed (Result: exit-code) since Wed 2017-05-31 17:01:40 IST; 1min 34s ago
  Docs: man:systemd-sysv-generator(8)
  Process: 11884 ExecStop=/etc/init.d/apache2 stop (code=exited, status=0/SUCCESS)
  Process: 3171 ExecReload=/etc/init.d/apache2 reload (code=exited, status=0/SUCCESS)
  Process: 12696 ExecStart=/etc/init.d/apache2 start (code=exited, status=1/FAILURE)

 May 31 17:01:40 itadmin systemd[1]: Starting LSB: Apache2 web server...
 May 31 17:01:40 itadmin apache2[12696]:  * Starting Apache httpd web server apache2
 May 31 17:01:40 itadmin apache2[12696]: mktemp: failed to create file via template ‘/tmp/tmp.XXXXXXXXXX’: Read-only file system
May 31 17:01:40 itadmin apache2[12696]: /etc/init.d/apache2: 72: /etc/init.d/apache2: cannot create : Directory nonexistent
 May 31 17:01:40 itadmin apache2[12696]:  *
 May 31 17:01:40 itadmin apache2[12696]:  * The apache2 configtest failed.
 May 31 17:01:40 itadmin systemd[1]: apache2.service: Control process exited, code=exited status=1
 May 31 17:01:40 itadmin systemd[1]: Failed to start LSB: Apache2 web server.
May 31 17:01:40 itadmin systemd[1]: apache2.service: Unit entered failed state.
May 31 17:01:40 itadmin systemd[1]: apache2.service: Failed with result 'exit-code'.

Я ничего не понимаю. Кто-либо может помочь мне?

0
задан 31 May 2017 в 05:46

1 ответ

Я также встретился с той же ошибкой (при работе с Saltstack) и сумел решить его. Существует четыре пути.

  1. По некоторым причинам Ваш /etc/apache2/envvars отсутствует:
    Для решения этого можно создать файл вручную и добавить значение по умолчанию envvars содержание ниже

    sudo vim /etc/apache2/envvars
    
    # envvars - default environment variables for apache2ctl
    
    # this won't be correct after changing uid
    unset HOME
    
    # for supporting multiple apache2 instances
    if [ "${APACHE_CONFDIR##/etc/apache2-}" != "${APACHE_CONFDIR}" ] ; then
        SUFFIX="-${APACHE_CONFDIR##/etc/apache2-}"
    else
       SUFFIX=
    fi
    
    # Since there is no sane way to get the parsed apache2 config in scripts, some
    # settings are defined via environment variables and then used in apache2ctl,
    # /etc/init.d/apache2, /etc/logrotate.d/apache2, etc.
    export APACHE_RUN_USER=www-data
    export APACHE_RUN_GROUP=www-data
    # temporary state file location. This might be changed to /run in Wheezy+1
    export APACHE_PID_FILE=/var/run/apache2/apache2$SUFFIX.pid
    export APACHE_RUN_DIR=/var/run/apache2$SUFFIX
    export APACHE_LOCK_DIR=/var/lock/apache2$SUFFIX
    # Only /var/log/apache2 is handled by /etc/logrotate.d/apache2.
    export APACHE_LOG_DIR=/var/log/apache2$SUFFIX
    
    ## The locale used by some modules like mod_dav
    export LANG=C
    ## Uncomment the following line to use the system default locale instead:
    #. /etc/default/locale
    
    export LANG
    
    ## The command to get the status for 'apache2ctl status'.
    ## Some packages providing 'www-browser' need '--dump' instead of '-dump'.
    #export APACHE_LYNX='www-browser -dump'
    
    ## If you need a higher file descriptor limit, uncomment and adjust the
    ## following line (default is 8192):
    #APACHE_ULIMIT_MAX_FILES='ulimit -n 65536'
    
    ## If you would like to pass arguments to the web server, add them below
    ## to the APACHE_ARGUMENTS environment.
    #export APACHE_ARGUMENTS=''
    
    ## Enable the debug mode for maintainer scripts.
    ## This will produce a verbose output on package installations of web server modules and web application
    ## installations which interact with Apache
    #export APACHE2_MAINTSCRIPT_DEBUG=1
    

    Затем перезапустите апачский сервис, как обычно.

    sudo service apache2 restart
    
  2. Если Ваш envvars файл в порядке затем, это может быть случай недостающих пакетов. Переустановите недостающее использование пакетов ниже команды, затем перезапустите сервис Apache.

    sudo apt-get -o DPkg::Options::="--force-confmiss" --reinstall install apache2
    sudo service apache2 restart 
    
  3. Кроме того, можно удалить Apache, и все его файлы конфигурации затем переустанавливают его.

    sudo apt-get purge apache2
    sudo apt-get install apache2
    
  4. И наконец если все опции выше не работают, можно попытаться установить пакет libapache2-mod-php7.0 или отключите модуль PHP7 путем выполнения

    sudo a2dismod php7.0
    
0
ответ дан 3 November 2019 в 04:07

Другие вопросы по тегам:

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