Magento로 온라인 상점을 개발하고 있습니다. 이 사이트는 트래픽이 많을 것이며 테스트 및 생산이라는 두 가지 서버 설정이 필요합니다.온라인 상점 (Magento)을위한 두 대의 서버 설정
제 질문은 Magento가 온라인 상점에서 어떻게 처리합니까?
내가 가진 아이디어는 다음과 같습니다
- 테이크 생산 사이트를 오프라인으로 생산 데이터베이스에서
- 빈 테스트 데이터베이스
- 으로 데이터를 복사 할 수 있습니다. (아마) 생산 사이트
-
Magento로 온라인 상점을 개발하고 있습니다. 이 사이트는 트래픽이 많을 것이며 테스트 및 생산이라는 두 가지 서버 설정이 필요합니다.온라인 상점 (Magento)을위한 두 대의 서버 설정
제 질문은 Magento가 온라인 상점에서 어떻게 처리합니까?
내가 가진 아이디어는 다음과 같습니다
-
프로덕션 사이트를 오프라인으로 설정하지 않아도됩니다.
sugest (그리고이 스크립트를 작성할 수 있어야합니다)는 프로덕션 사이트에서 mysqldump -u root -ppassword db_name > db_name.sql
을 실행하여 데이터베이스 사본을 생성합니다. 그런 다음 rsync를 실행하여 파일과 디렉토리 모두에 대해 rsync를 실행하여 복사하려는 파일을 테스트 컴퓨터에 rsync로 전송하십시오 (이미지?)
푸시하고 싶은 파일을 테스트 한 후 생산에 당신은 2 가지 방법 중 하나를 할 수 있습니다. (그리고 나는이 방법을 선호한다.) 데이터베이스에 대한 모든 변경 사항을 SQL 파일에 저장하고 프로덕션 사이트에서 실행하고 동시에 변경된 파일을 동기화한다. 또는 mysql을 사용하여 모든 쿼리를 파일에 기록한 다음 프로덕션 사이트에서 다시 재생할 수 있습니다.
필요가 없으면 제작 사이트를 다운시키는 것이 가장 좋습니다.
실제로 데이터베이스를 변경하면 이전 코드에서 새 코드로 전환하는 동안 사이트를 오프라인으로 설정해야합니다 (단 몇 초만). 데이터베이스 마이그레이션 스크립트를 실행하십시오.
당신은
포스트 그레스 트랜잭션 DDL을 가지고 있음을 알고 관심이있을 수 있습니다 당신이 트랜잭션의 마이그레이션 스크립트를 포장하고 뭔가 중간에 중단하는 경우, 모든 일이 (DROP 표 포함) 롤백
포스트 그레스 당신의 MyISAM을 사용하는 경우 당신이 그들 중 하나가 그 도이되고, 여러 가지 이유로 운명
(MySQL이 수행하고 꽤 느린) 열을 추가하기 위해 테이블을 다시 작성할 필요가 없습니다 백업을하면 몇 분 동안 사이트가 오프라인으로 전환됩니다.
슬레이브 데이터베이스에서 슬레이브 읽기를 원하지만 라이브에 쓰려면 마스터/슬레이브 mySQL을 원한다. 이 설정은 local.xml 파일에서 설정할 수 있습니다. var/session 및 var/cache 파일에 대해 --exclude를 사용하여 파일에 대해 rsync를 실행할 수 있어야합니다. 또한 개발 서버 인 경우 - 로고를 제외 할 수도 있습니다. 그러면 로고를 '테스트'라고 말하도록 변경하여 Live와 혼동하지 않도록 할 수 있습니다.
Magento에는 InnoDB가있는 MySQL이 필요하므로 postgres는 옵션이 아닙니다. –