이 글은 기계 번역의 미러 문서이며, 원본 기사로 바로 이동하려면 여기를 클릭해 주세요.

보기: 9400|회답: 9

Docker 설치를 이용해 Discuz 포럼을 배포하세요

[링크 복사]
2021-11-28 19:21:35에 게시됨 | | | |
포럼을 Docker 환경 애플리케이션으로 마이그레이션할 준비를 하면, 이전 포럼 데이터를 새 서버로 이전하는 몇 가지 명령어를 입력하면 됩니다. 이 글은 Docker를 사용해 새로운 Discuz 포럼을 구축하여 시험해보고 있습니다.

리눅스 환경에서 도커 설치 튜토리얼은 다음 내용을 참고하시기 바랍니다:

CentOS 7에서 도커 컨테이너 설치
https://www.itsvse.com/thread-9999-1-1.html

CentOS 8 설치 시 Docker 패키지 충돌 문제
https://www.itsvse.com/thread-10115-1-1.html
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 확장 프로그램 설치에 관한 정보는 다음 기사를 참고하시기 바랍니다:

Docker php:5.6.40-fpm 이미지를 기반으로 한 GD 확장 프로그램을 설치하세요
https://www.itsvse.com/thread-10175-1-1.html

Docker php:5.6.40-fpm 이미지를 기반으로 한 Redis 확장 프로그램을 설치하세요
https://www.itsvse.com/thread-10176-1-1.html
확장 프로그램을 설치한 후에는 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 상태 정보를 확인하세요
https://www.itsvse.com/thread-10180-1-1.html

Nginx 리버스 프록시 php-fpm

nginx 서비스는 호스트 머신에 직접 설치했고, docker로 설치하지 않았습니다. 설치 과정을 다음과 같이 설명할 수 있습니다:

CentOS 소스 코드를 사용해 nginx 서비스를 설치하세요
https://www.itsvse.com/thread-10058-1-1.html
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 파일은 다음과 같습니다:

관광객 여러분, 이 게시물의 숨겨진 내용을 보고 싶으시다면 부탁드립니다회답


(끝)





이전의:[연습] Nginx를 통해 php-fpm 상태 정보를 확인하세요
다음:Spring Boot는 AD 도메인(LDAP)의 모든 사용자를 확보합니다.
 집주인| 2021-11-29 17:58:10에 게시됨 |
php X-Powered-By 메시지를 닫으세요
https://www.itsvse.com/thread-2092-1-1.html
 집주인| 2021-12-3 13:27:16에 게시됨 |
해결 413 요청 엔터티 크기 너무 크기



Nginx의 기본 요청 본문은 1M이며, nginx.conf 구성 파일을 편집하고 http{}에 다음 구성을 추가하세요:



 집주인| 2022-11-13 14:39:13에 게시됨 |
phpmyadmin PMA_host 환경 변수에서 MySQL 호스트를 지정할 수 있습니다. 기본 포트가 아니라면 지정된 서버의 포트를 PMA_PORT 사용할 수도 있습니다:


호스트 'xxx'는 이 MySQL 서버에 접속할 수 없습니다
https://www.itsvse.com/thread-7735-1-1.html
2023-5-31 16:51:50에 게시됨 |
이 글을 공부한 이유: 인트라넷 머신 도커 배포 포럼을 요구하세요. 명령줄을 봐야 해요.
또한: 글을 올려주신 저자분께 감사드립니다.
2023-6-14 16:25:45에 게시됨 |
IP를 사용할 때 해당 페이지에 입력해서 포트 번호를 추가해서 502 오류를 보고할 수 없는 이유는 무엇인가요?
도커를 처음 써보는 거라 잘 몰라요. 부탁해요, 감사합니다.
2023-6-16 13:26:28에 게시됨 |
알마크, 2023-6-14 16:25에 게시됨
IP를 사용할 때 해당 페이지에 입력해서 포트 번호를 추가해서 502 오류를 보고할 수 없는 이유는 무엇인가요?
도커를 처음 써보는 거라 잘 몰라요. 부탁해요, 감사합니다. ...

문제는 MySQL에 접근하기 위해 도구를 사용해야 한다는 질문을 받았는데, 저는 직접 웹 브라우징인 줄 알았습니다.
또한, php-rpm을 설치할 때 오류가 보고되어 있으니, 아래 그림에서 확인할 수 있으니 제단 마스터에게 해결 방법을 문의해 주세요:
ERROR: failed to open configuration file '/usr/local/etc/php-fpm.conf': No such file or directory (2)
ERROR: failed to load configuration file '/usr/local/etc/php-fpm.conf'
ERROR: FPM initialization failed
감사합니다
2024-3-26 17:20:18에 게시됨 |
튜토리얼은 괜찮아요
 집주인| 2024-3-27 08:27:39에 게시됨 |
Debian 저장소 업데이트 알림과 404 오류가 뜹니다
https://www.itsvse.com/thread-10698-1-1.html
 집주인| 2025-9-20 21:08:42에 게시됨 |
php-fpm으로 요청 로그 출력을 닫으세요, 수정: /php-fpm.d/www.conf
면책 조항:
Code Farmer Network에서 발행하는 모든 소프트웨어, 프로그래밍 자료 또는 기사는 학습 및 연구 목적으로만 사용됩니다; 위 내용은 상업적 또는 불법적인 목적으로 사용되지 않으며, 그렇지 않으면 모든 책임이 사용자에게 부담됩니다. 이 사이트의 정보는 인터넷에서 가져온 것이며, 저작권 분쟁은 이 사이트와는 관련이 없습니다. 위 내용은 다운로드 후 24시간 이내에 컴퓨터에서 완전히 삭제해야 합니다. 프로그램이 마음에 드신다면, 진짜 소프트웨어를 지원하고, 등록을 구매하며, 더 나은 진짜 서비스를 받아주세요. 침해가 있을 경우 이메일로 연락해 주시기 바랍니다.

Mail To:help@itsvse.com