워프월드 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편)
따라 하기
- nginx를 설치해요.
pkg install -y nginx
- 기본 설정으로 한 번 켜 봐요. Termux의 nginx는 처음부터 8080 포트를 써요. Welcome to nginx! 가 나오면 정상이에요.
nginx
curl -I http://127.0.0.1:8080/
nginx -s stop
- 폴더를 만들어요. ~/www가 워드프레스가 올라갈 자리예요.
mkdir -p ~/www $PREFIX/var/log/nginx $PREFIX/var/run
- 설정 파일을 바꿔요. 아래 내용을 통째로 덮어써요. 경로는 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에 맡기는 연결이에요.
- 설정을 검사해요. test is successful이 나와야 해요.
nginx -t
- 테스트 파일을 만들고 켜요.
echo '<?php echo "PHP OK ", PHP_VERSION;' > ~/www/test.php
nginx
curl http://127.0.0.1:8080/test.php
- PC 브라우저에서도 열어 봐요. 폰 IP 뒤에 :8080/test.php를 붙여 입력해요. 같은 글자가 나오면 돼요.
- 테스트 파일을 지워요. 남겨 두면 서버 정보를 노출할 수 있어요.
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편)
- 시작하기
- 폰 준비
- 서버 설치
- 09. MariaDB 설치하고 워드프레스용 DB 만들기
- 10. PHP-FPM 설치와 php.ini 위치 찾기
- 11. nginx 설치하고 첫 페이지 띄우기
- 워드프레스
- 도메인 연결
- 운영과 관리