메뉴 건너뛰기

enjoyTools.net

피씨방스튜디오 만들기 #1/4 - vscode 포터블 설정

피씨방스튜디오 만들기 #2/4 - MariaDB, HeidiSQL 준비

피씨방스튜디오 만들기 #3/4 - NginX, PHP 준비

피씨방스튜디오 만들기 #4/4 - 취합 및 마무리

 

 

Visual Studio Code 윈도우용과 NginX, PHP, MySQL 등을 피씨방에서도 설치 없이, 압축만 풀어서 바로 쓸 수 있게 하기 위한 삽질.

주로 배치파일을 활용하며, 일부는 MSys Shell 에서 파일을 가져다 쓸 것임.

준비할 파일들은 64비트용으로 할 것임.

 

0. 폴더는 아래와 같이 구성. 앞으로 여기에 필요한 폴더들을 추가해 나갈 것임.

 * 루트 폴더

 - tools : 프로그램들이 들어갈 폴더

  ** vscode : 비주얼스튜디오코드

  ** heidisql : 하이디SQL은 MySQL 클라이언트

  ** servers

   -- mariadb : MySQL 대신, 마리아DB 사용

   -- nginx : http 웹서버

   -- php

  ** utils

   -- sed : 텍스트 파일 변조용. MSys에서 필요한 것만 가져올 거임

 - workspace : 작업 공간으로 사용할 폴더

 

1. Php 준비

 * http://windows.php.net/download 에서 (현 시점 기준) Php7.1.9 Non thread safe x64 버전을 다운로드 받는다.
   (가능하면 xdebug가 지원하는 버전을 쓴다. 너무 최신 버전은 정신건강에 안 좋음.) 

 * 0번 항목에 적힌 경로에 압축을 푼다.

 * 경량화는 안 한다. 필요없는 파일은 자기 판단하에 알아서 삭제.

 * php.ini 파일을 php.ini-development 나 php.ini-production 중에 맘에 드는 놈으로 만들어준다.

 * https://xdebug.org/download.php 에서 php 버전에 맞는 xdebug (ts 안적혀있는게 nts(=non thread safe) 임.) 파일을 다운로드 받는다.

 * 다운로드 받은 xdebug_블라블라.dll 파일을 php 폴더 안에 ext 폴더에 집어 넣는다.

 * php.ini 파일의 extension 섹션에 아래 항목을 추가한다.

zend_extension=php_xdebug.dll

 * 지금 준비한 php.ini는 vscode에서 디버깅용으로 만든 것이고, NginX용으로 한 개 더 만들어야 한다. php.ini 파일을 아래와 같은 파일명으로 복사하고 이 파일은 위에 추가한 xdebug.dll 관련 줄을 없애버린다. (안그러면 NginX 겁나 느려짐)

php_noxdebug.ini

 

2. NginX 준비

 * http://nginx.org/en/download.html 에서 윈도우용 nginx stable 버전을 받는다.

 * 0번 항목에 적힌 경로에 압축을 푼다.

 

3. NginX, Php 실행 및 FastCGI 설정

 * MSys는 nginx.conf 파일을 수정하기 위한 것으로 당장 필요한 것은 아니고 나중에 Visual Studio Code 에서 내가 코딩 중인 작업영역을 NginX의 서비스 Root로 만들어주기 위해 필요한 것이다. (NginX 실행용 배치파일의 내용에 rem (주석) 처리된 부분임.)

 * MSys 준비 (정확하게는 sed 준비)

 - MSys 전부가 필요한 것은 아니고, sed 만 있으면 된다.

 - 아니면, MSys-Git 같은 것을 사용한다면 그 안에 들어있는 MSys 유틸 꾸러미에서 sed를 땡겨와도 된다. 내가 그렇게 쓰고 있는데, 정작 내가 요즘 Git을 안 쓰니 문제다.

 - http://www.msys2.org 에서 msys2-x86_64-날짜.exe 파일을 다운로드 받는다.

 - 0번 항목에 적힌 경로에 압축을 푼다.

   (exe 파일이긴 한데, 반디집 같은 프로그램으로 이 exe 파일을 열면 압축을 풀 수 있다.)

 - 아래 내용의 파일들만 남기면 sed를 온전하게 실행할 수 있다. 나머지는 다 삭제해도 무방함.

msys-2.0.dll

msys-iconv-2.dll

msys-intl-8.dll

sed.exe

 - 나는 혹시 몰라서 여기에 아래와 같은 파일들을 추가로 살려뒀다.

   (웹이랑은 관계 없고, gcc 쓸 때 make, makefile 에서 쓰는 것을 봤기 때문)

cp.exe

mkdir.exe

mv.exe

rm.exe

rmdir.exe

 * NginX, Php 실행용 배치파일 준비 (위에 적었듯이 rem으로 주석 처리된 부분은 차후에 vscode에서 실행할 때는 모두 해제해야 된다. 따라서, 현 시점의 웹서비스 Root는 "nginx 폴더/html" 이다.)

 - 파일명 : nginx_start.bat

rem set "TARGET_WORKSPACE=%cd%"

rem set TARGET_WORKSPACE=%TARGET_WORKSPACE:\=\\/%

 

rem %VSC_DRIVE%

 

rem cd %VSC_ROOT%

rem ..\utils\sed\sed -i '0,/root.*/ s//root   %TARGET_WORKSPACE%;/g' ..\servers\nginx\conf\nginx.conf

rem ..\utils\sed\sed -i '0,/root.*/! {0,/root.*/! {0,/root.*/ s//root   %TARGET_WORKSPACE%;/g}}' ..\servers\nginx\conf\nginx.conf

 

rem cd ..\servers\nginx

start nginx.exe

 

cd ..\php

php-cgi.exe -c php_noxdebug.ini -b 127.0.0.1:9900

 

 * NginX, Php 종료용 배치파일 준비

 - 파일명 : nginx_stop.bat

@echo off

echo Stopping nGinX server...

 

taskkill /F /IM nginx.exe > nul

taskkill /F /IM php-cgi.exe > nul

 

exit

 

 

이제 다음 장에서 요놈들을 vscode에서 실행시킬 수 있게 해보자.

 

계속.

 

번호 제목 글쓴이 날짜 조회 수
21 VSCode git (Source Control)에 remote 표시 꿈돌이 2020.08.17 173
20 피씨방스튜디오 만들기 #번외6 - 닷넷코어 준비 꿈돌이 2019.01.02 461
19 피씨방스튜디오 만들기 #번외5 - JSP 준비 꿈돌이 2018.11.01 522
18 피씨방스튜디오에서 vscode 업데이트 꿈돌이 2018.09.06 436
17 vscode offline mode 설정 항목 꿈돌이 2018.08.18 1249
16 피씨방스튜디오 만들기 #번외4 - Go 준비 file 꿈돌이 2018.07.14 688
15 VSCode 터미널에서 - Powershell 프롬프트 경로 짧게 하기 꿈돌이 2018.06.29 311
14 피씨방스튜디오 만들기 #번외3 - Python(3.x) 준비 꿈돌이 2018.03.16 430
13 피씨방스튜디오 만들기 #번외2 - PostgreSQL 준비 꿈돌이 2017.11.02 344
12 피씨방스튜디오 만들기 #번외1 - Node.js 준비 꿈돌이 2017.09.19 431
11 피씨방스튜디오 만들기 #4/4 - 취합 및 마무리 file 꿈돌이 2017.09.08 559
» 피씨방스튜디오 만들기 #3/4 - NginX, PHP 준비 꿈돌이 2017.09.08 451
9 피씨방스튜디오 만들기 #2/4 - MariaDB, HeidiSQL 준비 file 꿈돌이 2017.09.07 503
8 피씨방스튜디오 만들기 #1/4 - vscode 포터블 설정 file 꿈돌이 2017.09.07 1122
7 VSCode 외 웹서버 및 node.js 등 포터블 설정 백업 꿈돌이 2017.03.21 654
6 VSCode 다중커서 꿈돌이 2017.02.28 16790
5 External tools, Run 설정 이전 꿈돌이 2016.06.02 491
4 C/C++ CDT/MinGW32에서 pthread 사용하기 file 꿈돌이 2015.03.03 4041
3 GTK+ 3 설정 file 꿈돌이 2015.03.01 1677
2 CDT(c c++ development tools) 및 MinGW / MSYS 설정 file 꿈돌이 2015.02.26 3276