본문 바로가기

콩's EDUCATION/콩's BASIC IT

웹서버를 구축과 관련한 좋은 글

크게 볼수 있는 부분이 
호스팅, 서버(하드웨어), OS(운영체제), DBMS, AP Server, Framework&OpenSource, Language(ASP, JSP, PHP)...

1. 호스팅
사내에서만 사용할 계획이라면 내부에서 운영해도되고요...
IDC에 서버를 임대/구매/기존서버 입주를 하거나
호스팅업체(cafe24 등)에 가입하여 서비스 받을수도 있습니다.

비용측면 : IDC(트레픽비용+서버입주공간or임대비용) > 호스팅(호스팅비용) > 사내(전기세) 운영이 되겠네요.

2. 운영체제
크게 Window Server 와 Linux로 나뉘겠습니다...
Window Server의 경우 ASP or ASP .NET 을 할경우 울며 겨자먹기로 선택.
리눅스의 경우 크게 페도라계열과 데비안계열이 있습니다...(리눅스도 이것저것 너무 많아서요...)
Fedora 계열 : [CentOS], Redhat, [Fedora], [SuLinux] 등등
데비안 계열 : [Ubuntu], 데비안 등등
가장 큰 차이는 패키지 설치시에 데비안 계열은 apt-get... Fedora계열은 yum을 씁니다 그담에 rpm설치및 소스코드 컴파일은 방식은 큰차이가 없었던듯...
기업체에서 많이 쓰는게 CentOS 개인이 많이 쓰는게 Ubuntu 인거 같습니다.
일단 저같은 경우는 현재 Ubuntu(회사에서 개인용으로 사용중), SuLinux(회사 대부분 서버), CentOS(회사 스토리지) 이렇게 사용중입니다.
개인적으로는 SuLinux를 추천드립니다... 웹서버 운영에 맞게 기본적인 세팅이 되어있고 패키기가 설치 되어있거든요...
- Linux 책으로 리눅스 서버 실무 바이블 3.0을 추천드립니다... 박성수 저...

3. DBMS(Oracle, MS-SQL, MySQL, CUBRID ...)
Oracle : 업계 1위... 비영리 목적으로 학습용으로만 사용한다면 Express Edition 설치해서 무료로 이용가능
MS-SQL : 상용서버 사용시 Oracle 다음으로 많이 사용(쇼핑몰, ASP 사용하는 중소 사이트들...) 이것역시 학습용으로 사용한다면 Express Edition 무료로 이용가능합니다.(인터페이스쪽이 쫌 편함...)
MySQL : 무료인지라 커뮤니티 사이트에서 많이 사용합니다... Oracle에서 인수했지요...
CUBRID : 국내 네이버에서 큐브리드라는 DB업체를 인수하여 무료로 제공하고 있습니다... 여러가지 문제가 있긴하지만 국내에서 사용하는 추세가 꾸준히 늘어나고 있습니다...(XE에서 이용)
우선 어디에 쓰실지와 나중에 확장성 고려해서 선택하라고 말씀 드리고 싶네요... 그리고 가장 중요한게 관리 툴과 안정성, 트렌젹션 사용유무가 되겠네요... 
추가적으로 굉장히 중요한 자료이고 DB가 절때 죽으면 안된다고 판단되시면 요즘 화두가 되는 HA(High Availability) 구성여부도 고려해보세요...
비영리 목적이시라면 개인적으로는 MySQL > CUBRID or Oracle > MS-SQL 순으로 추천드립니다...
MySQL을 1순위로 추천드린 이유는 여러 오픈소스들이 MySQL 기반으로 많기 때문입니다...(레드마인, 위키, 그누보드 등등등)
차후 기업 솔루션 운영및 개발과 학습목적 및 DBA 목표시라면 Oracle 추천드리고요...

아 그리고 툴로는 기본 제공하는거 쓰시거나 My같은경우 WorkBench, MySQL for Toad, phpMyAdmin... 오라클은 기본 제공되는거나 Toad 쓰시면 되고요...
MS야 그냥 MS-SQL 쓰면되고 큐브리드 쪽에서 제공하는 메니저 외에는 없으니까요...

4. AP Server(WAS)
JSP 계열 : [Tomcat, JBoss,] Resine, WebLogic, WebSphere, Jeus
PHP 계열 : Apache, IIS, lighttpd, nginex
ASP(.NET) 계열 : IIS
이건 뭐 언어에 종속적으로 선택해야 하겠지만...
앞단에 Apache(+PHP Module)설치하고 뒷단에 Tomcat or JBoss 연동하시는걸 추천드립니다.
이렇게 구성할경우 PHP, JSP 둘다 사용이 가능합니다...

5. Framework & OpenSource(꼭 써야 되는건 아닌지만 웹개발 하실거라면 한번쯤 써보시는걸 추천드립니다...)
기존 자료를 정리한다면 Wiki 들설치해야 할테고...
게시판운영할꺼면... 그누보드 XE 등등등
Framework의 경우
JSP 계열 : Spring, Struts...(전자정부표준프레임워크 찾아보시면 도움될겁니다...)
PHP 계열 : ZendFramework, codeigniter, cakephp, yii
ASP 계열 : .NET(고를필요 없어서 참 편합니다... IDE 제공도 다되고...)

6. Language
JSP : Java 기반으로 엔터프라이즈 솔루션에서 많이 사용하고 차후에 Android나 Java 개발자로 전향이 가능합니다...
PHP : C언어 기반 C언어 C++ 하시던 분이라면 JSP 보다 학습하기가 쉽습니다... 4버젼대와 5버젼대가 차이가 쫌 납니다...
ASP : VB언어... 셋중에 어떻게보면 학습하기는 가장 쉽습니다... .NET으로 넘어가면 C# 이 되겠습니다...

7. 기타...
HTML : XHTML, DHTML, HTML5 등이 있겠습니다... DOM
CSS : CSS2 -> CSS3 (스타일 시트 디자인관련인데 개발자도 어느정도 쓸줄 알아야되겠습니다...)
Javascript : 이것도 어느정도 할줄 아셔야 한다는...(프레임웤으로 jQuery, prototype, yui, dojo 가 있겠습니다...), Ajax
XML : 나중에 SOAP나 WebService, MeshUp, OpenAPI 등 보시면... 반드시 필요...
JSON...

8. 결론
음 어떤게 가장 좋다라고 결정 내려 드릴수는 없고요 전체적인 구성은 목적, 일정, 팀구성원에 따라서 틀려지겠습니다...
그냥 쟤 개인적으로 추천 가능한 몇가지 구성을 말씀 드리겠습니다.

8-1. ASP
.NET 까지 하시는걸 추천 드리고요...
Windows Server - MS-SQL(My, Oracle) - IIS(+PHP) - ASP .NET
아 그리고 추가적으로 밑에꺼 네이버에서 검색해서 받으신다음에 실행해 보세요... 설치 안해도 구성보면 좋습니다...(하루정도 투자하시면 안에 구성물들이 뭐하는건지 찾아보실수 있을거예요...)
Microsoft Web Platform Instller

8-2 JSP + PHP
SuLinux - MySQL(Oracle, CUBRID) - Apache - Tomcat(JBoss) - PHP&JSP (사용 프레임웤 Spring MVC)
앞단에 Apache(+PHP모듈) 뒷단에는 Tomcat 이 되겠습니다... jk mod 쓰시면 됩니다...

마지막으로 책 추천 해 드리겠습니다....
LINUX : 리눅스 서버관리 실무 바이블 v3.0 (리눅스 서버운영 레퍼런스북...)
PHP : 성공적인 웹 프로그래밍 PHP와 MySQL
HTML&CSS : Head First HTML with CSS & XHTML
JSP : Head First Servlets & JSP
ASP .NET : 프로 ASP.NET MVC 프레임워크
Spring : 토비의 스프링 3, 스프링 3 레시피
JQuery : 실전 jQuery 쿡북
JavaScript : 자바스크립트 완벽 가이드
XML : Beginning XML
서버 및 웹서비스 구성 기본지식 : 대규모 서비스를 지탱하는 기술, 24시간 365일 서버/인프라를 지탱하는 기술, 웹 개발자를 위한 웹을 지탱하는 기술, 구글을 지탱하는 기술

여기서 추가적으로 더 추천드리면너무 많을꺼 같아서 여기서 끝내겠습니다...


출처 https://kldp.org/node/129107