RadarURL
Skip to content
웹서버,WAS
2020.09.04 15:35

Apache2 서버를 Nginx로 교체하기

조회 수 1107 추천 수 0 댓글 0
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄

우분투 18.04에서 워드프레스 엔진을 교체하는 것을 기준으로 설명합니다.
PHP를 사용하지 않으신다면 모듈 설치는 건너뛰시면 됩니다.

아래 과정을 따라 하시면 설치하는 중에 2~3초가량을 제외하곤 아무런 문제 없이 웹사이트에 접속할 수 있습니다.

참고로 워드프레스 등의 PHP를 사용하는 웹사이트를 운영하신다면, Nginx로 교체해도 성능이 체감될 만큼 향상되진 않습니다만, 개인적으로 관리가 Apache2보다 훨씬 편한 것 같습니다. 약간의 성능 차이도 있긴 하고요.

Ngnix 및 PHP 모듈 설치

sudo apt update
sudo apt install nginx

아마 설치를 진행하시면 Apache2가 80번 포트를 쓰고 있어 Nginx는 시작하지 못하고 오류를 뿜을 겁니다.
괘념치 마시고 다음 단계로 진행하시면 됩니다.

sudo apt install php7.4-fpm #본인 PHP 버전에 맞게 설치

nginx는 php-fpm이 있어야 php를 구동할 수 있습니다. 반드시 설치해주세요.

PHP 설정 수정

sudo vim /etc/php/버전/fpm/php.ini

본인이 사용 중인 php 버전을 "버전"에 입력하시면 됩니다.
잘 모르시겠다면 cd /etc/php 를 입력하신 후 ls 를 입력하시면 폴더 목록이 출력됩니다. 해당 폴더로 가시면 됩니다.

max_execution_time = 180
memory_limit = 15000M
post_max_size = 20M
upload_max_filesize = 20M

사용하시던 설정대로 php.ini를 수정하시면 됩니다.
전 보통 상술한 값을 수정합니다.

dhparam.pem 생성 (선택)

openssl dhparam -out /etc/ssl/certs/dhparam.pem 2048 # 퍼미션 오류 나면 sudo로 실행

ssl을 사용 중이시라면 Nginx용 파일을 하나 생성해주셔야 합니다.
ssl을 사용할 의향이 있으시면 우분투에 워드프레스 설치하기 글에 발급 방법을 설명해뒀습니다. 참고해주세요.

conf 파일 생성 및 설정

sudo vim /etc/nginx/sites-available/config

* 제일 마지막에 config은 변경하셔도 됩니다. 전 주로 도메인 네임을 파일 이름으로 설정합니다.

아파치의 000-default.conf 등의 파일과 같이 사이트가 어떻게 작동할지 설정하는 파일입니다.

server {
        listen 80;
        server_name 도메인.주소 www.도메인.주소;
        return 301 https://$server_name$request_uri;
}

 

server {
        listen 443 ssl http2;
        server_name 도메인.주소 www.도메인.주소;
        root /var/www/html;
        index index.php;

 

        ssl_certificate "/etc/letsencrypt/live/도메인.주소/fullchain.pem";
        ssl_certificate_key "/etc/letsencrypt/live/도메인.주소/privkey.pem";
        ssl_dhparam "/etc/ssl/certs/dhparam.pem";

 

        client_max_body_size 20M;

 

        location / {
                try_files $uri $uri/ /index.php?$args;
        }

 

        location ^~ /.well-known/acme-challenge/ {
                allow all;
        }

 

        location ~ /\. {
                deny all;
        }

 

        location ~\.(log|binary|pem|enc|crt|conf|cnf|sql|sh|key)$ {
                deny all;
        }

 

        location = /favicon.ico {
                log_not_found off;
                access_log off;
        }

 

        location = /robots.txt {
                log_not_found off;
                access_log off;
        }

 

        location ~ \.php$ {
                include snippets/fastcgi-php.conf;
                fastcgi_pass unix:/run/php/php7.4-fpm.sock;
        }

 

        location ~\.(png|jpg|jpeg|webm|gif|ico|svg|mp4|webp|ttf|eot|woff|woff2)$ {
                expires 1y;
                add_header Cache-Control "public, no-transform";
        }

 

        location ~\.(js|css)$ {
                expires 6m;
                add_header Cache-Control "public, no-transform";
        }
}

 

간단한 설정을 해둔 설정 파일입니다.
ssl을 사용하지 않으시면 listen 80; 아래에 ssl과 관련된 내용을 제외하고 붙여 넣으신 뒤 사용하시면 됩니다.

Nginx의 워드프레스 설정 방법 등을 참고하시면 더 세세한 설정을 하실 수 있습니다.

설정 파일 작성을 완료하신 뒤, sudo nginx -t 란 명령어를 이용하시면 문제없이 작성했는지 확인하실 수 있습니다.

포트 수정 및 Nginx 가동

이제 Apache2에서 80번 포트와 443번 포트를 탈취해 Nginx에게 줄 차례입니다.

sudo vim /etc/apache2/ports.conf

위 파일을 여신 뒤 아래 내용을 수정해주세요.

Listen 8080

 

<IfModule ssl_module>
    Listen 4433
</IfModule>

 

<IfModule mod_gnutls.c>
    Listen 4433
</IfModule

 

단순히 80번 포트를 8080으로, 443번 포트를 4433으로 수정했습니다.

sudo vim /etc/apache2/sites-available/000-default.conf

이제 기존에 쓰던 아파치의 설정 파일에서도 포트를 수정하시면 됩니다.

<VirtualHost *:8080>
...
<VirtualHost *:4433>
...

똑같이 80번 포트를 8080번으로, 443번 포트를 4433번으로 수정했습니다.

이젠 Apache2를 종료하고 Nginx를 가동할 수 있습니다!

sudo systemctl reload apache2
sudo systemctl stop apache2
sudo systemctl start nginx

여기까지 왔는데 아무런 오류가 뜨지 않는다면 성공적으로 Nginx가 실행되기 시작했을 겁니다.
웹사이트로 한 번 가보셨는데 성공적으로 로딩이 된다면 이제 Apache2를 제거할 일만 남았습니다.

Apache2 제거

정들었던 아파치를 보내줄 차례입니다.

dpkg --get-selections | grep apache

위 명령어를 입력하면 apache와 관련된 패키지 목록이 나옵니다.

sudo apt remove something somethingElse ...

remove 뒤에 목록에 나온 패키지를 하나씩 입력하시면 패키지가 제거됩니다.

 

출처 : https://marshall-ku.com/web/tips/apache2-%EC%84%9C%EB%B2%84%EB%A5%BC-nginx%EB%A1%9C-%EA%B5%90%EC%B2%B4%ED%95%98%EA%B8%B0

?

공부 게시판

공부에 도움되는 글을 올려주세요.

List of Articles
번호 분류 제목 글쓴이 날짜 조회 수
공지 [공지] 공부 게시판 입니다. 처누 2003.08.17 829480
2567 업무 ISO9001,14001인증 전환심사,사후심사,갱신심사 심사비 file JaeSoo 2020.11.19 90
2566 업무 ISO취득비용, 심사비용, 사후심사비용 file JaeSoo 2020.11.19 79
2565 업무 정보관리기술사와 컴퓨터시스템응용기술사의 차이 JaeSoo 2020.11.18 87
2564 업무 정보통신(IT) 관련 기술사 (정보관리기술사, 컴퓨터시스템응용기술사, 정보통신기술사, 전자응용기술사) JaeSoo 2020.11.18 76
2563 업무 우수조달물품 지정제도 2 JaeSoo 2020.11.18 80
2562 생활 오토바이(이륜차) 명의 변경 방법 JaeSoo 2020.11.06 270
2561 웹서버,WAS Centos 8에 Apache, php, MariaDB 설치하기 file JaeSoo 2020.09.13 609
2560 웹서버,WAS 아파치 2.4.34 버전에서 mod_rewrite 활성화 하기 JaeSoo 2020.09.13 438
2559 유닉스/리눅스 CentOS 8 에 MariaDB 및 phpMyAdmin 설치하기 file JaeSoo 2020.09.13 433
2558 유닉스/리눅스 CentOS 8 / Apache, PHP, MariaDB 설치하는 방법 file JaeSoo 2020.09.13 337
2557 유닉스/리눅스 CentOS 8 Firewall 설정하기 file JaeSoo 2020.09.13 314
2556 유닉스/리눅스 [CentOS] LVM /home 용량을 줄이고 / 용량을 늘리기 file JaeSoo 2020.09.13 178
2555 유닉스/리눅스 [Linux] CentOS DVD, Everything, Minimal, Netinstall 차이 JaeSoo 2020.09.08 408
» 웹서버,WAS Apache2 서버를 Nginx로 교체하기 JaeSoo 2020.09.04 1107
2553 웹서버,WAS CentOS7 에 XE3 ( XpressEngine ) 설치하기 ( NginX, PHP, MariaDB ) file JaeSoo 2020.09.04 1105
2552 논문 논문의 종류 JaeSoo 2020.09.01 954
2551 윈도우즈 윈도우 10 인터넷 연결 지연시 해결 방법 JaeSoo 2020.08.29 330
2550 취미 마이크로소프트 스토어(Microsoft Store), XBOX 구매취소, 환불 요청하는법 JaeSoo 2020.08.23 62
2549 윈도우즈 윈도우10 파일탐색기 기록 저장 안되게 설정 변경 하는 방법 file JaeSoo 2020.08.16 137
2548 경제 한국주택금융공사 아낌e보금자리론 금리 추이 ('19년 1월 ~ '20년 7월) (표 및 그래프) file JaeSoo 2020.07.06 707
Board Pagination Prev 1 2 3 4 5 6 7 8 9 10 ... 129 Next
/ 129

 

■ 즐겨찾기 - 가족
JAESOO's HOMEPAGE YOUNGAE's HOMEPAGE 장여은 홈페이지 장여희 홈페이지 장여원 홈페이지

■ 즐겨찾기 - 업무
알리카페 홀릭 숭실대 컴퓨터 통신연구실 (서창진) 말레이시아 KL Sentral 한국인 GuestHouse

■ 즐겨찾기 - 취미
어드민아이디 유에코 사랑회 아스가르드 좋은사람/나쁜사람 JServer.kr 제이서버 메타블로그 재수 티스토리

■ 즐겨찾기 - 강의, 커뮤니티
재수 강의 홈페이지 한소리 VTMODE.COM 숭실대 인공지능학과 숭실대 통신연구실


PageViews   Today : 1,045   Yesterday : 3,644   Total : 64,816,758  /  Counter Status   Today : 275   Yesterday : 980   Total : 4,153,290
Site Info   Member : 1,464  /  Total documents : 7,936   New documents : 1  /  Total comments : 559

design by by JAESOO.com

sketchbook5, 스케치북5

sketchbook5, 스케치북5

나눔글꼴 설치 안내


이 PC에는 나눔글꼴이 설치되어 있지 않습니다.

이 사이트를 나눔글꼴로 보기 위해서는
나눔글꼴을 설치해야 합니다.

설치 취소