기본 콘텐츠로 건너뛰기

2018의 게시물 표시

Nginx + PHP + MySQL 개발 및 배포 환경 구축 (5)

Git 설정 목록으로 돌아가기 버전 관리의 필요성 버전 관리 시스템은 프로그램 소스의 변경 내용들을 시간에 따라 기록하여 과거 특정 시점의 버전으로 다시 불러 올 수 있는 시스템이다. CVS와 Subversion, Mercurial 그리고 Git 등 다양한 소프트웨어가 있으며 2005년 리누즈 토발즈가 리눅스 커널 개발에 이용하기 위해 개발한 Git이 가장 현대적이고 대중적인 관리 툴이라고 할 수 있다. 이 게시글의 목적은 개발환경을 구성하는 한 예를 보여주기 위한 것이므로 Git의 명령 등은 생략하고 Windows에서 Git을 이용하기 위해 사용하고 있는 프로그램 소개만하도록 하겠다. 1. Git 설치하기 기본적으로 Windows 운영체제에 설치하여 사용하기 위해서 Git 소프트웨어를 내려받아 설치한다. bash 스타일의 명령 환경을 제공하고 git 명령을 수행할 수 있는 환경을 제공한다. Windows용 Git 내려받기:  https://git-scm.com/ 2. Sourcetree 설치하기 Git을 사용하기 위해서는 기본적으로 자주 사용하는 명령 외에도 꽤 많은 명령과 옵션을 익혀야 하며, Commit 히스토리를 보기에는 명령 환경보다는 그래픽 환경이 직관적이고 유용하다. Sourcetree는 이슈 & 프로젝트 관리 툴로 유명한 Atlassian사에서 개발한 Windows와 Mac용으로 무료 사용이 가능한 Git GUI 툴이다. Windows용 Sourcetree 내려받기:  https://www.sourcetreeapp.com/ 일반적인 git 관리 명령은 명령행에서 처리하는게 능률적이지만 commit 히스토리를 살펴보거나 branch 구조를 살펴봐야 할 경우에는 아무래도 그래픽 환경이 훨씬 효율적이다. 아울러 Atlassian사에는 Bitbucket( https://bitbucket.org )이라는 Git 저장소를 무료와 유료로 제공하고 있다.l git 저장소로 유명한 github...

Nginx + PHP + MySQL 개발 및 배포 환경 구축 (4)

Windows 10 64bit 환경에서 PHP 7.2 설치하기 목차로 돌아가기 1. PHP 7.2 설치하기 VC15 x64 Non Thread Safe  내려받아 D:\Utils 폴더에 압축을 푼다. D:\Utils\php-7.2.7-nts-Win32-VC15-x64 > PHP-FPM 설정을 위해 php.ini 설정파일을 편집한다. php.ini 파일은 C\Windows 폴더에 기본적으로 위치한다. PHP FastCGI Process Manager (FPM)은 로드가 많은 사이트에 유용한 설정으로 앞서 설치한 nginx와 함께 사용할 수 있도록 nginx 설정 파일도 함께 편집한다. ;C:\Windows\php.ini engine = Off memory_limit = 1G extension_dir = "ext" ; for windows cgi.force_redirect = 0 cgi.fix_pathinfo=0 ; PHP 7.2 이전 버전 ; extension=php_extname ; PHP 7.2 부터 확장 모듈명만 기재 ; extenstion=extname extension=curl extension=gd2 extention=mbstring extention=exif extention=mysqli ; php_oci8_12c.dll은 Oracle C interface의 일부이므로 Oracle instant client가 설치되어 있어야 한다. extention=oci8_12c extention=openssl [Date] date.timezone = Asia/Seoul 2. php-cgi.exe 실행 D:\Utlis\php-7.2.7-nts-Win32-VC15-x64> php-cgi.exe -b 127.0.0.1:9000 3. nginx.conf 설정 location ~ \.php$ { root html; fastcgi_pass 127.0.0.1:...

Nginx + PHP + MySQL 개발 및 배포 환경 구축 (3)

Windows 10(64bit) 환경에 nginx 설치하기 목차로 돌아가기 대중적인 웹개발 환경의 대표적인 조합이라면 APM(Apache + PHP + MySQL) 조합을 빼놓을 수 없다. 고유명사화 되다시피 한 조합이지만 최근 몇 년사이 웹서버로 Apache HTTPd 대신 nginx 를 조합하는 경우가 많아졌다. Apache 웹서버에 비해 설정이 간단하고 가벼워서 같은 자원으로 더욱 강력한 성능을 낼 수 있다. 구글링해보면 Apache 웹서버와 nginx 웹서버의 성능 비교 이슈에 대한 기사는 최근에도 지속적으로 다뤄지고 있다. 1. nginx 설치 nginx는 2가지 배포버전으로 개발이 진행된다. 짝수 버전 (1.14)은 안정버전으로 보수적으로 관리되며 중요한 문제 또는 보안 취약점을 수정해야하는 경우에만 업데이트된다. 홀수 버전 (1.15)은 메인 라인 브랜치이다. 좀 더 공격적인 개발이 진행되며 약 4-6 주에 한 번씩 만들어져서 정기적으로 새로운 기능과 향상된 기능을 도입한다. nginx 환경에 익숙해지는 것이 우선이므로 안정버전인 1.14버전을 내려받아 설치하겠다. 내려받기  nginx/Windows-1.14.0 MySQL 서버와 마찬가지로 D:\Utils 폴더에 압축을 푼다. D:\Utils\nginx-1.14.0 > 2. nginx 설정 구성하기 2.1. 정적 건텐츠 서비스 로컬 디렉터리에서 HTML 페이지와 이미지 파일들과 같은 정적 컨텐츠를 제공하기 위한 설정이다. 설정 파일(/conf/nginx.conf)의 server 블럭 안에 location 블럭을 배치하여 정적 컨텐츠를 읽어올 디렉터리를 설정한다. worker_process 1; # CPU 코어 수에 맞춰 싱글 쓰레드로 동작. 멀티코어 CPU의 경우 1이상 설정 가능. 쓰레드당 최대 1024개의 동시 연결 처리 가능. ... http { server { listen 8001; # ...

Nginx + PHP + MySQL 개발 및 배포 환경 구축 (2)

Windows 10 (64bit) 환경에 MySQL 8.0 설치하기 목차로 돌아가기 참고. MySQL 8.0 Reference Manual MySQL 배포 사이트 -  MySQL 8.0에서 달라진 점 CIOKorea 기사 -  마이SQL 8.0 베타 공개··· 유니코드·JSON 등 개선 MySQL이 오라클로 인수되고 나서 라이선스에 대한 불안감으로 MariaDB로의 마이그레이션이나 PostgreSQL로의 이전을 고려하는 등 말이 많지만 여전히 MySQL은 대중적인 웹개발 환경의 표준 DBMS의 자리를 지키고 있다. MySQL을 윈도우 환경에 설치하기 위해서는 윈도우 인스톨러 배포판(.msi)으로 배포되는 파일을 내려받아 설치하는 방법과 압축된 파일(.zip)을 내려받아 직접 설치하는 방법이 있다. MySQL 8.0을 윈도우 인스톨러 배포판으로 설치하는 방법은 인터넷에 연결된 환경에서 설치하는 방법(mysql-installer-web-community-8.0.x.x.msi)과 완전한 패키지(mysql-installer-web-community-8.0.x.x.msi)를 내려받아 설치하는 방법이 있으므로 적당한 배포판 파일을 내려받으면 된다. 여기서는 MySQL 배포 사이트의 메뉴얼을 참고하여 압축파일을 내려받아 직접 설치를 진행해보겠다. 이 글은 MySQL을 기본적으로 사용할 수 있는 사용자를 대상으로 하고 있다. mysqladmin, mysqlshow, mysql 등 프로그램의 이용법 및 SQL을 기본적으로 이해하고 있다고 가정하겠다. 참고.  Installing MySQL on Microsoft Windows Using a noinstall ZIP Archive 1. 압축 파일 내려받아 압축 풀기 https://dev.mysql.com/downloads/mysql/ 현재 최신 버전인 mysql-8.0.11-winx64.zip 파일을 내려받아 압축을 푼다. 여기서는 D:\Utils 폴더에 설치하기로 한다. 압축...

Nginx + PHP + MySQL 개발 및 배포 환경 구축 (1)

1. 목표: 가장 대중적인(?) 웹 개발 환경인 PHP와 MySQL을 이용하여 Windows 10 (64bit)에서 개발환경을 구성하고 Linux(CentOS 7)에 배포환경을 구성해 본다. 1.1. 개발환경 Windows 10 (64bit) Nginx 1.14.0 (Stable version) PHP 7.2.7 (64bit) MySQL 8.0 (64bit) 1.2. 배포환경 CentOS 7 (64bit) Nginx PHP 7.2 MySQL 8.0 1.3. 소스코드 관리툴(Configuration Management Tool) Git 1.4. 편집기 Visual Code 2. 개발환경 구축하기 (Windows 10 64bit) MySQL 8.0 설치 nginx 1.14 설치 PHP 7.2 설치 Git 설정 코드 작성 및 관리 3. 배포환경 구축하기 (CentOS 7 64bit) CentOS 7 설치 MySQL 설치 nginx 설치 PHP 7.2 설치 개발코드 배포하기