Linux Mint를 사용하여 서비스 (apache2)를 자동 시작하는 방법


11

(Strangley) Linux Mint에 로그인 할 때 설치된 Apache2가 시작되지 않습니다.

이 명령을 실행하면 진행됩니다.

sudo service apache2 start

로그인 할 때마다이 서비스를 시작하려면 어떻게해야합니까?


~/.xinitrc시작시 실행될 명령을에 배치 할 수 있습니다.
n0pe

2
@MaxMackie 반대로, ~/.xinitrc로그인 시간에 실행됩니다. 부팅 할 때 루트로 Apache를 시작해야합니다.
Gilles 'SO- 악마 그만'

@Gilles, 맞습니다. 수정 해 주셔서 감사합니다. 그러나 부팅시 아파치를 시작해야하는 이유는 무엇입니까? 로그인해도 거의 같은 결과가 나오지 않습니까?
n0pe

@MaxMackie 부팅 직후에 로그인하지 않으면 당연히 아닙니다. 또한 Apache는 실행되지 않으므로 권한을 부여해야합니다. 부팅 스크립트의 일부에서 시작해야하며 일반적으로 수행됩니다.
Gilles 'SO- 악마 그만'

@ 길이 맞아. 그것에 빛을 흘려 주셔서 감사합니다.
n0pe

답변:


12

데비안 (우분투 / 리눅스 민트)

rcconf (CLI-GUI)

sudo apt-get install rcconf
sudo rcconf

update-rc.d

sudo update-rc.d -f apache2 add

또는

sudo update-rc.d apache2 defaults

RedHat / Fedora / CentOS

chkconfig

sudo chkconfig --add apache2

또는

sudo chkconfig -- level 35 apache2 on

rcconf를 실행할 때 Apache가 이미 확인되었습니다.
eoinoc

update-rc.d명령을 실행하면 오류가 발생 update-rc.d: warning: apache2 start runlevel arguments (none) do not match LSB Default-Start values (2 3 4 5)합니다..
eoinoc

update-rc.d apache2 기본값 또는 update-rc.d -f apache2 add 3 5
earthmeLon

1
고맙지 만 둘 다 작동하지 않았습니다. 먼저 "이미 존재 함"경고가 발생하고 두 번째 결과는 warning: apache2 start runlevel arguments (none) do not batch LSB default-Start values (2 3 4 5)입니다.
eoinoc 2016 년

6

Mint는 Ubuntu를 기반으로하고 Ubuntu는 Upstart로 전환되었으므로 Upstart Cookbook 에는 부팅시 또는 지정된 실행 수준에서 서비스를 시작하는 데 필요한 모든 정보가 있습니다.

이 사이트 는 부팅 할 때 Apache를 시작하기위한 자세한 요리 책을 제공합니다.


이 페이지에서는에 bash 스크립트를 배치하는 방법에 대해 설명 /etc/init.d/apache2합니다. 그러나 그 파일은 아파치 자체에 의해 이미 배치 된 훨씬 더 복잡한 bash 스크립트로 가득 차 있습니다.
eoinoc

3

같은 문제의 또 다른 원인은 rc [0-6] .d의 아파치 링크의 우선 순위입니다. 광산은 S90과 K09 였고, 부팅 할 때 Apache가 시작되지 않았습니다. 우선 순위를 기본값 인 20으로 설정하면 나에게 도움이되었습니다. 기존 링크를 먼저 제거해야합니다.

sudo update-rc.d -f apache2 remove
sudo update-rc.d apache2 defaults

2

종료시 오류가 발생했습니다.

/etc/apach2/apache.conf ... 230 행의 구문 오류 .... / etc / apache / sites-enables / mysite : 해당 파일 또는 디렉토리가 없습니다.

문제는 mysite내 홈 폴더의 파일에 연결되었습니다.

그것은 일반적으로 문제가되지 않아야한다고 생각했습니다.

그러나 내가 아는 한 내 홈 파티션은 암호화되어 있습니다. 따라서 Apache 가로 드 할 때 가상 사이트 파일을 읽을 수 없다고 생각합니다. 비밀번호를 입력 할 때까지 파일에 액세스 할 수 없었습니다.

복잡한 상황이며 그것을 해결하는 데 몇 달이 걸렸습니다. :)


어떻게 해결 했습니까?
Jonas Äppelgran

0

2019 년 업데이트 된 새로운 답변 :

sudo systemctl start httpd

sudo systemctl 사용 httpd

systemctl 명령은 시스템 시스템 및 서비스를 제어하는 ​​새로운 도구입니다. 이것은 이전 SysV init 시스템 관리를 대체합니다. 최신 Linux 운영 체제의 대부분은이 새로운 도구를 사용하고 있습니다. CentOS 7, Ubuntu 16.04 이상 또는 Debian 9 시스템을 사용하는 경우 그들은 지금 체계화를 선택했습니다.

활성화 된 서비스는 시스템 부팅시 자동 시작됩니다. 이것은 SysV init의 chkconfig와 systemd의 비슷한 옵션입니다.


1
주문을 시작하기 전에 활성화하기 위해 주문을 뒤집는 것을 고려할 수 있습니다.
Jeff Schaller
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.