수달의 IT 세상

[Ubuntu, Nginx] PHP 연동하기 포스트 Teaser

[Ubuntu, Nginx] PHP 연동하기

카테고리:

4 분 소요

PHP-FPM Nginx와 PHP를 연동하기 위해서는 PHP-FPM를 사용한다. PHP-FPM은 PHP FastCGI Process Manager의 약자로, PHP의 FastCGI 지원을 제공하는 프로세스 관리자이다. 일반적으로 PHP 웹 애플리케이션을 실행하는 데 사용되며, PHP를 FastCGI 프로토콜을 지원하는 웹 서버와 함께 사용할 수 있도록 설계되어 상호간 효율적인 통신을 돕는다. PHP-FPM 설치 Nginx는 PHP를 직접 지원하지 않으므로, PHP를 먼저 설치해야한다. 이때 설치되는 php의 버전을 잘 확인해야한다. apt-get install php-fpm 설치후에 설정도 자동으로 되면 좋겠지만, 아래의 경로로 이동해서 수정해야한다. 경로 : etc/nginx/sites-a

[Ubuntu, Nginx] HTTP/2 적용하기 포스트 Teaser

[Ubuntu, Nginx] HTTP/2 적용하기

카테고리:

3 분 소요

HTTP/2 HTTP/2는 HTTP/1.1과는 달리, TCP 연결 하나로 여러 파일들(.js, .css, .jpg, .png 등)을 병렬 전송하여 서버단에서는 소켓의 낭비를 줄이고 클라이언트 단에서는 SPDY의 최대 병렬 다운로드 개수인 6개를 넘어서 더 빠르게 로딩이 가능해진다. Nginx에서는 1.9.5 버전부터 HTTP/2를 지원하게 되었다. https://www.nginx.com/blog/nginx-1-9-5/ 1. Nginx 업데이트(< 1.9.5인 경우) Nginx는 아래의 명령어를 사용하여 다운로드 받거나 업데이트할 수 있다. # 새로 다운로드 받는 경우 apt-get install nginx # nginx 버전이 낮아 nginx만 업데이트 하려는 경우( < 1.9.5)

[PHP, Nginx] 사용자 정의 헤더 넘겨 받기 포스트 Teaser

[PHP, Nginx] 사용자 정의 헤더 넘겨 받기

카테고리:

1 분 소요

문제 상황 Apache였다면, apache_request_headers() 함수를 사용하여 헤더들을 넘겨 받아서 사용하겠지만 Nginx에서는 해당 함수를 사용할 수 없기 때문에 사용 방법이 조금 다르다. 해결 방안 결론 부터 말하자면, $_SERVER를 이용해서 넘겨 받을 수 있다. 아래와 같이 사용자 정의 헤더(CURL-REAL-IP)를 전송하려고 한다. ※ 헤더는 -만 사용해야하고 불가피하게 _을 사용하려고 하면 underscores_in_headers on; 옵션을 추가해줘야한다. Nginx를 통과하여 php에 도착하면 $_SERVER에 HTTP_라는 접두사가 붙은채로 아래와 같이 도착해있다. 소스 코드 서버단 php에서 사용할 때는 다음과 같이 사용한다. <?php $cl

[PHP] cURL 사용해서 post 데이터 넘겨주기 포스트 Teaser

[PHP] cURL 사용해서 post 데이터 넘겨주기

카테고리:

1 분 소요

소스 코드 $clientID = "Client ID"; $clientSecret = "Client SecretKey"; $url = "https://www.example.com"; $body = array("foo" => "test", "bar" => "test"); # type1 $body = "foo=test&bar=test"; # type2 $ch = curl_init(); //curl 초기화 curl_setopt_array($ch, array( CURLOPT_URL => $url, //URL 지정하기 CURLOPT_PO

메이플스토리 사냥 중 입력 언어 전환 끄기 포스트 Teaser

메이플스토리 사냥 중 입력 언어 전환 끄기

카테고리:

1 분 소요

문제 상황 메이플스토리에서 사냥을 하다보면 입력기가 변경되며 해당 창이 사냥을 방해하는 경우가 종종있다. 이후 가끔 입력기에 따라 한글이 입력되지 않고 영어만 입력되기도 한다. 사실 이는 윈도우의 입력 언어 간 바로가기 키가 왼쪽 Alt+Shift로 지정되어 있기 때문이다. 해결 방안 그래서, 이를 해결하는 방법도 간단하다. 설정 > 검색 > 입력 설정 > 고급 키보드 설정 > 입력 언어 바로 가기 키 > 입력 언어 간 선택 > 키 시퀀스 변경 > 할당되지 않음 선택 > 확인 > 적용

[SSH] SSH 터널링으로 내부망에 접속하기 포스트 Teaser

[SSH] SSH 터널링으로 내부망에 접속하기

카테고리:

1 분 소요

SSH Tunneling SSH 터널링은 다음과 같은 상황에서 사용한다. 방화벽 밖의 PC를 A, 방화벽 내의 PC를 B, C라고 가정한다. A가 B에 SSH로 접속 가능하다. B는 C에 접속 가능하다. A는 C에 접속 불가능하다. 이럴 때 A가 C의 서비스에 접속하는 방법은 B를 통해(SSH 터널링) 접속하는 방법이다. 사용 방법 SSH 터널링은 L옵션을 사용하는데, 아래와 같은 방법으로 사용한다. ssh -L 내(A)가_사용할_포트:C의_아이피_주소:C의_서비스_포트 B의_아이피_주소 -p B의_SSH_포트 -l B의_SSH_id A의 아이피 주소는 192.168.0.2이고 사용할 포트는 9999라고 가정한다. B의 아이피 주소는 10.0.0.3이고 ssh가

[Ubuntu] du로 하위 디렉토리의 용량 정렬해서 보기 포스트 Teaser

[Ubuntu] du로 하위 디렉토리의 용량 정렬해서 보기

카테고리:

1 분 소요

du 명령어 우분투 데스크톱을 사용하는 경우에는 GUI로 확인하면 되지만 서버 버전을 사용하는 경우에는 확인하는 방법으로 du 명령어를 사용한다. du 명령어는 디스크 사용량을 디렉토리별로 보고해주므로 특정 폴더 또는 파일이 얼마나 많은 디스크 공간을 차지하고 있는지 확인할 수 있다. 주로 디스크 공간을 점유하는 대상을 찾고, 불필요한 파일이나 폴더를 정리할 때 유용하게 사용한다. 명령어 옵션 du -sh * -s는 총 사용량을 보는 옵션이다. -h는 사람이 보기 편한 단위로 보여주는 옵션이다. *는 한단계 하위 디렉토리를 선택하는 옵션이다. 즉, du -sh *는 한단계 하위 디렉토리를 기준으로 총 사용량을 사람이 보기 편한 단위로 보여주는 명령어이다. 그런데 위의 명령어를 사용

[Pandas] matplotlib 한글 폰트 설치하기 포스트 Teaser

[Pandas] matplotlib 한글 폰트 설치하기

카테고리:

최대 1 분 소요

이전 포스팅 내용 https://syudal.kr/post/Jupyter-pandas-matplotlib-한글-폰트-설치하기/ 문제 해결 이전에 위와 같이 포스팅 했던 것을 보면 pandas에 matplotlib 한글 폰트 설치하는 방법은 다음과 같다. sudo apt-get install fonts-nanum* 하지만 Jupyter와는 달리 Python Console에 아래와 같이 입력해도 폰트 캐시가 삭제되지 않고 해당 메소드가 없다고 출력된다. import matplotlib matplotlib.font_manager._rebuild() 폰트 캐시를 수동으로 삭제하면 되는데 ~/.cache/ 경로에 존재한다. sudo rm -rf ~/.cache/ 이후 Django나 Flask,