서버 설정 · 2 min read · Oct 19, 2025

nginx 및 FastCGI로 HTML::Mason 실행하기

nginx 및 FastCGI로 HTML::Mason 실행하기

이 문서는 HTML::Mason 모듈을 nginx 웹 서버 및 FastCGI와 함께 사용하기 위해 설치하는 단계별 가이드입니다. Debian (lenny)에서 테스트되었지만, Ubuntu 및 기타 Debian 기반 배포판에서도 매우 유사할 것입니다.

최소 실행 서버 설치하기

먼저 nginx와 FastCGI로 최소 서버를 설치합니다. 작동시키기 위한 기본 스크립트를 만들었습니다. 나중에 이 스크립트를 사용자 정의할 수 있습니다.

nginx 설치하기

이제 nginx를 설치하고 작동시킵니다. 호스트에 다른 웹 서버가 없다고 가정합니다. 모든 것이 기본값으로 설치됩니다.

apt-get install nginx

포트 80에 telnet으로 연결하여 작동하는지 확인해 봅시다.

/etc/init.d/nginx start  
telnet locahost 80  
Escape character is '^]'  
GET /  
  
  
nginx에 오신 것을 환영합니다!<title>  
...</code></pre></div><h4 class="text-lg font-bold py-2">FastCGI 설치하기</h4><div class="code-ui group"><pre class=""><code class="">apt-get install libcgi-fast-perl libio-all-perl</code></pre></div><h4 class="text-lg font-bold py-2">HTML::Mason 설치하기</h4><p class="">HTML::Mason은 apache2가 필요하다고 가정되므로, 이를 다운로드하고 설치합니다. 나중에 이를 제거할 것입니다.</p><div class="code-ui group"><pre class=""><code class="">apt-get install libhtml-mason-perl  
apt-get --purge remove apache2-mpm-worker apache2-utils  
apt-get --purge autoremove</code></pre></div><p class="">이제 HTML::Mason이 설치되고 apache 흔적이 없기를 바랍니다. 포트 80에서 여전히 응답하는지 확인하여 nginx가 작동하는지 확인하세요.</p><h4 class="text-lg font-bold py-2">FastCGI 구성하기</h4><p class="">HTML::Mason 코드를 실행할 수 있도록 FastCGI 서버가 실행 중이어야 합니다. 이 스크립트는 모든 구성 및 초기화 파일을 다운로드합니다. 루트로 실행해야 합니다. 실행하기 전에 살펴보세요. GitHub에서 일부 파일을 다운로드하고 복사합니다. 서버에 위험할 수 있습니다.</p><div class="code-ui group"><pre class=""><code class="">wget http://github.com/frankiejol/mason-fcgi/raw/master/download.sh  
bash ./download.sh</code></pre></div><p class="">/etc/nginx/sites-available/mason의 server_name 옵션을 서버의 실제 이름으로 변경하는 것이 매우 중요합니다. localhost는 작동하지 않습니다. 그런 다음 /var/www/mason/mason_fcgi.pl의 %SITES 변수를 수정합니다.</p><h4 class="text-lg font-bold py-2">Mason 코드 실행하기</h4><p class="">마지막으로 간단한 Mason 페이지를 만들어 봅시다.</p><div class="code-ui group"><pre class=""><code class="">mkdir /var/www/site1  
echo '<% 2 + 2 %>' > /var/www/site1/index.html</code></pre></div><p class="">그런 다음 서비스를 시작합시다. 브라우저로 사이트에 연결하면 4가 나타나야 합니다.</p><div class="code-ui group"><pre class=""><code class="">/etc/init.d/nginx restart  
/etc/init.d/fcgi start</code></pre></div><h3 class="text-xl font-bold py-2" id="h2-2">서버 사용자 정의하기</h3><p class="">현재 nginx+FastCGI로 구동되는 Mason 서버가 있습니다. 모든 구성 파일과 스크립트는 제 GitHub 저장소에서 찾을 수 있습니다.</p><h4 class="text-lg font-bold py-2">nginx</h4><p class="">nginx 구성은 /etc/nginx/sites-available/mason에 있습니다. 필요에 따라 위치를 수정할 수 있습니다. Mason이 디렉토리를 제대로 처리할 수 없기 때문에 두 개의 재작성 라인이 있다는 점에 유의하세요. 요청이 디렉토리처럼 보일 때 index.html 접미사가 추가됩니다.</p><h4 class="text-lg font-bold py-2">FastCGI</h4><p class="">FastCGI 시작 스크립트는 /var/www/mason/mason_fcgi.pl입니다. 여러 인수를 제공할 수 있습니다.</p><div class="code-ui group"><pre class=""><code class="">/var/www/mason/mason_fcgi.pl --help  
mason_fcgi.pl [--help] [--pid=/var/run/fcgi/fcgi.pid] [--log=/var/log/nginx/fcgi/fcgi.log] [--debug] [--socket=/var/run/fcgi/mason_fcgi.sock] [--basedir=/var/www] [--workspace=/var/www/mason/workspace] [--error-uri=/errors/503.html] [--listen-queue=100] [--default-host=debian.localdomain]</code></pre></div><p class="">Perl 모듈 및 전역 변수를 로드하는 섹션이 있습니다. 기본 코드는 다음과 같습니다:</p><div class="code-ui group"><pre class=""><code class="">{
    package HTML::Mason::Commands;
    # use My::Own::Module;
    # use Data::Dumper;
    # 구성 요소에서 사용할 수 있는 모든 것
    use vars(qw($DBH %stash));
}</code></pre></div><h4 class="text-lg font-bold py-2">여러 FastCGI 사이트 실행하기</h4><p class="">FastCGI 데몬은 /etc/init.d/fcgi에서 실행됩니다. 이 스크립트는 /etc/default/fcgi에서 구성을 로드합니다. 다른 사이트를 위한 더 많은 FastCGI 서버가 필요한 경우, init 스크립트를 다른 이름으로 복사하고 구성 파일도 동일하게 호출하면 됩니다. init 스크립트는 자신과 동일한 기본 이름을 가진 /etc/default의 파일을 로드합니다.</p><h3 class="text-xl font-bold py-2" id="h2-3">링크</h3><ul class="my-6 list-disc space-y-2 pl-6 md:pl-8 [&_li]:marker:text-slate-400"><li class="">nginx</li><li class="">HTML::Mason</li><li class="">mason-fcgi 파일</li></ul>
</div>
      </div>

      <div class="mt-10">
        <div class="flex flex-wrap items-center gap-3">
  <span class="text-sm text-slate-600 dark:text-slate-300">Share:</span>
  <a href="https://twitter.com/intent/tweet?text=nginx%20%EB%B0%8F%20FastCGI%EB%A1%9C%20HTML::Mason%20%EC%8B%A4%ED%96%89%ED%95%98%EA%B8%B0&url=https://techrealizes.com/kr/p/running-html-mason-with-nginx-and-fastcgi-93832990" target="_blank" rel="noopener" class="rounded-xl border border-slate-300 px-3 py-1.5 text-sm hover:bg-slate-50 dark:border-slate-700 dark:hover:bg-slate-800">
    X/Twitter
  </a>
  <a href="https://www.linkedin.com/sharing/share-offsite/?url=https://techrealizes.com/kr/p/running-html-mason-with-nginx-and-fastcgi-93832990" target="_blank" rel="noopener" class="rounded-xl border border-slate-300 px-3 py-1.5 text-sm hover:bg-slate-50 dark:border-slate-700 dark:hover:bg-slate-800">
    LinkedIn
  </a>
  <button type="button" onclick="navigator.clipboard.writeText('https://techrealizes.com/kr/p/running-html-mason-with-nginx-and-fastcgi-93832990')" class="rounded-xl border border-slate-300 px-3 py-1.5 text-sm hover:bg-slate-50 dark:border-slate-700 dark:hover:bg-slate-800">
Copy link
</button>
</div>
      </div>

      <div class="mt-6">
        <div class="flex flex-wrap gap-2">
          <a href="/kr/tag/seobeo-seoljeong" class="rounded-full bg-slate-100 px-3 py-1 text-xs font-medium text-slate-700 ring-1 ring-inset ring-slate-200 dark:bg-slate-800 dark:text-slate-300 dark:ring-slate-700">
            #서버 설정
          </a>
        </div>
      </div>

      <div class="mt-12">
        <section class="rounded-2xl border border-slate-200 bg-gradient-to-br from-slate-50 to-white p-6 dark:border-slate-800 dark:from-slate-900 dark:to-slate-950">
  <div class="flex flex-col items-start justify-between gap-4 sm:flex-row sm:items-center">
    <div>
      <h3 class="text-lg font-semibold">새 게시물을 받은 편지함에서 받기</h3>
      <p class="text-sm text-slate-600 dark:text-slate-300">
        스팸은 없습니다. 언제든지 구독 해지 가능합니다.
      </p>
    </div>
    <form class="flex w-full max-w-md items-center gap-2">
      <input type="email" required placeholder="you@example.com" class="w-full flex-1 rounded-xl border border-slate-300 bg-white px-3 py-2 outline-none dark:border-slate-700 dark:bg-slate-900">
      <button class="rounded-xl bg-slate-900 px-4 py-2 text-sm font-medium text-white hover:bg-slate-800 dark:bg-white dark:text-slate-900">
        구독하십시오
      </button>
    </form>
  </div>
</section>
      </div>
    </div>

    <aside class="lg:col-span-4">
      <div class="lg:sticky lg:top-20">
        <div class="mb-6 rounded-2xl border border-slate-200 bg-white p-4 dark:border-slate-800 dark:bg-slate-900">
          <div class="mb-2 text-sm font-semibold">이 페이지에서</div>
          <ul class="space-y-2 text-sm">

              <li>
                <a href="#h2-0" class="text-slate-600 hover:text-slate-900 dark:text-slate-300 dark:hover:text-white">
                   nginx 및 FastCGI로 HTML::Mason 실행하기
                </a>
              </li>

              <li>
                <a href="#h2-1" class="text-slate-600 hover:text-slate-900 dark:text-slate-300 dark:hover:text-white">
                   최소 실행 서버 설치하기
                </a>
              </li>

              <li>
                <a href="#h2-2" class="text-slate-600 hover:text-slate-900 dark:text-slate-300 dark:hover:text-white">
                   서버 사용자 정의하기
                </a>
              </li>

              <li>
                <a href="#h2-3" class="text-slate-600 hover:text-slate-900 dark:text-slate-300 dark:hover:text-white">
                   링크
                </a>
              </li>

          </ul>
        </div>
        <div>
          <h3 class="mb-3 text-sm font-semibold">관련된</h3>
          <div class="grid grid-cols-1 gap-4">

              <a href="/kr/p/linux-c-programming-tutorial-part-7-arrays-94220576" class="group overflow-hidden rounded-2xl border border-slate-200 bg-white hover:bg-slate-50 dark:border-slate-800 dark:bg-slate-900 dark:hover:bg-slate-800/40">

                <img src="/files/8756669e-5f11-4dbd-9c13-47ec7432dae3.jpg" alt="" class="h-32 w-full object-cover" loading="lazy">
                <div class="p-3">
                  <div class="mb-1 text-xs text-slate-500">
                    C 프로그래밍 · Feb 14, 2026
                  </div>
                  <div class="line-clamp-2 text-sm font-medium group-hover:underline">
                    리눅스 C 프로그래밍 튜토리얼 7부: 배열
                  </div>
                </div>
              </a>

              <a href="/kr/p/logitech-mx-mechanical-mini-review-the-type-for-writers-93237314" class="group overflow-hidden rounded-2xl border border-slate-200 bg-white hover:bg-slate-50 dark:border-slate-800 dark:bg-slate-900 dark:hover:bg-slate-800/40">

                <img src="/files/9ca1697f-cadf-4e4c-9cb7-c4e153445240.jpg" alt="로지텍 MX 기계식 미니 리뷰" class="h-32 w-full object-cover" loading="lazy">
                <div class="p-3">
                  <div class="mb-1 text-xs text-slate-500">
                    키보드 리뷰 · Feb 14, 2026
                  </div>
                  <div class="line-clamp-2 text-sm font-medium group-hover:underline">
                    로지텍 MX 기계식 미니 리뷰: 작가를 위한 타입
                  </div>
                </div>
              </a>

              <a href="/kr/p/microsoft-security-essentials-gives-false-positives-that-bitcoin-blockchain-infected-by-stoned-virus-94222075" class="group overflow-hidden rounded-2xl border border-slate-200 bg-white hover:bg-slate-50 dark:border-slate-800 dark:bg-slate-900 dark:hover:bg-slate-800/40">

                <img src="/files/0bdcdeb0-9887-4110-af71-2d1e425c5d0a.jpg" alt="" class="h-32 w-full object-cover" loading="lazy">
                <div class="p-3">
                  <div class="mb-1 text-xs text-slate-500">
                    보안 · Feb 14, 2026
                  </div>
                  <div class="line-clamp-2 text-sm font-medium group-hover:underline">
                    마이크로소프트 보안 필수 프로그램이 비트코인 블록체인이 '스톤드' 바이러스에 감염되었다고 잘못 긍정함
                  </div>
                </div>
              </a>

              <a href="/kr/p/google-unveils-slurry-of-new-security-features-in-android-5-0-lollipop-94325355" class="group overflow-hidden rounded-2xl border border-slate-200 bg-white hover:bg-slate-50 dark:border-slate-800 dark:bg-slate-900 dark:hover:bg-slate-800/40">

                <img src="/files/ab534329-e080-4d33-ade7-8dd2490beefb.jpg" alt="" class="h-32 w-full object-cover" loading="lazy">
                <div class="p-3">
                  <div class="mb-1 text-xs text-slate-500">
                    보안 기능 · Feb 14, 2026
                  </div>
                  <div class="line-clamp-2 text-sm font-medium group-hover:underline">
                    구글, 안드로이드 5.0 롤리팝의 새로운 보안 기능 발표
                  </div>
                </div>
              </a>

              <a href="/kr/p/setting-up-an-android-app-build-environment-with-eclipse-android-sdk-phonegap-debian-squeeze-94271797" class="group overflow-hidden rounded-2xl border border-slate-200 bg-white hover:bg-slate-50 dark:border-slate-800 dark:bg-slate-900 dark:hover:bg-slate-800/40">

                <img src="/files/ae3d5143-2876-4cc3-b5aa-19e15ea52407.jpg" alt="" class="h-32 w-full object-cover" loading="lazy">
                <div class="p-3">
                  <div class="mb-1 text-xs text-slate-500">
                    안드로이드 개발 · Feb 14, 2026
                  </div>
                  <div class="line-clamp-2 text-sm font-medium group-hover:underline">
                    Eclipse, Android SDK, PhoneGap를 이용한 안드로이드 앱 빌드 환경 설정 (Debian Squeeze)
                  </div>
                </div>
              </a>

              <a href="/kr/p/sony-announces-xperia-10-ii-xperia-l4-and-xperia-pro-smartphones-93418471" class="group overflow-hidden rounded-2xl border border-slate-200 bg-white hover:bg-slate-50 dark:border-slate-800 dark:bg-slate-900 dark:hover:bg-slate-800/40">

                <img src="/files/66b03667-d75e-441e-bce0-86b391409a27.jpg" alt="소니, Xperia 10 II, Xperia L4 및 Xperia Pro 스마트폰 발표 - 소니 엑스페리아 프로" class="h-32 w-full object-cover" loading="lazy">
                <div class="p-3">
                  <div class="mb-1 text-xs text-slate-500">
                    스마트폰 발표 · Feb 14, 2026
                  </div>
                  <div class="line-clamp-2 text-sm font-medium group-hover:underline">
                    소니, Xperia 10 II, Xperia L4 및 Xperia Pro 스마트폰 발표
                  </div>
                </div>
              </a>

              <a href="/kr/p/face-off-nokia-7-plus-vs-xiaomi-redmi-note-5-pro-comeback-kid-meets-the-new-king-93328755" class="group overflow-hidden rounded-2xl border border-slate-200 bg-white hover:bg-slate-50 dark:border-slate-800 dark:bg-slate-900 dark:hover:bg-slate-800/40">

                <img class="h-32 w-full object-cover" loading="lazy">
                <div class="p-3">
                  <div class="mb-1 text-xs text-slate-500">
                    스마트폰 비교 · Feb 14, 2026
                  </div>
                  <div class="line-clamp-2 text-sm font-medium group-hover:underline">
                    [페이스 오프] 노키아 7 플러스 vs 샤오미 레드미 노트 5 프로: 컴백 키드가 새로운 왕을 만나다
                  </div>
                </div>
              </a>

              <a href="/kr/p/the-perfect-setup-debian-woody-3-0-94643535" class="group overflow-hidden rounded-2xl border border-slate-200 bg-white hover:bg-slate-50 dark:border-slate-800 dark:bg-slate-900 dark:hover:bg-slate-800/40">

                <img src="/files/8a3fe69a-7ca2-4536-a19c-7bb5df2a4246.jpg" alt="" class="h-32 w-full object-cover" loading="lazy">
                <div class="p-3">
                  <div class="mb-1 text-xs text-slate-500">
                    서버 설정 · Feb 14, 2026
                  </div>
                  <div class="line-clamp-2 text-sm font-medium group-hover:underline">
                    완벽한 설정 - Debian Woody (3.0)
                  </div>
                </div>
              </a>

              <a href="/kr/p/phoenix-browser-for-pc-download-windows-11-10-7-94170189" class="group overflow-hidden rounded-2xl border border-slate-200 bg-white hover:bg-slate-50 dark:border-slate-800 dark:bg-slate-900 dark:hover:bg-slate-800/40">

                <img src="/files/5d2162fe-a352-4ec0-a017-2ef3c3ff0aed.jpg" alt="" class="h-32 w-full object-cover" loading="lazy">
                <div class="p-3">
                  <div class="mb-1 text-xs text-slate-500">
                    브라우저 다운로드 · Feb 14, 2026
                  </div>
                  <div class="line-clamp-2 text-sm font-medium group-hover:underline">
                    PC용 Phoenix 브라우저 다운로드 (Windows 11/10/7)
                  </div>
                </div>
              </a>

              <a href="/kr/p/the-perfect-setup-ubuntu-feisty-fawn-ubuntu-7-04-page-4-94643734" class="group overflow-hidden rounded-2xl border border-slate-200 bg-white hover:bg-slate-50 dark:border-slate-800 dark:bg-slate-900 dark:hover:bg-slate-800/40">

                <img class="h-32 w-full object-cover" loading="lazy">
                <div class="p-3">
                  <div class="mb-1 text-xs text-slate-500">
                    설치 가이드 · Feb 14, 2026
                  </div>
                  <div class="line-clamp-2 text-sm font-medium group-hover:underline">
                    완벽한 설정 - 우분투 피스티 파우 (우분투 7.04) - 페이지 4
                  </div>
                </div>
              </a>

              <a href="/kr/p/asus-marshmallow-keyboard-kw100-and-mouse-md100-review-great-tab-pals-to-point-click-and-type-93237311" class="group overflow-hidden rounded-2xl border border-slate-200 bg-white hover:bg-slate-50 dark:border-slate-800 dark:bg-slate-900 dark:hover:bg-slate-800/40">

                <img src="/files/932e911a-8d8d-4ca0-8b5d-1821d416313e.jpg" alt="asus marshmallow keyboard and mouse review" class="h-32 w-full object-cover" loading="lazy">
                <div class="p-3">
                  <div class="mb-1 text-xs text-slate-500">
                    리뷰 · Feb 14, 2026
                  </div>
                  <div class="line-clamp-2 text-sm font-medium group-hover:underline">
                    Asus 마시멜로 키보드 KW100 및 마우스 MD100 리뷰: 포인팅, 클릭 및 타이핑을 위한 훌륭한 태블릿 친구
                  </div>
                </div>
              </a>

              <a href="/kr/p/switch-emulator-skyline-shuts-down-over-nintendos-latest-dmca-order-94427592" class="group overflow-hidden rounded-2xl border border-slate-200 bg-white hover:bg-slate-50 dark:border-slate-800 dark:bg-slate-900 dark:hover:bg-slate-800/40">

                <img src="/files/50e5eaa3-f5d2-40b6-98b8-e30b3d560df2.jpeg" alt="" class="h-32 w-full object-cover" loading="lazy">
                <div class="p-3">
                  <div class="mb-1 text-xs text-slate-500">
                    에뮬레이터 뉴스 · Feb 14, 2026
                  </div>
                  <div class="line-clamp-2 text-sm font-medium group-hover:underline">
                    스위치 에뮬레이터 스카이라인, 닌텐도의 최신 DMCA 명령으로 종료
                  </div>
                </div>
              </a>

              <a href="/kr/p/assp-with-embedded-clamav-integrated-into-postfix-with-virtual-users-and-domains-94168386" class="group overflow-hidden rounded-2xl border border-slate-200 bg-white hover:bg-slate-50 dark:border-slate-800 dark:bg-slate-900 dark:hover:bg-slate-800/40">

                <img class="h-32 w-full object-cover" loading="lazy">
                <div class="p-3">
                  <div class="mb-1 text-xs text-slate-500">
                    메일 서버 · Feb 14, 2026
                  </div>
                  <div class="line-clamp-2 text-sm font-medium group-hover:underline">
                    ASSP와 임베디드 ClamAV를 Postfix에 통합하여 가상 사용자 및 도메인 사용하기
                  </div>
                </div>
              </a>

              <a href="/kr/p/hits-and-misses-at-mwc-2017-what-rocked-what-sank-93327858" class="group overflow-hidden rounded-2xl border border-slate-200 bg-white hover:bg-slate-50 dark:border-slate-800 dark:bg-slate-900 dark:hover:bg-slate-800/40">

                <img src="/files/878d8198-363c-4daf-a9f8-f2403469dd25.jpg" alt="MWC 2017의 히트와 실패: 무엇이 성공했고, 무엇이 실패했는가! - MWC 바르셀로나" class="h-32 w-full object-cover" loading="lazy">
                <div class="p-3">
                  <div class="mb-1 text-xs text-slate-500">
                    MWC 2017 · Feb 14, 2026
                  </div>
                  <div class="line-clamp-2 text-sm font-medium group-hover:underline">
                    MWC 2017의 히트와 실패: 무엇이 성공했고, 무엇이 실패했는가!
                  </div>
                </div>
              </a>

              <a href="/kr/p/virtualization-with-xenserver-5-5-0-94323139" class="group overflow-hidden rounded-2xl border border-slate-200 bg-white hover:bg-slate-50 dark:border-slate-800 dark:bg-slate-900 dark:hover:bg-slate-800/40">

                <img src="/files/81326419-3e3c-46e7-8904-666592b05bdd.png" alt="" class="h-32 w-full object-cover" loading="lazy">
                <div class="p-3">
                  <div class="mb-1 text-xs text-slate-500">
                    가상화 · Feb 14, 2026
                  </div>
                  <div class="line-clamp-2 text-sm font-medium group-hover:underline">
                    XenServer 5.5.0을 이용한 가상화
                  </div>
                </div>
              </a>

              <a href="/kr/p/russian-hackers-are-trying-to-steal-covid-19-vaccine-research-us-uk-canada-officials-94020201" class="group overflow-hidden rounded-2xl border border-slate-200 bg-white hover:bg-slate-50 dark:border-slate-800 dark:bg-slate-900 dark:hover:bg-slate-800/40">

                <img src="/files/d358fd41-8b0c-46ac-abaa-c3564f5f4372.jpg" alt="" class="h-32 w-full object-cover" loading="lazy">
                <div class="p-3">
                  <div class="mb-1 text-xs text-slate-500">
                    사이버 보안 · Feb 14, 2026
                  </div>
                  <div class="line-clamp-2 text-sm font-medium group-hover:underline">
                    러시아 해커들이 COVID-19 백신 연구를 훔치려 하고 있습니다: 미국, 영국, 캐나다 관계자
                  </div>
                </div>
              </a>

              <a href="/kr/p/the-perfect-server-debian-lenny-debian-5-0-with-bind-dovecot-ispconfig-3-94533937" class="group overflow-hidden rounded-2xl border border-slate-200 bg-white hover:bg-slate-50 dark:border-slate-800 dark:bg-slate-900 dark:hover:bg-slate-800/40">

                <img src="/files/bdbc7eec-2d79-45c8-af52-81fe7fd35cc9.png" alt="" class="h-32 w-full object-cover" loading="lazy">
                <div class="p-3">
                  <div class="mb-1 text-xs text-slate-500">
                    서버 설정 · Feb 14, 2026
                  </div>
                  <div class="line-clamp-2 text-sm font-medium group-hover:underline">
                    완벽한 서버 - Debian Lenny (Debian 5.0) BIND 및 Dovecot와 함께 [ISPConfig 3]
                  </div>
                </div>
              </a>

              <a href="/kr/p/maintaining-remote-web-sites-with-sitecopy-on-ubuntu-16-04-94534889" class="group overflow-hidden rounded-2xl border border-slate-200 bg-white hover:bg-slate-50 dark:border-slate-800 dark:bg-slate-900 dark:hover:bg-slate-800/40">

                <img class="h-32 w-full object-cover" loading="lazy">
                <div class="p-3">
                  <div class="mb-1 text-xs text-slate-500">
                    Web 관리 · Feb 14, 2026
                  </div>
                  <div class="line-clamp-2 text-sm font-medium group-hover:underline">
                    우분투 16.04에서 sitecopy로 원격 웹 사이트 유지 관리하기
                  </div>
                </div>
              </a>

              <a href="/kr/p/random-bluetooth-disconnection-in-windows-10-11-fixed-93236764" class="group overflow-hidden rounded-2xl border border-slate-200 bg-white hover:bg-slate-50 dark:border-slate-800 dark:bg-slate-900 dark:hover:bg-slate-800/40">

                <img src="/files/96d46d9d-51eb-4aa5-a170-b9926f8bcbd3.jpg" alt="윈도우 10 11에서 랜덤 블루투스 연결 끊김" class="h-32 w-full object-cover" loading="lazy">
                <div class="p-3">
                  <div class="mb-1 text-xs text-slate-500">
                    블루투스 문제 · Feb 14, 2026
                  </div>
                  <div class="line-clamp-2 text-sm font-medium group-hover:underline">
                    윈도우 10/11에서 랜덤 블루투스 연결 끊김 [수정됨]
                  </div>
                </div>
              </a>

              <a href="/kr/p/installing-apache2-with-php5-and-mysql-support-on-ubuntu-11-10-lamp-94068951" class="group overflow-hidden rounded-2xl border border-slate-200 bg-white hover:bg-slate-50 dark:border-slate-800 dark:bg-slate-900 dark:hover:bg-slate-800/40">

                <img src="/files/27e20a4f-88d6-4c41-a204-42a016efee9a.jpg" alt="" class="h-32 w-full object-cover" loading="lazy">
                <div class="p-3">
                  <div class="mb-1 text-xs text-slate-500">
                    서버 설치 · Feb 14, 2026
                  </div>
                  <div class="line-clamp-2 text-sm font-medium group-hover:underline">
                    우분투 11.10에 PHP5 및 MySQL 지원으로 Apache2 설치하기 (LAMP)
                  </div>
                </div>
              </a>

          </div>
        </div>
      </div>
    </aside>
  </article>
</section>
    </main>

    <footer class="border-t border-slate-200 bg-slate-50 py-10 text-sm dark:border-slate-800 dark:bg-slate-900">
      <div class="mx-auto grid max-w-7xl grid-cols-1 gap-6 px-4 sm:px-6 md:grid-cols-3 lg:px-8">
        <div>
          <img src="/logo.svg" alt="불필요한 말 없는 기술" width="280" height="40">
          <p class="my-2 text-slate-600 dark:text-slate-400">
            nginx 및 FastCGI로 HTML::Mason 실행하기
          </p>
        </div>
        <div class="grid grid-cols-1 gap-6">
          <div>
            <div class="mb-2 font-semibold">회사</div>
            <ul class="space-y-2 text-slate-600 dark:text-slate-400">
              <li>
                <a href="#" class="hover:text-slate-900 dark:hover:text-white">
                  정보
                </a>
              </li>
              <li>
                <a href="#" class="hover:text-slate-900 dark:hover:text-white">
                  연락처
                </a>
              </li>
              <li>
                <a href="#" class="hover:text-slate-900 dark:hover:text-white">
                  개인정보 보호
                </a>
              </li>
            </ul>
          </div>
        </div>
        <div class="md:text-right">
          <div class="font-semibold">업데이트 받기</div>
          <form class="mt-2 flex w-full items-center gap-2 md:justify-end">
            <input type="email" placeholder="you@example.com" class="w-full max-w-xs rounded-xl border border-slate-300 bg-white px-3 py-2 outline-none dark:border-slate-700 dark:bg-slate-900">
            <button class="rounded-xl bg-slate-900 px-3 py-2 text-white shadow-sm hover:bg-slate-800 dark:bg-white dark:text-slate-900">
              구독하십시오
            </button>
          </form>
          <p class="mt-3 text-slate-500">© 2026. All rights reserved.</p>
        </div>
      </div>
    </footer>
  </body>
</html>