Во-первых, убедитесь, что httpd работает с sudo systemctl httpd status
. Прежде чем мы случайно добавим повторяющееся правило, давайте проверим правила iptables с помощьюiptables -L
Чтобы убедиться, что мы принимаем все входящие http, давайте добавим ACCEPT в нашу таблицу
sudo iptables -A INPUT -p tcp --dport 80 -m conntrack --ctstate NEW,ESTABLISHED -j ACCEPT
Если это не решит проблему, обязательно проверьте настройки Apache, указанные в /etc/apache2/apache2.conf
. У нас должна быть базовая модель безопасности внизу файла conf. Например, вот что найдено в моем
<Directory />
Options FollowSymLinks
AllowOverride None
Require all denied
</Directory>
<Directory /usr/share>
AllowOverride None
Require all granted
</Directory>
<Directory /var/www/>
Options Indexes FollowSymLinks
AllowOverride None
Require all granted
</Directory>
В ports.conf убедитесь, что мы прослушиваем порт 80 на всех устройствах (на данный момент, пока мы не настроим вас)Listen *:80
Если ни один из них не вызывает проблемы, убедитесь, что apache2 также работает
Похоже, вы хотите использовать неудержимый ваншот... который будет выглядеть так:
[Unit]
Description=...
[Service]
WorkingDirectory=/opt/tsc-docker
RemainAfterExit=false
ExecStart=/usr/bin/docker-compose up -d --remove-orphans
Type=oneshot
[Install]
WantedBy=multi-user.target
Это позволит вам запускать службу несколько раз, так как после завершения работы ExecStart служба возвращается в неактивное состояние. Обработка этого факта была бы правильным способом сделать это, поскольку на странице руководства systemd указано , что вы не можете запускать несколько команд запуска в останавливаемой службе -выстрела.
Грязный обходной путь, позволяющий по-прежнему использовать ExecStop, может заключаться в использовании функции ExecReload, например
[Unit]
Description=...
[Service]
WorkingDirectory=/opt/tsc-docker
RemainAfterExit=true
ExecStart=/usr/bin/docker-compose up -d --remove-orphans
ExecReload=/usr/bin/docker-compose up -d --remove-orphans
ExecStop=/usr/bin/docker-compose down
Type=oneshot
[Install]
WantedBy=multi-user.target
Поскольку это единственный способ выполнить отдельную команду, пока ваша служба все еще считается активной. Затем вы можете вызвать это, используя
systemctl reload TscDocker