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.