Restart centos 7 apache: How to Restart Apache on CentOS 7

Centos 7 WEB сервер.

 

——————————— настройка сети
nano /etc/sysconfig/network-scripts/ifcfg-ens192

TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=none
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
IPV6ADDR=3001:2:3:1::2/64
NAME=ens192
UUID=xxxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
DEVICE=ens192
ONBOOT=yes
IPADDR=192.168.110.253
PREFIX=24
GATEWAY=192.168.110.1
DNS1=192.168.111.100
DOMAIN=domain.ru
DNS2=192.168.111.200
——————————— выключить фаервол
systemctl stop firewalld
systemctl disable firewalld
systemctl status firewalld

sed -i -e ‘s/SELINUX=enforcing/SELINUX=disabled/g’ /etc/selinux/config
——————————— настройка NGINX
yum install -y nginx
mkdir /var/www/
nano /var/www/index. html
<html>Welcome IPv4</html>
nano /var/www/ip6/index.html
<html>Welcome IPv6</html>

nano /etc/nginx/nginx.conf
http {
server {
listen 80;
listen [::]:80 default_server;
server_name «»;
root /var/www;
return 404;
}
server {
listen [::]:80;
server_name «ipv6.Centos7»;
root /var/www/ip6;
}
server {
listen 80;
server_name «ipv4.Centos7»;
root /var/www;
}

systemctl enable nginx
service nginx restart
service nginx status
— проверка
nano /etc/hosts
192.168.110.253 ipv4.Centos7
3001:2:3:1::2 ipv6.Centos7

curl http://ipv4.Centos7
curl 192.168.110.253
curl -g -6 http://ipv6.Centos7
curl -g -6 http://[3001:2:3:1::2]
———————————
systemctl disable nginx
systemctl stop nginx
——————————— веб-сервер APACHE
yum install -y httpd

nano /etc/httpd/conf/httpd. conf

Listen 192.168.110.253:80
Listen [3001:2:3:1::2]:80

<VirtualHost 192.168.110.253:80>
ServerName bad
DocumentRoot /var/www/null/
</VirtualHost>
<VirtualHost [3001:2:3:1::2]:80>
ServerName bad
DocumentRoot /var/www/null/
</VirtualHost>

<VirtualHost 192.168.110.253:80>
ServerName ipv4.Centos7
ServerAlias Centos7
DocumentRoot /var/www/
</VirtualHost>

<VirtualHost [3001:2:3:1::2]:80>
ServerName ipv6.Centos7
ServerAlias Centos7
DocumentRoot /var/www/ip6/
</VirtualHost>

systemctl enable httpd
systemctl restart httpd
reboot

curl http://ipv4.Centos7
curl http://192.168.110.253
curl -g -6 http://ipv6.Centos7
curl -g -6 http://[3001:2:3:1::2]
——————————— настройка NGINX в качестве обратного прокси для APACHE
systemctl enable nginx
nano /etc/nginx/nginx.conf
http {

server {
listen 80;
listen [::]:80;
server_name «»;
root /var/www;
return 404;
}
server {
listen 80;
server_name ipv4. Centos7;
location / {
proxy_pass http://192.168.110.253:8080;
}
}
server {
listen [::]:80;
server_name «ipv6.Centos7»;
location / {
proxy_pass http://[3001:2:3:1::2]:8080;
}
}

nano /etc/httpd/conf/httpd.conf

Listen 192.168.110.253:8080
Listen [3001:2:3:1::2]:8080

<VirtualHost 192.168.110.253:8080>
ServerName ipv4.Centos7
ServerAlias Centos7
DocumentRoot /var/www/
</VirtualHost>

<VirtualHost [3001:2:3:1::2]:8080>
ServerName ipv6.Centos7
ServerAlias Centos7
DocumentRoot /var/www/ip6/
</VirtualHost>

systemctl restart nginx
systemctl restart httpd

curl http://ipv4.Centos7
curl http://192.168.110.253
curl -g -6 http://ipv6.Centos7
curl -g -6 http://[3001:2:3:1::2]

——————————— настройка времени ntp
yum -y install ntp
systemctl start ntpd
systemctl enable ntpd

ln -sf /usr/share/zoneinfo/Europe/Moscow /etc/localtime
nano /etc/sysconfig/clock
ZONE=»Europe/Moscow»

nano /etc/ntp. conf

driftfile /var/lib/ntp/drift
restrict default nomodify notrap nopeer noquery
restrict 127.0.0.1
restrict ::1
server 192.168.111.100 prefer

includefile /etc/ntp/crypto/pw
keys /etc/ntp/keys
disable monitor

ntpstat
———————————

 

 

 

You have no rights to post comments

Решение проблемы перезапуска Apache/httpd на CentOS 7

просмотров: 381895 ноября 2016 года

На моем сервере вдруг возникла проблема, которой раньше не было.
Веб-сервер внезапно стал падать, как по расписанию…

Немного покопав, я выяснил, что сервер падал таки по расписанию, а именно — в cron.dialy выполялись некоторые обновления настроек, после чего он должен был удачно перезагружаться…
Как можно догадаться, никаких «удачно» не происходило.

Сервер вылетал с ошибкой:

HOST_NAME /var/log[0]# systemctl status httpd.service
● httpd. service - The Apache HTTP Server
   Loaded: loaded (/usr/lib/systemd/system/httpd.service; enabled; vendor preset: disabled)
  Drop-In: /etc/systemd/system/httpd.service.d
           └─nofile.conf
   Active: failed (Result: exit-code) since Sat 2016-11-05 21:58:01 EET; 22s ago
  Process: 4419 ExecStop=/bin/kill -WINCH ${MAINPID} (code=exited, status=1/FAILURE)
  Process: 4417 ExecStart=/usr/sbin/httpd $OPTIONS -DFOREGROUND (code=exited, status=1/FAILURE)
 Main PID: 4417 (code=exited, status=1/FAILURE)
Nov 05 21:58:01 HOST_NAME systemd[1]: Starting The Apache HTTP Server...
Nov 05 21:58:01 HOST_NAME httpd[4417]: [Sat Nov 05 21:58:01.608778 2016] [alias:warn] [pid 4417] AH00671: The Alias directive in /etc/httpd/conf.d/autoindex.conf at line 21 will probably never match because it overlaps an earlier Alias.
Nov 05 21:58:01 HOST_NAME httpd[4417]: AH00558: httpd: Could not reliably determine the server's fully qualified domain name, using 12.34.56.78. Set the 'ServerName' directive globally to suppress this message
Nov 05 21:58:01 HOST_NAME systemd[1]: httpd. service: main process exited, code=exited, status=1/FAILURE
Nov 05 21:58:01 HOST_NAME kill[4419]: kill: cannot find process ""
Nov 05 21:58:01 HOST_NAME systemd[1]: httpd.service: control process exited, code=exited status=1
Nov 05 21:58:01 HOST_NAME systemd[1]: Failed to start The Apache HTTP Server.
Nov 05 21:58:01 HOST_NAME systemd[1]: Unit httpd.service entered failed state.
Nov 05 21:58:01 HOST_NAME systemd[1]: httpd.service failed.

Что ж, не буду лукавить, помог мне в очередной раз Гугл…)) оказалось что проблема скрылась в методах этих самых перезагрузок, а точнее, — если apache установлен из репозиториев (yum..) то в файле /usr/lib/systemd/system/httpd.service, скорее записано следующее:

[Unit]
Description=The Apache HTTP Server
After=network.target remote-fs.target nss-lookup.target
[Service]
Type=notify
EnvironmentFile=/etc/sysconfig/httpd
ExecStart=/usr/sbin/httpd $OPTIONS -DFOREGROUND
ExecReload=/usr/sbin/httpd $OPTIONS -k graceful
ExecStop=/bin/kill -WINCH ${MAINPID}
# We want systemd to give httpd some time to finish gracefully, but still want
# it to kill httpd after TimeoutStopSec if something went wrong during the
# graceful stop.  Normally, Systemd sends SIGTERM signal right after the
# ExecStop, which would kill httpd. We are sending useless SIGCONT here to give
# httpd time to finish.
KillSignal=SIGCONT
PrivateTmp=true
[Install]
WantedBy=multi-user.target

 

Как подсказало сообщество apachelounge.com, такая запись не корректна или — это баг.

Следует в файл прописать следующее:

[Unit]
Description=The Apache HTTP Server
After=network.target remote-fs.target nss-lookup.target
[Service]
Type=forking
EnvironmentFile=/etc/sysconfig/httpd
ExecStart=/usr/sbin/httpd $OPTIONS -k start
ExecReload=/usr/sbin/httpd $OPTIONS -k graceful
ExecStop=/usr/sbin/httpd $OPTIONS -k graceful-stop
PrivateTmp=true
# If you have 90 seconds reload problem - uncomment several lines below (mixed - worked for me)
#LimitNOFILE=infinity
#KillMode=mixed
#KillMode=none
#TimeoutStopSec=10 [Install] WantedBy=multi-user.target

Для перезагрузки модуля systemctl введите комманду:

systemctl daemon-reload

 

Источники

  • [SOLVED] Cannot start apache 2. 4 on centos 7. Just timesout
  • Bug 907579 — systemctl start httpd hangs with : systemd-tty-ask-password-agent

Что скажем?

centos7 — перезапуск systemctl httpd Не удалось запустить HTTP-сервер Apache httpd pid уже работает

Простите за перекрестный пост от переполнения стека, но я понял, что это, вероятно, лучшее место, чтобы спросить.

Недавно я перестроил свой сервер на AWS, обновив Amazon Linux до Amazon Linux 2, который, как и Linux 1, является форком CentOS, теперь CentOS 7. Моя конфигурация виртуального хоста остается такой же, как и в предыдущей сборке, в то время как все остальные конфигурации файлы являются более новыми файлами по умолчанию. (Просто к вашему сведению, не уверен, что это имеет какое-то значение).

После перестроения я больше не могу делать перезапуск systemctl httpd . Я получаю сообщение об ошибке HTTP-сервер Apache httpd pid (NNNN) уже работает .

Я сделал много гугления и вижу, что довольно много людей имеют эту ошибку, но всегда оказывается что-то другое что они сделали. Я не могу придумать ничего «другого», что я сделал.

Я узнал, что PID, который я вижу как «уже запущенный», принадлежащий root, является «главным процессом», а все остальные PID, принадлежащие apache, являются «рабочими процессами». CentOS httpd работает как пользователь root и apache

 корень 4461 1 0 07:18 ? 00:00:00 /usr/sbin/httpd -k перезапустить
апач 4467 4461 0 07:18 ? 00:00:09 /usr/sbin/httpd -k перезапустить
апач 4468 4461 0 07:18 ? 00:00:08 /usr/sbin/httpd -k перезапустить
апач 4471 4461 0 07:18 ? 00:00:08 /usr/sbin/httpd -k перезапустить
апач 4477 4461 0 07:18 ? 00:00:08 /usr/sbin/httpd -k перезапустить
апач 4498 4461 0 07:18 ? 00:00:07 /usr/sbin/httpd -k перезапустить
апач 5236 4461 0 07:19 ? 00:00:08 /usr/sbin/httpd -k перезапустить
апач 5248 4461 0 07:19? 00:00:09 /usr/sbin/httpd -k перезапустить
апач 5987 4461 0 07:20 ? 00:00:09 /usr/sbin/httpd -k перезапустить
апач 5993 4461 0 07:20 ? 00:00:08 /usr/sbin/httpd -k перезапустить
апач 5994 4461 0 07:20 ? 00:00:09 /usr/sbin/httpd -k перезапустить
# systemctl перезапустить httpd;systemctl status httpd;
Сбой задания для httpd. service. Подробности смотрите в "статусе systemctl httpd.service" и "journalctl -xe".
● httpd.service — HTTP-сервер Apache.
   Загружено: загружено (/usr/lib/systemd/system/httpd.service; отключено; настройка поставщика: отключена)
   Активно: не удалось (Результат: протокол) с чт 23.12.2021 19:56:05 UTC; 4 мс назад
     Документы: man:httpd.service(8)
  Процесс: 31799 ExecStart=/usr/sbin/httpd $OPTIONS -DFOREGROUND (код=выход, статус=0/УСПЕХ)
 Основной PID: 31799 (код=выход, статус=0/УСПЕХ)
   Статус: "Чтение конфигурации..."
23 декабря 19:56:04 ip-10-5-11-55.ec2.internal systemd[1]: запуск HTTP-сервера Apache...
23 декабря 19:56:05 ip-10-5-11-55.ec2.internal httpd[31799]: httpd (pid 4461) уже запущен
23 декабря, 19:56:05 ip-10-5-11-55.ec2.internal systemd[1]: не удалось запустить HTTP-сервер Apache.
23 дек 19:56:05 ip-10-5-11-55.ec2.internal systemd[1]: Модуль httpd.service перешел в состояние сбоя.
23 декабря, 19:56:05 ip-10-5-11-55.ec2.internal systemd[1]: ошибка httpd.service.
 

Ничего необычного в журнале ошибок Apache:

 [Чт, 23 декабря, 07:18:58. 777745 2021] [suexec:notice] [pid 4460] AH01232: механизм suEXEC включен (оболочка: /usr/sbin/suexec)
[Чт, 23 декабря, 07:18:58.802753 2021] [lbmethod_heartbeat:notice] [pid 4461] AH02282: Нет slotmem от mod_heartmonitor
[Чт, 23 декабря, 07:18:58.802850 2021] [http2:warn] [pid 4461] Ah20034: модуль mpm (prefork.c) не поддерживается mod_http2. MPM определяет, как вещи обрабатываются на вашем сервере. HTTP/2 имеет больше
[Чт, 23 декабря, 07:18:58.847386 2021] [mpm_prefork:notice] [pid 4461] AH00163: настроен Apache/2.4.51 () PHP/7.4.21 – возобновление нормальной работы
[Чт, 23 декабря, 07:18:58.847414 2021] [core:notice] [pid 4461] AH00094: Командная строка: '/usr/sbin/httpd'
 

Если я убью этот «главный» PID, то смогу без проблем перезапустить.

 # убить 4461
# systemctl перезапустить httpd;systemctl status httpd;
● httpd.service — HTTP-сервер Apache.
   Загружено: загружено (/usr/lib/systemd/system/httpd.service; отключено; настройка поставщика: отключена)
   Активно: активно (работает) с чт 23 декабря 2021 г. , 20:01:31 UTC; 6 мс назад
     Документы: man:httpd.service(8)
 Основной PID: 3091 (httpd)
   Статус: «Конфигурация загружена».
   Группа CG: /system.slice/httpd.service
           └─3091 /usr/sbin/httpd -DFOREGROUND
23 декабря 20:01:31 ip-10-5-11-55.ec2.internal systemd[1]: запуск HTTP-сервера Apache...
23 декабря, 20:01:31 ip-10-5-11-55.ec2.internal systemd[1]: Запущен HTTP-сервер Apache.
# пс-Af | grep httpd
корень 3145 1 1 20:01 ? 00:00:00 /usr/sbin/httpd-DFПЕРЕЗЕМЛЯ
апач 3147 3145 0 20:01 ? 00:00:00 /usr/sbin/httpd-DFПЕРЕЗЕМЛЯ
апач 3153 3145 0 20:01 ? 00:00:00 /usr/sbin/httpd-DFПЕРЕЗЕМЛЯ
апач 3171 3145 0 20:01 ? 00:00:00 /usr/sbin/httpd-DFПЕРЕЗЕМЛЯ
апач 3177 3145 0 20:01 ? 00:00:00 /usr/sbin/httpd-DFПЕРЕЗЕМЛЯ
апач 3183 3145 0 20:01 ? 00:00:00 /usr/sbin/httpd-DFПЕРЕЗЕМЛЯ
 

Большинство людей советуют «просто убить процесс», Apache не запускается, уже работает, но не обрабатывает файл pid? но мне нужно, чтобы это работало без присмотра. На что еще я мог смотреть?

Перезапуск Centos 7 Apache с примерами кода

Перезапуск Centos 7 Apache с примерами кода

Привет, ребята, в этом посте мы рассмотрим, как найти решение для перезапуска Apache Centos 7 в программировании.

 sudo systemctl перезапустить httpd.service
 

Мы показали, как решить проблему перезапуска Apache Centos 7, рассмотрев несколько различных случаев.

Как запустить Apache в CentOS 7?

Установить Apache

  • Выполните следующую команду: yum install httpd.
  • Используйте средство systemd systemctl для запуска службы Apache: systemctl start httpd.
  • Включить автоматический запуск службы при загрузке: systemctl enable httpd.service.
  • Откройте порт 80 для веб-трафика: firewall-cmd —add-service=http —permanent.

Как перезапустить Apache в Linux?

Специальные команды Debian/Ubuntu Linux для запуска/остановки/перезапуска Apache

  • Перезапустите веб-сервер Apache 2, введите: # /etc/init.d/apache2 restart. $ sudo /etc/init.d/apache2 перезапустить.
  • Чтобы остановить веб-сервер Apache 2, введите: # /etc/init.d/apache2 stop.
  • Чтобы запустить веб-сервер Apache 2, введите: # /etc/init. d/apache2 start.

Как перезапустить службу Apache?

Непосредственно на сервере

  • Подключиться к серверу по SSH.
  • В зависимости от операционной системы, установленной на сервере, выполните команду для перезапуска Apache: В CentOS, RHEL, CloudLinux: # service httpd restart. В Debian или Ubuntu: # перезапуск службы apache2.

Как перезапустить Apache в CentOS 8?

Чтобы остановить и снова запустить службу, введите: sudo systemctl restart httpd.24-Apr-2020

Как узнать, работает ли Apache в CentOS 7?

Как проверить версию Apache

  • Откройте терминальное приложение на рабочем столе Linux, Windows/WSL или macOS.
  • Войдите на удаленный сервер с помощью команды ssh.
  • Чтобы просмотреть версию Apache в Debian/Ubuntu Linux, запустите: apache2 -v.
  • Для сервера CentOS/RHEL/Fedora Linux введите команду: httpd -v.

Как запустить Apache через порт 8080?

Настройка веб-сайта Apache для использования нескольких портов

  • Контекст: В моем примере я запустил Apache через порт 80 на одном IP-адресе.
  • Шаг 1. Откройте файл конфигурации Apache httpd.conf (на моем хосте Windows он находится здесь: «c:\Program Files\Apache Group\Apache2\conf»)
  • Шаг 2: Найдите строку: Listen 80 и введите Listen 8080 в следующей строке:

Вам нужно перезапустить Apache?

Нет, перезапускать Apache не нужно. Вам нужно будет «сильно обновить» свою веб-страницу, чтобы увидеть изменения. Просто просмотрите свой сайт и перейдите на страницу, которая должна быть затронута. Затем нажмите Ctrl + F5, чтобы обновить все.

Как принудительно перезапустить httpd?

Как перезапустить службу httpd? Вы можете использовать команду service или systemctl для перезапуска httpd-сервера. Другой вариант — использовать /etc/init. Сценарий службы d/httpd.14 декабря 2018 г.

Как запустить службу httpd в Linux 7?

Настройка веб-сервера Apache (httpd) на CentOS/RHEL 7

  • Установка программного обеспечения Apache. Это делается с помощью yum для установки httpd: [[email protected] ~]# yum install httpd.