LIVE집에서 놀고 있던 공폰에서 지금 이 사이트가 돌아가고 있어요

[워프월드 11] nginx 설치하고 첫 페이지 띄우기

워프월드 11 · 서버 설치nginx 설정을 바꿔 8080 포트에서 PHP 페이지를 띄워요.
⏱ 예상 15분🧭 난이도 보통📍 SSH
💡 핵심 한 줄 요약

nginx를 설치하고 8080 포트에서 PHP를 php-fpm 소켓으로 넘기도록 설정해요. 테스트 파일이 PHP OK를 보여 주면 서버 설치는 끝이에요.

결과부터 보세요

$ curl http://127.0.0.1:8080/test.php
PHP OK 8.5.1

PHP 버전이 한 줄로 나오면 nginx, php-fpm, PHP가 모두 연결된 거예요.

준비물

  • php-fpm이 소켓으로 켜져 있는 상태 (10편)

따라 하기

  1. nginx를 설치해요.
pkg install -y nginx
  1. 기본 설정으로 한 번 켜 봐요. Termux의 nginx는 처음부터 8080 포트를 써요. Welcome to nginx! 가 나오면 정상이에요.
nginx
curl -I http://127.0.0.1:8080/
nginx -s stop
  1. 폴더를 만들어요. ~/www가 워드프레스가 올라갈 자리예요.
mkdir -p ~/www $PREFIX/var/log/nginx $PREFIX/var/run
  1. 설정 파일을 바꿔요. 아래 내용을 통째로 덮어써요. 경로는 Termux 기본값 그대로예요.
cat > $PREFIX/etc/nginx/nginx.conf <<'EOF'
worker_processes 1;
error_log /data/data/com.termux/files/usr/var/log/nginx/error.log;
pid /data/data/com.termux/files/usr/var/run/nginx.pid;
events { worker_connections 256; }
http {
  include mime.types;
  default_type application/octet-stream;
  access_log /data/data/com.termux/files/usr/var/log/nginx/access.log;
  sendfile on;
  client_max_body_size 64M;
  server {
    listen 8080;
    server_name _;
    root /data/data/com.termux/files/home/www;
    index index.php index.html;
    location / { try_files $uri $uri/ /index.php?$args; }
    location ~ \.php$ {
      include fastcgi_params;
      fastcgi_pass unix:/data/data/com.termux/files/usr/var/run/php-fpm.sock;
      fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
    }
    location ~ /\.ht { deny all; }
  }
}
EOF

핵심은 세 줄이에요. root는 워드프레스를 둘 폴더, try_files는 글 주소를 워드프레스로 넘기는 규칙, fastcgi_pass는 PHP 실행을 php-fpm에 맡기는 연결이에요.

  1. 설정을 검사해요. test is successful이 나와야 해요.
nginx -t
  1. 테스트 파일을 만들고 켜요.
echo '<?php echo "PHP OK ", PHP_VERSION;' > ~/www/test.php
nginx
curl http://127.0.0.1:8080/test.php
  1. PC 브라우저에서도 열어 봐요. 폰 IP 뒤에 :8080/test.php를 붙여 입력해요. 같은 글자가 나오면 돼요.
  1. 테스트 파일을 지워요. 남겨 두면 서버 정보를 노출할 수 있어요.
rm ~/www/test.php

막히는 곳

  • 502 Bad Gateway가 나와요. nginx는 켜졌는데 php-fpm이 꺼져 있어요. pgrep -a php-fpm으로 확인하고 php-fpm을 켜세요.
  • bind() to 0.0.0.0:8080 failed (98: Address already in use)가 나와요. nginx가 이미 켜져 있는 거예요. nginx -s stop 후 다시 켜거나, 설정만 바꿨다면 nginx -s reload를 쓰세요.
  • invalid PID number가 나와요. nginx가 꺼진 상태에서 reload를 해서 그래요. 그냥 nginx를 실행하세요.
  • 파일이 그대로 다운로드돼요. PHP가 아니라 파일로 처리되는 거예요. location ~ \.php$ 블록이 빠졌는지 확인하세요.
공폰이

여기까지 오면 서버는 다 만든 거예요! 이제 워드프레스만 올리면 돼요.

받는 결과: 8080 포트에서 PHP 페이지가 열려요. 다음 파트에서 워드프레스를 올려요.

다음 글 · 12/21워드프레스 파일 올리고 wp-config 만들기워드프레스 파일을 올리고 DB 접속 정보를 적어요.

← 이전 글: PHP-FPM 설치와 php.ini 위치 찾기

공폰이의 워프월드 전체 목차 (21편)

공유하기

댓글 달기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다

위로 스크롤