포럼을 Docker 환경 애플리케이션으로 마이그레이션할 준비를 하면, 이전 포럼 데이터를 새 서버로 이전하는 몇 가지 명령어를 입력하면 됩니다. 이 글은 Docker를 사용해 새로운 Discuz 포럼을 구축하여 시험해보고 있습니다.
리눅스 환경에서 도커 설치 튜토리얼은 다음 내용을 참고하시기 바랍니다:
MySQL 앱을 설치하세요
다음 명령어로 MySQL 데이터베이스 버전 5.7.34를 설치하세요:
실행이 완료되면 호스트 머신의 IP:3306 포트에 접근할 수 있으며, 계정과 비밀번호는 모두 :root
phpMyAdmin 앱을 설치하세요
phpMyAdmin은 웹을 통해 MySQL 관리를 처리하기 위해 PHP로 작성된 무료 소프트웨어 도구입니다. phpMyAdmin은 MySQL과 MariaDB를 통해 다양한 작업을 지원합니다. 자주 사용되는 작업들(데이터베이스, 테이블, 컬럼, 관계, 인덱스, 사용자, 권한 관리 등)은 사용자 인터페이스를 통해 수행할 수 있으며, SQL 문은 직접 실행할 수 있습니다.
명령어는 다음과 같습니다:
실행이 완료된 후에는 브라우저를 통해 호스트의 IP 8081에 접근하여 아래 그림과 같이 MySQL 계정과 비밀번호를 입력할 수 있습니다:
Redis 앱 설치
Discuz는 일부 콘텐츠를 Redis에 캐시하도록 설정할 수 있어 접근 속도와 성능을 향상시킬 수 있기 때문에, 필요한 웹마스터에게 매우 유용합니다. 다음 명령어로 redis 앱을 설치하세요:
FTP 서비스를 설치하세요
Discuz는 FTP 프로토콜을 통해 원격 서버에 첨부파일을 업로드할 수 있고, 포럼 첨부파일(이미지)은 2차 도메인 이름을 통해 접근할 수 있으며, 2차 도메인 이름은 CDN으로 가속되어 웹사이트 로딩 속도를 높일 수 있습니다.
첨부 파일을 저장할 새 /data/wwwroot/ftp_data 디렉터리를 만들고 다음 명령어를 사용하세요:
Docker를 사용해 FTP 서비스를 설치하는 명령어는 다음과 같습니다:
FTP 계정과 비밀번호는 다음과 같습니다: dz_itsvse/a123456
참고: LOCAL_UMASK 매개변수를 반드시 설정하세요, 그렇지 않으면nginx는 접근 시 허가 없이 403 오류를 보고합니다!
Discuz 프로그램을 호스트 머신에 업로드하세요
다음 명령어로 새 /data/wwwroot/discuz 디렉터리를 만들고 사이트 프로그램에 저장하세요:
업로드 후, 아래 사진과 같습니다:
php-fpm 앱을 설치하세요
호스트 머신에 새로운 PHP 구성 폴더를 만들고, 명령어는 다음과 같습니다:
처음으로(제 게시물의 첨부파일만 사용하시면 되고, 굳이 이걸 할 필요는 없어요!php-fpm 컨테이너를 시작하고 docker cp 명령어를 사용해 다음 명령어로 구성을 호스트의 매핑 디렉터리로 복사해야 합니다:
도커를 사용해 php-fpm 앱을 시작하세요
컨테이너를 시작한 후에는 GD, mysql, redis 등과 같은 PHP 확장 프로그램을 컨테이너 내부에 설치해야 합니다. 그렇지 않으면 데이터베이스 연결, redis 캐시 사용, 이미지 처리 등이 불가능합니다.
다음 명령어를 사용하여 컨테이너에 들어갑니다:
컨테이너에 들어가 다음 명령을 실행하세요:
GD 및 Redis 확장 프로그램 설치에 관한 정보는 다음 기사를 참고하시기 바랍니다:
확장 프로그램을 설치한 후에는 php5-fpm 컨테이너를 재시작해야 효과가 적용됩니다!
다시 php5-fpm 컨테이너 안으로 들어가 보세요,/data/wwwroot/discuz 디렉터리의 귀속 가능한 사용자와 그룹을 수정하세요그렇지 않으면 php-fpm!로 읽고 실행되지 않습니다! 페이지가 비워질 거야! 명령어는 다음과 같습니다:
/data/wwwroot/discuz 디렉터리에서 다음 명령어로 새 phpinfo.php 파일을 생성하세요:
php.ini 가장 중요한 최적화 설정은 다음과 같습니다:
기본적으로 PHP-FPM 컨테이너튜닝 php-fpm매개변수와 php.ini 설정 설정(시간대, 최대 파일 업로드 제한 등)은 다음을 참조할 수 있습니다:
Nginx 리버스 프록시 php-fpm
nginx 서비스는 호스트 머신에 직접 설치했고, docker로 설치하지 않았습니다. 설치 과정을 다음과 같이 설명할 수 있습니다:
nginx.conf의 주요 구성은 다음과 같습니다:
브라우저 접속 테스트:http://dev.itsvse.com:8099/phpinfo.php, 아래 그림에서 볼 수 있습니다:
Discuz 설치를 시작하세요
위 내용은 모두 준비 과정입니다. mysql, ftp, redis, nginx, php-fpm 등을 준비한 후 실제 설치를 시작하세요.http://dev.itsvse.com:8099/, 아래 그림에서 볼 수 있습니다:
다음 그림에 나타난 것처럼 MySQL 데이터베이스 연결을 설정하세요:
설치 과정은 아래에 나와 같이 완성되었습니다:
아래 참조와 같이 원격 부착물을 테스트용으로 설정하세요:
아래에 보이는 이미지의 워터마크가 정상인지 테스트해 보세요:
/data/wwwroot/discuz/config/config_global.php 설정을 수정하여 Redis 캐시를 사용하게 하고 다음과 같이 설정하세요:
Redis 컨테이너에 로그인하여 데이터가 캐시되어 있는지 확인해 보세요. 아래 이미지에서 확인할 수 있습니다:
아래 그림과 같이 원격 부착 기능이 제대로 작동하는지 테스트하기 위해 게시글을 올립니다:
phpconfig.zip 파일은 다음과 같습니다:
관광객 여러분, 이 게시물의 숨겨진 내용을 보고 싶으시다면 부탁드립니다 회답
(끝)
|