카테고리를 PHP로 할까 Linux & Server로 할까 고민하다가 Ubuntu에서 설치하는 것도 적어둔 게 있기 때문에 윈도우에서 PHP 연동까지를 PHP로 보고 - 지금 실제로 개발을 하고 있는 환경이라.. - 카테고리를 이쪽으로 정해서 작성합니다.
Nginx 서버의 경우 아파치가 원체 유명하고 많이 쓰기는 하지만 전 예전부터 Nginx를 사용하기도 했고 속도면에서 조금 더 빠르다고 느낄 때가 많기 때문에 Nginx를 기반으로 설치를 진행합니다. 아파치는 혹여 나중에 Java에 대해 포스팅하게 되면 올릴지도 모르겠네요.
Nignx 서버에 대한 윈도우 설치는 생각보다 간단합니다.
1. PHP와 마찬가지로 Nginx 공식 사이트(https://nginx.org/en/)에서 다운로드 페이지 이동 후 Stable 버전을 다운로드를 합니다.
2. 이전 PHP와 마찬가지로 원하는 폴더에 압축을 풀어줍니다.
3. 압축을 풀고 해당 폴더에서 cmd를 실행해서 nginx -v로 버전을 확인합니다.
4. Nginx 실행파일을 실행합니다.
5. localhost에 접속해서 nginx 기본 페이지가 뜨는지 확인합니다.
6. Nginx 압축 파일안에 Nginx 폴더가 하나 더 있으니 잘 확인합니다
7. 기본적인 실행 및 cmd의 간편함을 위해 PHP에서 했던 것처럼 환경변수 path에 nginx 폴더를 등록합니다.
딱히 사진으로 설명할 필요도 없을 정도로 간단하기 때문에 이대로 하셔서 Nginx 기본 페이지가 localhost에서 표시가 되는지 확인하시면 됩니다. PHP와의 연동은 다음 포스팅에서 다룰 수 있도록 하겠습니다.
PHP로 개발을 공부하거나 프로젝트, 업무 등을 진행할 때 윈도우 환경에서 PHP 설치에 관하여 제가 직접 설치해보고 글을 작성합니다. 리눅스나 Mac의 경우 참 간단하고(명령어가 잘 되어있기도 하고요) 쉬운편인데 희안하게 윈도우만 넘어오면 쉽지가 않네요. 원래는 XAMPP를 썼었지만 MySQL(Maria DB)가 계속 오류를 일으켜서(제대로 켜지지 않고 shutdown error가 발생) 매번 백업 파일을 복원하거나 백업하는 것도 힘들어져서 PHP, MySQL(Maria DB), Nginx(아파치를 쓰려다가 그냥 Nginx로 가기로 했습니다) 를 다 따로 설치한 뒤에 올리는 글입니다. 일단은 먼저 PHP 설치부터 글을 시작합니다.
1. https://www.php.net/ 에서 윈도우 릴리스 버전을 다운로드 합니다. 다른 DB 툴을 쓰시는 분들은 괜찮지만 저는 phpMyAdmin을 쓸 예정이 있었기에 8.4 버전에서는 phpMyAdmin이 어떻게든 에러가 나서 버전을 낮춰서 8.3으로 설치했습니다. 그래서 php.net 에서도 8.3버전을 다운로드 하시는게 나을 겁니다.(phpMyAdmin을 사용하실 경우만요)
2. 설치 종류는 4가지인데 64, 32비트의 차이, Non-Thread-Safe와 Thread-Safe 버전으로 나뉘어 집니다. 보통은 Non-Thread-Safe는 IIS(윈도우즈 서버)에서 많이 사용되니 여기서는 Thread-Safe 버전으로 설치합니다.
현재(2025년 4월 3일 기준)으로는 8.4 버전에 대해 메인 페이지에 나와있지만 저는 Download로 들어가서 8.3 버전의 윈도우 다운로드쪽 징크를 선택하면 위와 같이 나옵니다. Thread Safe 버전으로 설치하기로 했기에 64비트의 Zip을 설치해서 다운 받습니다.
3. 받은 압축파일을 자신이 원하는 경로에 풀어줍니다. 저는 원활한 관리를 위해 Servers라는 폴더를 만들어서 거기에 php, nginx, mysql을 모두 넣어서 관리하고 있습니다.
4. 압축해제를 하면 기본적인 설치는 다 되지만 기본적으로 PHP 작동을 위한 윈도우 환경변수 설정을 해야합니다.
5. 윈도우 키를 눌러 환경 변수를 검색 -> 시스템 환경변수 클릭 -> 하단에 환경변수 클릭
6. 환경변수를 클릭하면 위와같은 화면이 나올텐데 시스템 변수쪽에 있는 Path를 선택하고 편집을 누릅니다.
7. 자신의 php가 설치되어있는 경로를 입력해 줍니다.
8. 윈도우 버튼을 누른 후 cmd를 입력하고 php -v로 버전 확인이 되는지 보면 됩니다.
9. php 8.4 버전도 composer를 쓰면 phpMyAdmin이 된다고는 하는데 윈도우에서 composer를 설정하기가 복잡한게 많아서 그냥 0.1 버전 다운그레이드(기본 문법이나 이런면에서 크게 변경점은 없습니다.)해서 설치했습니다.
10. 설치가 완료되면 cmd에서 php를 실행해야 하는데 자신이 설치한 경로에서 cmd 창을 열고 php-cgi.exe -b "127.0.0.1:포트번호" -c php.ini 로 실행을 해주면 잘 작동 할 겁니다.
11. 제 경우 PHP 실행 시 매번 cmd에서 입력하는 부분이 귀찮았기 때문에 bat(배치 파일) 파일을 만들었습니다.
12. bat 파일로 저장하면 실행 이후 CMD 창이 떠 있을 겁니다. loop 문의 경우 CMD 창이 닫혀버리면 실행 여부를 컴퓨터를 켜놓았을 때 작업 관리자로 확인을 해야해서 계속 띄워져 있을 수 있도록 하려고 넣었습니다. 그리고 실행되어 있는 CMD 창이 닫히면 php-cgi가 종료되서 php 코드 실행이 안되므로 실행이 안될 경우 확인해 보도록 하는게 좋겠네요
13. 마지막으로 배치 파일도 작업 표시줄에 등록을 하려고(이 귀차니즘 때문에..)해서 아래와 같이 하면 됩니다.
- 배치 파일 우클릭 후 바로가기 생성
- 생선된 바로가기 우클릭 후 속성에서 바로가기 탭으로 이동
- 경로의 맨 앞에 cmd.exe /C를 추가합니다(경로와 한칸 공백이 있어야 합니다.)
- 해당 파일이 cmd로 변경되면서 작업 표시줄에 추가가 됩니다.
저는 PHP + MySQL(MariaDB) + Nginx를 같이 쓰는데 XAMPP는 아파치를 기본으로 사용하기 때문에 제 설정과는 다를 수 있습니다. 다음에는 윈도우에서 Nignx 설정을 하는 방법을 업로드 할 수 있도록 하겠습니다. 혹여 저처럼 XAMPP에서 오류가 난다거나 개별적으로 PHP를 설치하고자 하시는 분들께 도움이 되길 바랍니다.
'승부'라는 영화는 2025년 3월에 개봉한 영화로(바로 전주에 개봉했습니다) 이병헌, 유아인 등이 주연이며 감독은 '보안관' 영화의 감독이었던 김형주 감독입니다.
원래는 이런 영화가 있었는지 개봉을 할 예정이었는지 전혀 모르고 있다가 얼마 전 무심코 TV 채널을 돌려보다가 영화를 소개해주는 프로(출발 비디오 여행이었는지는 잘 기억이 안납니다..)를 봤을 때 이 영화에 대한 소개가 나와서 보는데 최고의 바둑기사라고 불리는 조훈현 9단과 이창호 9단에 대한 이야기였던 것에 흥미를 느꼈고 주연배우가 이병헌 씨였기 때문에 한번 봐도 괜찮겠다는 생각이 들어서 이번에 정말 오랜만에 영화관에 가서 영화를 보았습니다. 2023년 4월에 맷데이먼과 벤 애플렉 주연인 '에어'라는 영화 이후로 장장 2년 만에 영화관에 가서 영화를 보게 되었더군요. 아 생각해 보니 혼자서 2023년 8월에 오펜하이머도 한번 봤었네요. 아무튼 거진 2년 만에 영화관에서 영화를 보게 되어 감회가 새롭더군요.
원래는 바둑은 둘 줄 모르지만 늘 흥미는 있었고 재미있게 봤던 만화인 '미생'에서도 바둑에 대한 이야기가 나오고 여러가지 바둑에 대한 이야기는 좋아했었습니다. 어렸을 때 잠깐이지만 바둑을 배운 적도 있었지요 - 유치원 때 잠깐이었지만..- 지금도 관심은 계속 있어서 책도 사두고 스팀에서 게임성 좋기로 소문난 바둑 게임도 사뒀지만..실제로는 선입견 때문인지 진입장벽 때문인지 쉽게 시작을 하지도 못하고 있습니다. 아무튼 유명하고 일화도 많기로 소문난 두 바둑기사의 이야기라 T 멤버십 VIP 무료티켓도 남아있어서(매년 이 티켓 횟수만큼은 봐야지 하는데 CGV가 멀기도 하고 해서 날려버린 게 꽤 많네요) 어머니와 함께 안산 CGV에 예매를 해서 영화를 봤습니다.
결론부터 이야기하자면 제 취향에는 딱 맞는 영화였네요. 이병헌씨와 유아인 씨의 연기는 뭐 말할 것도 없고 자칫하면 지루해질 수 있는 소재인 바둑이라는 소재에 대해서는 바둑을 몰라도 볼 수 있도록 바둑용어는 거의 나오지 않고 바둑을 두는 장면 자체도 그렇게까지 많이 나오지 않습니다. 물론 바둑 자체를 계속 두지만 바둑을 알아야만 알 수 있는 내용들은 거의 나오지 않습니다. 그리고 두 사람의 사제관계도 적절히 강약을 조절해 가면서 세월에 흐름에 따라 관계를 잘 표현해 내서 뒤의 내용이 어떻게 될지 아는 분도 많을 텐데 뒷 이야기를 궁금할 수 있도록 영화에서 잘 풀어낸 것 같네요.
대략적인 줄거리는 세계대회에서 우승한 조훈현 9단(이병헌)이 이창호 9단(어린시절 - 김강훈 / 이후 - 유아인)과 어린 시절에 한번 대국을 한 뒤에 조훈현 9단이 사활문제를 내고 이창호 9단이 그 문제를 풀게 되면서 조훈현 9단이 직접 이창호 9단이 사는 지역까지 내려와 한번 더 대국을 하고 그 이후 이창호 9단을 제자로 받아들이고 같이 살게 되면서(이걸 내(內) 제자라고 하더군요) 이야기는 시작되고 두 사람과의 관계와 바둑에 대한 이야기들로 영화는 채워집니다. 더 써 내려가고 싶긴 하지만 스포일러가 될 수 있으니 줄거리에 대한 이야기는 여기까지 해야겠네요. 예전에는 스포일러는 접어뒀는데 지금 블로그 재활 중이라 나중에는 그렇게 해야겠네요^^;;
두 사람의 일화는 이미 유명한게 많아서 익숙한 분들도 많을 거라고 생각이 듭니다. 하지만 영화는 영화 나름의 각색의 매력이 있듯이 두 사람의 이야기를 이렇게 영화로 보게 되니 시간 가는 줄 모르고 볼 수 있었고 느낌도 새로워서 좋았습니다. 다만 이창호 9단의 유명한 일화 중 하나인 세계대회에서 혼자 남아 많은 기사들을 이기는 내용도 나올 줄 알았는데 조훈현 9단과의 관계에 집중한 영화라서 그런지 그 장면은 안 나온 게 아쉽네요. 그리고 영화를 볼수록 유아인 배우는 아쉽네요..
요새는 어떤 영화든 금방 OTT에 들어오는 경우가 많아서 그런것도 있고 영화표 값이 상당히 비싼 이유도 있고 해서 영화관에서 영화를 본 건 정말 오랜만이었는데 어머니와 같이 시간을 보내서도 좋았고 영화도 재미있었어서 하루의 반 이상 즐겁게 보낼 수 있었네요. 이 영화가 계기가 될지는 모르겠지만 묵혀두었던 바둑 기초 책도 한번 꺼내서 볼 수 있도록 해봐야겠습니다. 바둑을 좋아하시는 분들에게도 바둑을 모르시지만 두 사람의 이야기에 흥미가 있으셨던 분들도 한 번쯤 보셔도 괜찮을 것 같네요
프로젝트를 진행하는 도중 급하게 버튼을 만들고 다른 페이지로 이동을 시켜야 하는 일이 있었는데 지금 진행하는 프로젝트는 PHP를 이용하고 있으므로 대개는 버튼 등은 HTML 태그를 이용해서 만드는 편이어서 간편하게 input 태그에서 button 입력 시에(클릭) 외부 링크나 자신이 원하는 페이지 파일로 이동하는 방법을 간단하게 정리합니다.
혹은 팝업이 필요한 경우도 있는데(대부분은 새탭보다는 이걸 선호할 수 있겠네요) 이 경우는 window.open에 옵션으로 팝업의 이름과 크기 등을 지정해서 사용하면 간단하게 팝업 출력이 가능합니다. 아래의 코드의 옵션 외에도 스크롤 여부 등의 추가 옵션이 있기 때문에 세세한 사항을 설정하고 싶으시면 그 옵션들을 찾아보시면 될 것 같네요.