상식닷컴
로그인
가입하기
2026년 상식닷컴 선정 식당 & 카페 리스트
2025년 2026년 신상 호텔 리스트
최근에 오픈한 호텔을 찾는다면 살펴보세요
일주일 식단표 어플
자동 일주일 식단표 어플
안드로이드
아이폰
주식 & 코인 차트의 신
1000만원으로 2000만원 만들기 프로젝트
궁금한 상식 보기
Flutter란 무엇인가요?
다트의 비동기 프로그래밍은 어떻게 이루어지나요?
다트의 dart:developer 라이브러리란 무엇인가요?
다트에서 애니메이션 프레임(Animation Frame)을 처리하는 방법은?
KB국민은행의 모바일 뱅킹에서 계좌 추가는 어떻게 하나요?
카이로 회담의 결과로 어떤 지역이 재편성되었나요?
카이로 회담에서의 합의가 전후 군사 작전에 미친 영향은 무엇인가요?
하노이에서의 전통 음식 체험은 어떻게 하나요?
하노이에서 즐길 수 있는 액티비티는 무엇이 있나요?
하노이에서의 가족 여행 코스는 어떤 것이 있나요?
하노이에서의 여행 중 추천하는 여행 관련 브랜드?
신칸센의 다양한 할인 혜택은 무엇이 있나요?
Previous
Next
수정하기 - 웹서버구축에서 명령어로 설정할 수 있는 부분은 무엇인가요?
닉네임
비밀번호
제목
내용
[이미지 업로드는 권한이 있는 사람만 가능. 하단 카톡으로 연락]
웹서버를 구축할 때 단순히 설정 파일을 수작업으로 편집하는 것 외에도 수많은 명령어를 통해 설치부터 서비스 제어, 모듈 활성화, 보안·성능 튜닝에 이르기까지 다양한 구성을 자동화하거나 즉시 적용할 수 있습니다. 아래에 주요 영역별로 어떤 명령어와 옵션을 쓰는지를 자세히 설명합니다. 1. 패키지 설치 및 서비스 관리 리눅스 배포판에 따라 `apt`, `yum`, `dnf` 같은 패키지 관리 명령어를 통해 Apache(httpd)나 Nginx를 설치합니다. 예를 들어 Ubuntu 계열에서는 `sudo apt update` `sudo apt install apache2` (또는 `nginx`) 를 사용하고, CentOS/RHEL 계열에서는 `sudo yum install httpd` 또는 `sudo dnf install nginx` 와 같이 설치합니다. 설치가 끝나면 systemd 기반 시스템에서는 `sudo systemctl start httpd` (또는 `nginx`) `sudo systemctl enable httpd` `sudo systemctl status httpd` 등으로 서비스를 실행·자동시작 등록·상태 확인을 합니다. SysV init 환경에서는 `service httpd start`, `chkconfig httpd on` 등을 사용합니다. 2. 가상호스트 및 포트 설정 Apache에서는 `a2ensite`, `a2dissite` 명령을 통해 가상호스트(enabled site)를 간단히 활성·비활성화합니다. 예를 들어 `sudo a2ensite example.com.conf` `sudo systemctl reload apache2` Nginx의 경우엔 별도의 enable/disable 스크립트가 없지만, `/etc/nginx/sites-available`와 `/etc/nginx/sites-enabled`를 직접 심볼릭 링크로 관리하며 `sudo ln -s /etc/nginx/sites-available/example.com /etc/nginx/sites-enabled/` `sudo nginx -t` `sudo systemctl reload nginx` 명령으로 즉시 반영합니다. 포트 변경은 설정 파일 수정 후 `-t` 옵션을 통해 문법검사, `reload`로 재시작 없이 적용합니다. 3. 모듈·기능 활성화 및 비활성화 Apache 모듈은 `a2enmod`, `a2dismod`로, Nginx의 경우 컴파일 시점 모듈을 제외하면 동적 로드가 제한적이므로 대부분 설정 파일(`load_module`)에 직접 경로를 지정합니다. 예를 들어 `sudo a2enmod <a href='https://sangseek.com/sangseeks/rewrite/ko'>rewrite</a>` `sudo systemctl restart apache2` 처럼 URL 재작성 기능을 켤 수 있고, 필요 없는 모듈은 비활성화하여 메모리 점유를 줄일 수 있습니다. 4. SSL/TLS 인증서 발급 및 적용 자체 서명(Self-Signed) 인증서는 OpenSSL 명령어 한 줄로 생성합니다. `openssl req -newkey rsa:2048 -nodes -keyout example.key -x509 -days 365 -out example.crt` Let's Encrypt 등 공인 인증서는 Certbot을 사용하여 `sudo certbot --apache -d example.com` `sudo certbot --nginx -d example.com` 과 같이 설치·자동 갱신 스크립트를 등록하게 됩니다. 발급 후 웹서버 설정 파일에서 `SSLCertificateFile`, `SSLCertificateKeyFile` 등을 명령어 없이 바로 참조하게 설정한 뒤에도 `reload` 명령만으로 증명서를 즉시 적용할 수 있습니다. 5. 보안·권한 설정 웹루트 디렉토리의 소유자와 권한은 `chown`, `chmod`로 관리합니다. `sudo chown -R www-data:www-data /var/www/html` `sudo chmod -R 755 /var/www/html` SELinux가 활성화된 시스템에서는 `semanage fcontext`, `restorecon` 명령으로 웹서버가 읽고 쓸 수 있는 컨텍스트를 지정합니다. `sudo semanage fcontext -a -t httpd_sys_rw_content_t "/var/www/html(/.*)?"` `sudo restorecon -Rv /var/www/html` 방화벽도 `ufw`나 `firewall-cmd`로 HTTP(80)/HTTPS(443) 포트를 허용합니다. `sudo ufw allow 'Apache Full'` 또는 `sudo firewall-cmd --permanent --add-service=http` `sudo firewall-cmd --reload` 6. 성능 튜닝 동시 접속 처리량을 늘리기 위해 Apache에서는 `mpm_prefork`, `mpm_event` 등의 MPM 설정을, Nginx에서는 `worker_processes`, `worker_connections` 설정을 조정합니다. 이 값을 즉시 변경하려면 설정 파일 편집 후 `reload` 하면 되고, 커널 매개변수를 건드릴 때는 `sysctl`을 사용합니다. `sudo sysctl -w net.core.somaxconn=65535` `sudo sysctl -w fs.file-max=200000` 파일 디스크립터 한도는 `ulimit -n 100000` 명령으로 세션 단위로 높일 수 있으며, 영구 적용은 `/etc/security/limits.conf`에 추가합니다. 7. 로깅·모니터링 실시간 로그 확인은 `tail -f /var/log/apache2/access.log` 또는 `journalctl -u nginx -f` 같은 명령을 사용합니다. 로그 파일이 커지면 `logrotate` 설정에 맞춰 `logrotate /etc/logrotate.d/nginx`를 수동 실행해 로그를 순환시킬 수 있습니다. 추가로 `netstat` 혹은 `ss` 명령으로 현재 열려 있는 소켓과 연결 상태를, `top`·`htop`으로 CPU·메모리 사용 현황을 점검해 장애 원인을 분석합니다. 8. PHP-FPM, 프록시, 캐싱, <a href='https://sangseek.com/sangseeks/로드밸런싱/ko'>로드밸런싱</a> PHP-FPM 프로세스 구성을 바꾸려면 `/etc/php/…/fpm/pool.d/*.conf` 파일을 수정하거나 `php-fpm` 서비스 재시작 전 `php-fpm -t`로 문법 검사 후 `systemctl reload php-fpm`을 합니다. Nginx를 리버스 프록시나 로드밸런서로 활용할 때는 `upstream` 블록을 CLI 편집 후 `nginx -t && systemctl reload nginx`로 반영하며, 캐싱 설정(`proxy_cache_path`)도 같은 방식으로 빠르게 활성화·비활성화합니다. 이처럼 웹서버 구축 과정에서 필요한 거의 모든 설정을 터미널 명령어 한 줄로 설치, 활성화, 변경, 재시작, 검증, 보안·성능 튜닝에 이르기까지 처리할 수 있습니다. 숙련된 자동화 스크립트(Ansible, Chef, Puppet)나 셸 스크립트를 작성하면 이 명령들을 모듈화하여 더욱 일관성 있고 반복 가능한 구성 관리가 가능합니다.
이용안내
커뮤니티 이용안내
×
- 게시한 게시글로 발생하는 문제는 게시자에게 책임이 있습니다.
- 게시글이 타인/타업체의 저작권을 침해할 경우 모든 책임은 게시자에게 있습니다. 게시자가 모든 손해를 부담해야 합니다.
- 상식닷컴 운영자는 게시자와 상의하지 않고 게시글을 수정 또는 삭제할 수 있습니다.
- 상식닷컴 운영자는 깨끗한 커뮤니티 공간을 만드는 것이 1순위입니다.
수정하기
취소하기