nginx
-
[Ubuntu, Nginx] PHPMyAdmin 설치하기백엔드/Linux(Ubuntu) 2023. 12. 5. 10:16
PHPMyAdminphp로 작성된 PHPMyAdmin은 MySQL 데이터베이스를 관리하기 위한 웹 기반의 오픈 소스 관리도구이다. 웹 브라우저를 통해 MySQL 데이터베이스에 접속하여 데이터베이스를 관리, 조작하는 등 데이터베이스 안의 테이블을 만들고 수정하고, 데이터를 삽입, 수정, 삭제할 수 있다. ※ 본 게시글은 Ubuntu 22.04 LTS 버전을 기준으로 작성되었습니다.1. php 설치 및 연동하기https://syudal.tistory.com/entry/Ubuntu-Nginx-PHP-연동하기 [Ubuntu, Nginx] PHP 연동하기Nginx와 PHP를 연동하기 위해서는 FastCGI를 사용한다. Nginx는 PHP를 직접 지원하지 않으므로, PHP를 먼저 설치해야한다...
-
[Ubuntu, Nginx] PHP 연동하기백엔드/Linux(Ubuntu) 2023. 3. 4. 21:58
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-availabl..
-
[PHP, Nginx] 사용자 정의 헤더 넘겨 받기프로그래밍/Web(CSS + HTML + JS + PHP ) 2023. 2. 23. 13:57
문제 상황 Apache였다면, apache_request_headers() 함수를 사용하여 헤더들을 넘겨 받아서 사용하겠지만 Nginx에서는 해당 함수를 사용할 수 없기 때문에 사용 방법이 조금 다르다. 문제 해결 결론 부터 말하자면, $_SERVER를 이용해서 넘겨 받을 수 있다. 아래와 같이 사용자 정의 헤더(CURL-REAL-IP)를 전송하려고 한다. ※ 헤더는 -만 사용해야하고 불가피하게 _을 사용하려고 하면 underscores_in_headers on; 옵션을 추가해줘야한다. Nginx를 통과하여 php에 도착하면 $_SERVER에 HTTP_라는 접두사가 붙은채로 아래와 같이 도착해있다. 소스 코드 서버단 php에서 사용할 때는 다음과 같이 사용한다.
-
[Ubuntu, Nginx] HTTP/2 적용하기백엔드/Linux(Ubuntu) 2023. 2. 23. 12:32
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/ HTTP/2 Supported in Open Source NGINX 1.9.5 | NGINX Learn about HTTP/2 support introduced in version 1.9.5 of NGINX Open Source. www.nginx.com 1. Nginx 업데이트(< 1.9..
-
[Ubuntu, Nginx] 리버스 프록시 적용하기백엔드/Linux(Ubuntu) 2022. 3. 21. 17:00
리버스 프록시리버스 프록시(Reverse Proxy)는 일반적인 프록시와는 반대로 동작하는 네트워크 서버이다. 기본적으로 클라이언트와 웹 서버 사이에 위치하여 클라이언트의 요청을 대신 받아 웹 서버로 전달하고, 서버로부터 받은 응답을 클라이언트에게 전달하는 역할을 한다. 이는 웹 서버를 보호하고 향상된 보안, 성능 및 로드 밸런싱을 제공한다. 또한, streamlit이나 flask, django, node.js과 같은 웹 서버에서 SSL 처리를 분리함으로써 성능을 향상시키고 보안을 강화하는 역할도 수행한다.경로 : etc/nginx/sites-enabledsudo vim defaultserver { client_max_body_size 100M; #100mb 이상 업로드 기능..
-
[Ubuntu, Nginx] Let's Encrypt로 https 적용하기백엔드/Linux(Ubuntu) 2022. 3. 10. 13:40
Https는 필수인가?개인적인 용도로 사용하는 서버라면 상관 없지만, 회원가입과 같은 개인정보가 사이트에 들어가는 경우2012년 8월 18일부터 법이 변경되어 정보통신망 이용촉진 및 정보보호 등에 관한 법률에서 제28조와 제76조가 보안과 과태료에 관련된 내용이며 제15조 제4항 제3호정보통신망을 통하여 이용자의 개인정보 및 인증정보를 송신·수신하는 경우 보안서버 구축 등의 조치 라고 언급되며 https 연결을 의무화하고 있다.Ubuntu에서 Nginx를 사용할 때 Let's Encrypt로 무료로 https 적용하기타사의 인증서의 경우, 1년간 3만원이며, *.example.com 형태의 와일드카드 인증서의 경우 15만원을 호가한다.하지만, Let's Encrypt를 이용하면 서..
-
[mac] Nginx 설치 및 Let's Encrypt로 SSL 설정하기백엔드/macOS 2021. 6. 10. 17:10
NginxNginx는 웹 서버 소프트웨어로, 가벼움과 높은 성능을 목표로 한다. 웹 서버, 리버스 프록시 및 메일 프록시 기능을 가진다. 1. 설치brew install nginx 2. Nginx.conf 설정vi /usr/local/etc/nginx/nginx.confuser www www; ## Default: nobodyworker_processes 5; ## Default: 1error_log logs/error.log;pid logs/nginx.pid;worker_rlimit_nofile 8192;events { worker_connections 4096; ## Default: 1024}http { include co..