Openlitespeed 웹서버 설치 및 Nginx 리버스 프록시 서버 설정하기 (3)

작업실

Openlitespeed 웹서버 설치 및 Nginx 리버스 프록시 서버 설정하기 (3)

우성군 10 191 2


1. 워드프레스 접속하기


이제 자신의 주소로 접속해봅니다.


한국어로 설정 후 사이트 제목, 아이디 비번만 설정한 뒤에, 자신의 아이디 비번으로 로그인 하면 끝입니다.


DB는 제일 처음 원클릭으로 설정했기 때문에 따로 넣을 필요가 없습니다 ^^


관리자모드로 들어가서 설정 -> 고유주소에 보면 사용자 정의구조가 이상하게 되어있습니다.


index.php가 중간에 들어가게 되어있는데요. 이렇게 되면 캐시가 제대로 되지 않기 때문에 꼭 바꿔야 합니다.


이것을 자신이 원하는 구조로 바꿉니다. 저장하면 됩니다.




2. Nginx Helper 플러그인 설치 및 설정하기


플러그인 새로 추가를 눌러서 검색창에 Nginx Helper를 설치 후 활성화 해줍니다.


관리자 화면에서 설정에 제일 밑에 보면 Nginx Helper가 있습니다. 그걸 눌러줍니다.



위와 같이 설정 후 제일 밑에 저장을 눌러줍니다.


디버깅에 관심이 있다면


Enable Logging

Enable Nginx Timestamp in HTML

여기에 둘다 체크해주면 좋겠죠? ^^


디버깅에 체크하시면 페이지 소스보기를 눌렀을 때 제일 밑에 언제 캐싱이 되었는지 확인할 수 있습니다.




3. LiteSpeed Cache 활성화 및 Cache 설정해주기


드디어 이 시리즈의 최종 목적지인 LiteSpeed Cache 플러그인 설정에 왔습니다.


사실상 이 시리즈를 기획한 계기이기도 하구요.


관리자 -> 플러그인 -> 설치된 플러그인에 보시면 이미 설치가 되어있습니다.


활성화를 해줍니다. Settings를 누릅니다.



위와 같이 캐시 셋팅이 뜹니다. 그대로 저장해주시면 됩니다.


이제 Object를 클릭합니다.



위와 같이 Redis를 선택 후 포트를 6379로 변경해줍니다.


그리고 밑에 내려보면 Cache Wp-Admin에 OFF 를 누릅니다. ON을 하면 관리자페이지가 깨질수도 있습니다.


Store Transients은 ON으로 하시고 SAVE를 누릅니다.



그러면 Object Cache 부분에


Memcached Extension: Disabled

Redis Extension: Enabled

Connection Test: Passed


연결 테스트가 통과된 것을 볼 수 있습니다.


Object 바로 옆에 Browser가 있는데 클릭 후 Browser Cache ON을 해주고 SAVE를 누릅니다.




4. QUIC cloud와 연결하기


QUIC cloud는 라이트스피드테크 회사가 운영하고 있는 CDN 서비스입니다.


우리는 CDN 서비스를 이용하지는 않고, 중요한 CSS 생성, 이미지 최적화만 이용하려고 해도 연결을 해줘야 됩니다.



위와 같이 General을 누른 후 Request Domain Key를 누릅니다. 조금만 기다리면 자동으로 도메인 키가 입력되고 연결됩니다.


QUIC.cloud에는 접속할 필요도 없습니다. ㅎㅎ




5. Image Optimization 설정하기


Image Optimization을 누르고 Image Optimization Settings를 누릅니다.



위와 같이 셋팅 후 저장해줍니다.


제일 위에 Auto Request Cron은 꼭 On을 해주세요!


Webp도 알아서 만들어주고, 이미지도 최적화 해줍니다.




6. Page Optimization 설정하기


(1) CSS Setting


이제 제일 중요한 Generate Critical CSS가 있는 부분입니다.


사실상 이 플러그인의 핵심 기능이라고 생각합니다. 유료 플러그인의 경우 이 기능 하나 때문에 한달에 $7을 요구하기도 합니다. ㅎㅎ


그런데 CSS 부분은 워낙 테마와 다른 플러그인과의 충돌에 예민한 부분이라, 혹시나 CCSS 기능을 사용했을 때 문제가 생긴다면 과감하게 적용을 해제해야 합니다. ㅠㅠ


아무튼 테마가 간단하다면 아래와 같은 셋팅을 추천드립니다. 혹시나 깨진다면 CSS 셋팅을 하나씩 변경해보면서 정상적으로 변하는지 꼭 확인해야 합니다.



그리고 밑에 Inline CSS Async Lib : ON, Font Display Optimization : Swap 을 추천드립니다.


그리고 Save를 누릅니다.



(2) JS Setting


JS 셋팅도 테마에 따라 호불호가 상당히 갈립니다. 문제가 생겼을 때 CSS와 JS 셋팅을 다 껐다가 하나씩 켜면서 문제가 생기지 않는 범위에서 적용하는 것을 추천드립니다. 일반적인 상황에서는 아래와 같은 설정을 추천드립니다.




(3) Optimization Settings


최적화 셋팅에 관련된 내용입니다. 일반적인 상황에서는 아래와 같이 셋팅을 추천드립니다.



구글 폰트 비동기화 로딩 및 구글 폰트 제거 부분은 자신의 테마에 맞춰서 사용하시기 바랍니다.


개인적으로 구글 폰트 비동기화 로딩은 OFF를 추천드립니다. 



(4) 그외 추천 셋팅


Media Settings 이미지와 동영상 부분인데요. 


전부 ON을 추천드립니다. 이미지 로딩될 때 흐릿하게 나왔다가 이미지를 전부 다운 받으면 제대로 표시되는 기능도 있는데 추천드립니다. ㅎㅎ


Discussion Settings 에서는 둘다 ON을 추천드립니다. 그라바타의 아바타를 바꾼다면 OFF를 한 뒤에 다시 ON을 하면 더 좋겠죠? ^^


이제 페이지 최적화 셋팅은 완료했습니다.




7. Crawler


Crawler는 활성화 해주는 것이 좋습니다. Crawler General Settings에 가서 ON을 누르고 Save 해주시면 됩니다.


나머지 데이터베이스, 툴박스 부분은 딱히 손댈 부분이 없습니다.




8. 사이트 접속해보기


처음에 메인 페이지로 가면 느릴 수 있는데요. 중요한 CSS를 페이지 접속하면 바로 생성되게 만들었기 때문에 느린 것입니다.


CSS를 생성하면 그 뒤엔 빠르므로 걱정 안하셔도 됩니다. ㅎㅎ


그리고 처음에는 Nginx의 proxy cache가 접근하기 때문에 최적화 페이지가 보이지 않습니다. 


Nginx Help 플러그인 설정에 가서 Purge Entire Cache를 누릅니다. 그러면 전체 페이지의 Proxy Cache를 다 지워줍니다. 그러면 새로 접속하는 페이지에서 라이트스피드 캐시가 먼저 생성이 되고, 그 뒤에 Nginx Proxy Cache가 생성될 것입니다.




9. 결론


이제 우리가 생각했던 오픈라이트스피드 웹서버의 LSCACHE 모듈을 활용한 LiteSpeed Cache와, Nginx의 Proxy Cache를 함께 사용할 수 있게 됐습니다. 


웹페이지 최적화는 LiteSpeed Cache가 해주고, Nginx는 그 캐시된 내용을 RAM에 기록하여 바로 전달해주는 기능을 수행하게 됩니다.


캐시가 잘 되었다면 오픈라이트스피드 웹서버는 전혀 움직이지 않고, Nginx가 RAM에서 꺼내기만 하면 되니 완전 빠르겠죠? ^^


DB도 부담이 없구요. 아마 동시접속자 수도 엄청나게 개선되었을 것입니다.


부디 이 글을 보고 워드프레스 최적화 끝판왕 설정을 적용하셨으면 좋겠습니다. 감사합니다.

, , , ,

10 Comments
Computist 06.23 10:56  
너무어려워서 읽어보진 못했지만
존경하는 마음을 담아서 댓글을 드립니다.
우성군 06.23 11:02  
[@Computist] 완전 초보도 적용할 수 있게 작성해뒀어요. ㅎㅎ

사실 이렇게 셋팅하실 분은 안계시겠지만요.. ㅠㅠ

Computist 06.24 11:47  
[@우성군]
저도 시간 나면 캐시적용해볼게요 ㅠㅠ
우성군 06.24 13:14  
[@Computist] 완전히 새로운 서버라면 이렇게 셋팅하는 것도 좋아보입니다. ㅎㅎ
루아루이 06.28 15:00  
제가 원하는 셋팅을 드디어 찾았네요. 워드프레스 우커머스가 너무 느려서 고민중에 호스팅 변경하면서 거의 2달 정도 서버 계속 테스트 해보고 고민중이었는데 한방에 바로 해결되었네요. 아무 문제없이 바로 다 설치 되었고 워드프레스 이전도 잘 되었습니다. 속도 역시 제가 원하는 대로 바로 되었고요. POS연동등 외부 사이트 연동부터 플러그인도 많이 사용되어서 아주 무거운 사이트인데 정말 가벼워 졌습니다. 일년넘게 방치하다 코비드땜시 시간내서 고민중이었는데 정말 감사합니다. 저같은 비 개발자도 바로 할수 있게 설명해 주셔서 더 감사드려요.
우성군 06.28 16:25  
[@루아루이] 우커머스는 저도 안해봤는데 잘 된다니 다행이네요!!
루아루이 06.28 15:12  
질문은 요기서 드릴께요 :)
현재 VPS memory 8G 인데 캐쉬메모리 설정 건드릴것은 없는거죠? 추후 서버 확장해서 16G 메모리 변경도 고려중입니다. 메모리 16G로 확장시 설정 부분 조언 좀 부탁드릴께요. 두번째 질문은 PHP나 OLS, Nginx 버전 업데이트 할 경우 어떻게 해야 하는지도 궁금합니다. 커멘트 창에서 각 모듈 업데이트 명령으로 하면 크게 문제 없이 되겠죠? 개발쪽은 잘 몰라서 cpanel 설치 후 업데이트등을 관리해서 메뉴얼로 업데이트 할 경우 어떻게 접근해야 할지 개념이 안잡히네요. 세번째 질문은 구글 pagespeed Nignx 모듈 설치시 큰 효과가 있을까요? 이미 풀 캐쉬가 두개나 있어서 큰 의미는 없어보이는데 구글페이지 스피드 점수 향상이 있으면 추후 고려해 보려고요 사이트가 미국 대상이래서 아무래도 구글 검색등을 위해서라고 구글스피드 점수도 중요하기도 하거든요.
우성군 06.28 16:33  
[@루아루이] 1. 램이 여유가 있다면 캐시쪽 메모리를 올리는 것도 좋습니다.

sudo nano /etc/nginx/sites-available/proxy-cache

위 명령어를 넣고

proxy_cache_path /run/nginx-cache levels=1:2 keys_zone=proxy-cache:100m max_size=4g inactive=600m use_temp_path=off;

proxy_cache_key "$scheme$request_method$host$request_uri";

위와 같이 max_size=4g 정도로 올려줘도 될 것 같습니다.

그리고 sevice ngixn restart 를 넣어주면 됩니다.

그리고 PHP 쪽과 WP쪽 RAM 사용량도 올려주셔도 될듯 합니다.

https://www.wsgvet.com/bbs/board.php?bo_table=home&wr_id=595

위 링크에서 가운데 쯤에 sudo nano /etc/php/7.4/fpm/php.ini 이 명령어 넣을때

memory_limit = 256M

를 1024M 로 올리셔도 될 듯 합니다.

그리고 WP MEMORY 올리는 것은 아마 wp-config.php에서 설정하는 것 같은데.. 한번 살펴보시구요.

https://www.wsgvet.com/bbs/board.php?bo_table=home&wr_id=598

위 링크에서 5번에 보시면 lsphp 셋팅값도 수정하시면 될 듯 합니다.

php_value memory_limit 1024M

이렇게 작업하시면 될 듯 합니다.


2. php, ols, nginx 업그레이드

전부 우분투 기본 레포에서만 설치했기 때문에 정말 관리하기 편하게 셋팅했습니다.

그래서 주기적으로

apt update && apt upgrade

위 명령어로 패키지를 업데이트 후 업그레이드 하시면 일괄로 업그레이드 됩니다 ^^


3. cpanel은 제가 써보질 않아서.. 업그레이드 부분은 ssh로 작업하시면 문제없이 될겁니다.


4. 구글 pagespeed 적용은 과감하게 안쓰셔도 됩니다 ^^

이건 저도 구글 페이지스피드 인사이트로 테스트 해봐서 경험적으로 알고 있는 부분인데요.

ols의 LSCACHE만 적용해도 거의 90점 이상 나옵니다.

거기다가 지금은 Nginx의 프록시캐시까지 쓰고 있기 때문에.. 속도 부분은 최강이라고 보시면 되구요.

그리고 LSCACHE에서 구글 페이지스피드 모듈의 거의 모든 기능을 하고 있기 때문에 걱정하지 않으셔도 됩니다.


5. 제 가이드를 보고 적용하는 분이 계실줄은 몰랐는데 신기하네요. ㅎㅎ 잘 쓰시고, 혹시나 문제 생기면 알려주세요.
루아루이 06.28 17:27  
[@우성군] 자세한 답변 감사해요. 참고로 cpanel 같은 호스팅 패널은 설치 안했고요. VPS 새로 오픈 후 우분투 클린 설치 상태에서 올려주신글 보고 그대로 적용했습니다.

구글링해도  통합되고 클리어한 캐쉬서버 설치법을 찾지 못해서 각 캐쉬 모듈별 설치 후 테스트등을 반복해보고 있었어요. 누더기가 된 서버를 보면서 대충 끝내도 나중에 다시 볼려고 했었는데 딱 필요한 글을 발견했네요. 다시한번 감사드립니다. 나중에 질문사항 있으면 다시 문의할께요.
우성군 06.28 17:36  
[@루아루이] 넵 저도 워드프레스를 테스트로 운영하고 있는데요. 아무래도 캐시 플러그인이 워낙 많아서 뭐가 좋을지 찾기 어려울 가능성이 높다고 생각합니다.

저도 우연히 ols를 찾게 되면서 여기까지 왔네요. ㅎㅎ

잘 사용하시고 문제가 생기면 알려주세요!