들어가면서
워드프레스를 웹에 올려서 사람들이 보려면 무엇을 해야 할 것인가?
웹 서버 프로그램이 필요하다
그럼 웹 서버 프로그램은 어디서 구하느냐?
웹 서버 프로그램은 여러 종류가 있지만 가장 유명한 웹 서버로는
2021년 현재 NGINX, APACHE 2가지 종류이다
다른 웹 서버 프로그램들도 분명 있겠으나 사용자층이 많은 것을 해야 어려운 문제에
봉착 했을 때 구글링을 통해 도움도 받을 수 있고 여러 커뮤니티가 형성되어 있어
유사사례들도 찾을 수 있다
나는 처음에 NGINX 를 설치하였으나, 윈도우 환경에 적합하지 않아 APACHE로 전향하였다
NGINX가 기술적으로는 더 좋아보이지만 호환성 면에서 윈도우에는 아직 쓰기 어렵다
APACHE 서버 설치하기
아파치 서버는 여기(https://www.apachelounge.com/download/) 에서 다운로드가 가능하다
32비트와 64비트가 존재하는데, 본인의 서버의 비트에 맞게 다운 받는다
압축을 풀 때에는 신중하게 생각하자
보통 C드라이브 밑에 C:\APACHE 같은 곳에 풀게 되는데
향후 설정 파일들을 건드릴 때도 해당 주소를 참조해야 하는 부분이 많다
보안상으로도 위치가 적합하지 않으며,
웹서버가에 사용자들이 접속하면서 c드라이브의 디스크가 읽기가 빈번하게 일어나기 때문에
나중에 C드라이브가 고장나면 서버 윈도우 부팅에도 문제가 생긴다
왠만하면 용량 큰 SSD 하나 달아서 다른 드라이브 (D,E,F) 등에 압축을 푸는 것을 권장한다
APACHE는 설치형 프로그램이 아닌 압축을 풀고 서비스를 구동시켜 실행하는 방식이기 때문에 압축 푼 곳이 곧 웹서버 구동의 시작지점이 된다
이제 압축을 풀어볼 차례이다
X드라이브를 만들어서 압축을 풀었다
여기서 웹서버 서비스 구동 파일 위치는 BIN 폴더 안에 있다
bin 폴더 내부를 보면
httpd.exe – 서비스 구동 실행 파일
apachemonitor.exe – 서비스를 시각적으로 표시해준다 (자주 쓰임)
ab.exe – 웹 서버 부하 테스트 파일
서비스 구동하기
시작 버튼 클릭 -> cmd 입력 -> 관리자 권한으로 실행
관리자 권한으로 CMD(도스 화면) 를 실행하면 이런 화면이 나오는데
위 화면 처럼 경로 지정 x:(압축 푼 드라이브) 입력 엔터 치고 cd apache24 폴더명 이동해서
cd bin 폴더명 이동 하여 httpd.exe -k install 입력하면 정상적으로 설치 된다
설치 오류가 나오면 관리자 권한으로 CMD를 실행하지 않아서기 때문일 확률이 높다
서비스 시작하기
위에 보면 Errors가 하나 있다 ServerRoot must be a valid directory
원인은 httpd.exe 를 실행하기 전에 서버의 위치를 잡아야 한다
앞으로 자주 쓸 httpd.conf 파일이다 위치는 보다시피 Apache24\conf 폴더 내에 있다
안에는 각종 설정 내용들이 적혀있고 자주 수정하게 된다(아주 많이.. 매우 많이…)
메모장으로 파일을 열어서 살펴보면 c:/apache24 로 되어있다
이부분을 현재 압축을 푼 위치로 변경하자
나는 X드라이브로 풀었으니 x:/apache24가 되겠다
이제 실행을 해보자
cmd 창에서 httpd.exe -k start 입력
제대로 바꿨다면 요런 화면이 나온다
아파치 httpd.exe를 실행하면 외부에서 들어와야 하기 때문에
윈도우즈 방화벽을 풀어달라는 메세지 이다
엑세스 허용하자
서비스 구동 확인하기
웹 브라우저(IE,파이어폭스,크롬) 등을 하나 띄우고
접속 테스트를 해보자
주소창에 127.0.0.1 또는 localhost를 입력한다
축하한다
정상적으로 웹서버가 구동하고 앞으로 많은 일(?)들을 하게 될 것이다
마치며
이제 다음으로는 웹서버가 설치되었으니 워드프레스를 설치하면 모든 것이 끝난다고
생각하는 사람들도 있겠지만…
- PHP 설치
- MYSQL 또는 MARIA DB 설치
2가지 사전작업을 더 해야 워드프레스 설치로 넘어갈 수 있다
PHP는 워드프레스가 PHP언어로 되어있기 때문에 PHP언어를 구동하기 위해서 당연히 PHP 웹 언어용 툴을 설치해야 한다
MYSQL은 워드프레스가 저장되는 데이터베이스가 필요하다. 예로 워드프레스에 글을 작성하면 글이
데이터베이스에 저장이 된다
혹 누군가 텍스트형식으로 워드나 엑셀처럼 디스크에 저장된거를 가져다 보여주면 되는거 아닌가?
생각도 들테지만 우리가 만든 건 웹 서버이다 나만 쓰는 프로그램이나 NAS가 아니다
여러 사람들이 접속해서 동시에 읽고 쓰게 될텐데 동시에 자원을 접속하면 공유 위반 문제도 생긴다
프로그램 단에선 MUTEX 라고 하든가.. CRITICAL SECTION 이라고도 하든가?..
암튼 동시 접속 쓰기 시 어떻게 해야 할지 판단을 해야 하는데
데이터베이스에서는 밀리세컨드 단위까지 우선순위 구분이 된다
그런 것도 있고 DB파일을 백업 복구할 수도 있다
중요한 건 워드프레스가 MYSQL을 필수로 사용한다
쓰다보니 작성하는 나도 공부가 되서 좋긴 한데 노가다 성이긴 하다…
복습도 되고 긍정적으로 생각해야겠다