[완료]apache 와 mysql 자동실행, 고전 방식이 나을까요, init 방식이 나을까요?

오리주둥이의 이미지

레드햇 > 페도라 > 안녕 > centOS로 리눅스를 갈아타며 ( 집에는 장난감으로 ubuntu, kubuntu ㅡ.ㅡ; )
apm도 버전업이 되면서 많은게 바꼈더군요.

이번에 centOS로 갈아타면서 상위 버전의 APM으로 갈아타고 있는데요
예전에는 mysql 을 부팅시에 시작되게 하기 위해
rc.d/rc.local 에 아파치와 mysql 부팅 관련 명령어를 선언해 주었었는데
요즘은 init에 등록하도록 설명이 나옵니다.

고전에 젖어있는 몸이다 보니 init는 좀 위험하다는 생각이 첫번째로 들고
rc.local 에 선언할때에는 mysqld_safe --user=mysql & 이런식으로 안전위주의 자동실행 명령을 사용했었는데
init에는 파일만 옮기고 chkconfig 만 하면 끝나도록 되어있더군요.

어느게 더 안전하고 정상적일까요?
현재는 mysql 과 apache 에 대해 예전의 고전적 방식을 취해놓긴 했습니다만...

정태영의 이미지

고전방식이라기 보단 제공하고 있던걸 사용하지 않던 방식이 아닐까요.

mysql 은 3.23 버젼 때에도 mysql.server 란 파일을 제공해왔고, 이 파일을 /etc/init.d/rcX.d 에다가 S50mysql 정도로 링크걸어주기만 하면 init 스크립트로 사용할 수 있었습니다.

아파치에는 동일한 역할의 apachectl 이 있었죠. rpm 이나 deb 등으로 설치했을 때는 말할 필요가 없을 것 같네요.

가능한 init 스크립트를 사용하시고, 설정은 my.cnf 등을 사용하세요.

--
오랫동안 꿈을 그리는 사람은 그 꿈을 닮아간다...

http://mytears.org ~(~_~)~
나 한줄기 바람처럼..

오랫동안 꿈을 그리는 사람은 그 꿈을 닮아간다...

http://mytears.org ~(~_~)~
나 한줄기 바람처럼..

오리주둥이의 이미지

아. 그렇군요. 감사합니다.
다만 제가 가장 걱정하는것은 init는 보안상 위험하니 rc.local 에 등록해서 부팅시에 띄워라 라는 것을 믿어의심치 않았기에
정태영님의 말씀대로 init로 띄워도 보안상의 문제는 없는가 하는것이 핵심입니다.
제가 글을 적는 솜씨가 별로 없어서 .. ㅜ.ㅡ

그리고 mysqld_safe --user=mysql & 식으로 백그라운드로 동작이 되도록 하는것과 init애 등록해서 돌리는것과
어느것이 더 나은건지도 잘 모르겠구요.

구글신부터 엠파스, 다음, 네이버등에서 검색해봐도 이런 내용들이 아예 없네요.

정태영의 이미지

init sript 를 열어보시면 알겠지만 init 을 통해서 시동되도록 만들어도 mysqld_safe 를 이용합니다. & 옵션을 이용해서 백그라운드로 실행하는 것도 동일하구요.

--
오랫동안 꿈을 그리는 사람은 그 꿈을 닮아간다...

http://mytears.org ~(~_~)~
나 한줄기 바람처럼..

오랫동안 꿈을 그리는 사람은 그 꿈을 닮아간다...

http://mytears.org ~(~_~)~
나 한줄기 바람처럼..

오리주둥이의 이미지

아 정말 감사합니다. ^^

mysql 과 apache는 init로 구동시켜도 되겠네요. ^^

mysql은 4.x대 사용자 때문에 --old-password 를 사용하고 있는데 말씀하신 부분만 이 옵션을 넣고 수정해서
init로 돌리면 될것 같습니다.

결국 방법론적으로는 틀리지만 결론은 똑같네요. 감사합니다.

백그라운드로 실행하는것과 그렇지 않을경우의 차이점이 어떤것이 있는지는 모르겠지만
실행시켜서 top으로 지켜보면 알수 있겠네요.

감사합니다. 정태영님. 꾸벅.

정태영의 이미지

이런건 init 스크립트를 수정하실 게 아니라 my.cnf 를 수정하셔야 하는 문제입니다.

--
오랫동안 꿈을 그리는 사람은 그 꿈을 닮아간다...

http://mytears.org ~(~_~)~
나 한줄기 바람처럼..

오랫동안 꿈을 그리는 사람은 그 꿈을 닮아간다...

http://mytears.org ~(~_~)~
나 한줄기 바람처럼..

오리주둥이의 이미지

아 그렇군요.
조금전까지 init로 mysql을 구동시켜놓고
my.cnf 에서 old-password 옵션을 어떻게 줘야 하는지 몰라서 헤메고 있습니다. ㅜ.ㅡ

혹시 old-password 를 사용할 수 있겠금 my.cnf 를 수정하는 방법을 아시는지요. 죄송합니다. 질문만 해대서 ㅠ_ㅠ

---------------------------------------------------------
검색을 해보니 답이 나오네요. 죄송합니다.

검색상에는 좀 잘못된 부분이 있던데 다음과 같이 하면 됩니다.
my.cnf 파일안에
[mysqld] 항목이 있습니다.
여기에 old_passwords=1 를 한 줄 넣어주면 되더군요.

검색한 문서에는 [client] 에 포함이 되어있던데 동작이 되질 않아서
위의 항목 아래에 추가하니 정상적으로 동작이 됩니다.

keizie의 이미지

Quote:

init는 보안상 위험하

다는 게 뭘 말씀하시는 건지 모르겠습니다.
오리주둥이의 이미지

예전에 문서를 보니 xinetd나 init나 둘 다 보안에 좀 약하다는 것을 본 적이 있습니다.
문서를 보관했으면 이럴때 도움이 되겠건만 서핑하다 읽고나서 북마크도 하지 않아 내용을 가지고 있지 않습니다.

feanor의 이미지

init이 아니라 inetd를 말씀하시는 것 같네요. 둘은 상관이 없습니다.

오리주둥이의 이미지

아 그렇군요. 감사합니다.
너무나 잘못알고 있었나 봅니다. 감사드립니다.

송효진의 이미지

init 로 안하면 halt 나 reboot 시에 정상적으로 종료되지 않겠죠.

emerge money
http://wiki.kldp.org/wiki.php/GentooInstallSimple - 명령어도 몇개 안되요~
http://xenosi.de/

오리주둥이의 이미지

항상 설치하면서 init 6 의 상황에 대해서는 한번도 생각을 안해봤네요.
정말 좋은 조언 감사드립니다.

오히려 init로 반드시 가야겠다는 생각이 들었습니다. 감사합니다.
apache 의 경우는 런레벨에 대한 부분이 빠져있더군요. 검색 해보니 이 부분을 선언해주고
사용할 수 있는 방법들이 있어서 apachectl을 일단 복사해서 넣어두었습니다.

kirrie의 이미지

음.. standalone으로 돌려도 halt, shutdown, reboot시에 정상적으로 데몬을 종료하던데요..
(적어도 종료하려고 시도합니다. 물론 정상 종료도 잘 되고..)
--->
데비안 & 우분투로 대동단결!

--->
데비안 & 우분투로 대동단결!

academic의 이미지

apachectl을 복사해서 넣어두었다는게 무슨 말씀인지 이해가 잘 가지 않아

혹시나 해서 말씀드리자면

CentOS 쓰신다면 apachectl 필요없습니다.

그냥 배포판에서 제공하는 /etc/rc.d/init.d/httpd 면 충분하니 따로

시작 스크립트 등을 신경쓰실 필요 없습니다.

--
academic은 제 고등학교 때 동아리 이름입니다.
academic, 아주 가끔은 저도 이랬으면 좋겠습니다.

----
academic은 제 고등학교 때 동아리 이름입니다.
academic, 아주 가끔은 저도 이랬으면 좋겠습니다.

오리주둥이의 이미지

apachectl 을 /etc/init.d/ 에 복사하여 ( 다른이름으로 가령 httpd )
chkconfig 를 위한 몇줄을 세팅해주고 등록해주면 됩니다.

말씀하신 방법으로는 설치를 안해봐서 ( rpm 으로 맨 처음에 설치할때 생성되는것을 말씀하시는 것 같은데.. 맞는지 모르겠습니다. ) 잘 모르겠습니다.

저는 기본만 설치하고 apm과 메일서버는 소스로 설치해서요.

아마 동일한 부분이 아닐까 싶습니다.
다만 chkconfig 를 위한 부분이 선언이 되어있지 않을까 싶은데..
다음에 집에서 테스트 컴에 설치할때 apm을 설치옵션에 잡아서 해봐야겠네요.
좋은 정보 감사합니다.

kirrie의 이미지

제가 알고 있기로는 init나 xinetd가 대기하고 있다가 각 서비스 데몬들에 바인딩 된 포트에 요청이 들어오면
그때야 메모리에 서비스 데몬을 올려서 작업을 수행한다고 합니다.
그러므로 리소스를 상대적으로 적게 차지해서 서버 부하를 줄인다고 합니다만, 서비스 데몬을 올리고 내리는
과정이 추가되므로 standalone으로 실행된 데몬보다 응답 속도가 느리다는 단점이 있죠.
--->
데비안 & 우분투로 대동단결!

--->
데비안 & 우분투로 대동단결!

정태영의 이미지

그건 init 이 아니라 inet 모드에 대한 얘기입니다. :)

ssh 등을 standalone 모드로 돌리면 sshd 가 port 를 bind 하고 기다리게 되는 것이고, inet 모드로 돌리면 inetd 혹은 xinetd 가 port 를 bind 하고 있다가 요청이 들어오면 sshd 를 실행시켜주는 겁니다.

ssh/ftp/imap/pop3/telnet 등 여러가지 데몬이 따로따로 도는게 아니라 inet 데몬 혼자 요청을 기다리게 되니 요청이 잦지 않은 경우엔 유리한 게 있겠죠 ;)

init 은 그냥 처음 시작할 때 자동으로 플그램을 로딩해주는 스크립트라고 보시면 될 듯 싶네요. rc.local 을 써도 init 에서 rc.local 을 불러주는것이고...

--
오랫동안 꿈을 그리는 사람은 그 꿈을 닮아간다...

http://mytears.org ~(~_~)~
나 한줄기 바람처럼..

오랫동안 꿈을 그리는 사람은 그 꿈을 닮아간다...

http://mytears.org ~(~_~)~
나 한줄기 바람처럼..

댓글 달기

Filtered HTML

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

BBCode

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param>
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

Textile

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • You can use Textile markup to format text.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Markdown

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • Quick Tips:
    • Two or more spaces at a line's end = Line break
    • Double returns = Paragraph
    • *Single asterisks* or _single underscores_ = Emphasis
    • **Double** or __double__ = Strong
    • This is [a link](http://the.link.example.com "The optional title text")
    For complete details on the Markdown syntax, see the Markdown documentation and Markdown Extra documentation for tables, footnotes, and more.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Plain text

  • HTML 태그를 사용할 수 없습니다.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 줄과 단락은 자동으로 분리됩니다.
댓글 첨부 파일
이 댓글에 이미지나 파일을 업로드 합니다.
파일 크기는 8 MB보다 작아야 합니다.
허용할 파일 형식: txt pdf doc xls gif jpg jpeg mp3 png rar zip.
CAPTCHA
이것은 자동으로 스팸을 올리는 것을 막기 위해서 제공됩니다.