서버 마이그레이션 예

4716 단어 서버
회사마다 서버가 실행하는 서비스와 관리 방식이 다르기 때문에 그동안 서버를 이전하는 작업을 간단히 정리할 수 있다.
첫 번째 단계는 서버가 실행하는 서비스를 루트 권한으로 전환하는 것을 확인합니다. 넷stat-tunlp는 모든 프로세스를 볼 수 있습니다.모든 프로세스의 역할을 파악하고 새 서버를 이전하여 이전 서버의 모든 프로세스를 시작합니다.주의해야 할 것은 서버 자체의 프로세스입니다. 예를 들어 네트워크 동기화 시간 프로세스 ntpd, 새로운 서버에서chronyd로 전환되었을 수 있습니다. 너무 집착하지 마십시오.
두 번째 단계는nginx 서비스를/etc/nginx/conf.d/안으로 이동하여 모든 *conf의nginx 설정을 다운로드합니다.모든 conf가 설정한 도메인 이름을 새 서버에 성공적으로 접근할 수 있도록 하십시오.
3단계 정시 작업 현재 모든 정시 작업 보기:crontab-l 정시 작업 편집:crontab-e 설치되지 않으면:(centos 기본적으로 설치됨)yuminstallcrontabs systemctr startcrond 편집 후 reload를 사용하여 작업 적용:systemctr reload crond
우리는docker로 서버를 구축하기 때문에 코드 이동, 프로젝트 이동이 비교적 편리하다. 직접docker-compose 파일 이동을 한 다음image,container를 다시 만든다.docker-compose pull 프로젝트명 docker-compose up-d 프로젝트명 docker-compose start 프로젝트명
여기에 자주 사용하는 프로세스나 백업hub를 씁니다.docker.com 이 안에 Docker 거울git 백업이 있습니다:docker-compose 설정 참고:version:'3.3'서비스:gitlab-ce:container_name: gitlab-ce image: hub.docker.com 원하는 미러 포트 찾기: - "9086:22"- "9087:80"volumes: -./gitlab-ce/data:/data
백업:docker 용기에 들어가기:docker exec-it gitlab-ce [용기명]bash 만들기 백업:gitlab-rake gitlab:backup:create 백업을 용기 밖으로 이동합니다:여기 docker-compose가 설정한volumes는/data 폴더가 밖으로 소프트 링크되어 있기 때문에 백업을/data로 이동합니다. mv/gitlab-ce/data/backups/백업 이름/data/
복구 백업: docker 용기에 들어가기: docker exec-it gitlab-ce [용기명] bash 복구 백업: 위에 백업된 파일, mv를/gitlab-ce/data/backups/안에 넣고 명령을 실행합니다. gitlab-rake gitlab:backup:restore
gitclone의 주소 설정을 수정합니다./gitlab-ce/conf/gitlab.rb 구성 수정 external_url ‘git.wyuyung.com(ngnix 설정 도메인 이름)'및gitlab_rails['gitlab_shell_ssh_port'] = 9086 (docker-compose 파일에 대한port) external_url은 외부에서 접근한 도메인 이름 링크입니다. 예를 들어 서버를 구축하고 도메인 이름git를 사용합니다.wyuyung.com은 나의git 코드 라이브러리 UI 관리 도메인 이름 127.0.0.1:9086을 가리킨다.
파일 분포식 시스템 weed-fs를 설치하고 github에서 weed 실행 프로그램을 다운로드합니다. 원본 코드를 사용하지 않아도 됩니다.서비스 시작 nohup./weed master-port=9333 & 파일 읽기 서비스 시작nohup./weed volume -port=8080 -dir=./data -ip=img.wyuyung.com[파일 도메인 이름,ngnix와 proxy_pass 결합http://127.0.0.1:8080;] -mserver=localhost:9333 &
nginx의 conf 파일은 여기서 가장 간단한 예를 들겠습니다. 보통 기본 포트를 바꾸지 마십시오. 그렇지 않으면 건설 공사를 할 때 많은 기본 설정을 다시 설정해야 합니다. 소가 마음대로 합니다.
server {
    listen       80;  //http 
    listen 443 ssl;   //https 
    server_name  www.wyuyung.com;  // 
    
    //[ ssl ](https://github.com/Neilpang/acme.sh/blob/master/dnsapi/README.md#1-use-cloudflare-domain-api-to-automatically-issue-cert)
    ssl_certificate /etc/nginx/ssl/wyuyung.com.cert;  // ssl ,
    ssl_certificate_key /etc/nginx/ssl/wyuyung.com.key;  // ssl ,
    
    location / {   // , location / 。
        index index.html index.htm index.php;
        root /data/www/;
    }
    location ~ \.php$ {   // php , , copy 。
        fastcgi_pass   127.0.0.1:9000;
        fastcgi_index  index.php;
        fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
        include        fastcgi_params;
    }
}

*location/yung/{//를 사용하여 입구입니다. 보통 location/에서 전방 프로젝트 입구를 설정합니다. index index.html index.htm index.php;root/data/w/;}이 설정의 입구는/데이터/w/yung/index입니다.html 대신/data/w/index.htmllocation 매칭은location/yung/와 일치하지만/yung/는 여전히 유효합니다.많은 사람들이 www.wyuyung이라고 생각한다.com/yung/일치location/yung/,root/data/w/;사실은 그렇지 않다.진정으로 이렇게 이해해야 한다: www.wyuyung.com/yung/일치location/yung/, 그래서 www.wyuyung.com에 대응하는 루트 주소는/data/w/입니다.뒤에 있는 yung은 도메인 이름을 설명할 때 소모되는 것이 아니라 재해석을 해야 한다.
설치 php 지원 환경 yum install php는 오래된 버전을 설치할 수 있습니다. 권장 사용: yum install php70w-devel php70w-cli php70w-common php70w-gd php70w-ldap php70w-mbstring php70w-mcrypt php70w-pdo php70w-mysql php70w-fpm 오류를 보고하여 원본을 찾지 못하면 yum 설치 패키지를 업데이트하십시오: rpm-Uvhhttps://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm그리고 yum 설치 php70w php70w-devel php70w-cli php70w-common php70w-gd php70w-ldap php70w-mbstring php70w-mcrypt php70w-pdo php70w-mysql php70w-fpm
도메인 이름nginx 설정 추가:location~.php$ { fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME d o c u m e n t r o o t document_root documentr​ootfastcgi_script_name; include fastcgi_params; }
백업 선도 1단계: 백업 선도의 sql, 예: mysqldump-uroot-pzentao>zentao.sql
2단계: 새 서버의 mysql에서 sql를 복구합니다.mysql -u root -p zentao < zentao.mysql에 빈 zentao 데이터베이스를 만들고 낡은 데이터를 새 데이터베이스에 가져와야 하기 때문에 오류가 발생할 수 있습니다.예외적으로zentao가 루트 사용자로 로그인하지 않으려면 sql 사용자를 새로 만들고 zentao 데이터베이스를 이 사용자에게 권한을 부여할 수 있습니다.create database zentao; CREATE USER'zentao'@'%'IDENTIFIED BY'사용자 비밀번호';GRANT ALL ON zentao[데이터베이스 이름].*TO'zentao'[사용자 이름] @'%';%외부 접근을 허용하고localhost는 내부 접근만 허용합니다
3단계: 같은 버전의zentaopms를 다운로드하고zentaopms/config/my를 수정합니다.php 설정 sql 사용자 이름, 비밀번호, 데이터베이스 이름

좋은 웹페이지 즐겨찾기