CentOS 7 에 Nginx + MongoDB + Wildfly 설치

11074 단어
준비
다음은 이번 설치 에 사용 되 는 시스템 및 소프트웨어 버 전 입 니 다.
  • CentOS 7.0
  • Nginx 1.9.3
  • MongoDB 3.0.5
  • Wildfly 9.0.1
  • JDK 8u51

  • Nginx 를 설치 하려 면 Pcre 와 Zlib 가 필요 합 니 다. 버 전 은:
  • Pcre 8.37
  • Zlib 1.2.7

  • 운영 체제 설치
    1. 인터페이스 언어 설치
    CentOS 7 의 설치 안내 인터페이스 가 비교적 뚜렷 하고 설치 인터페이스 언어 는 간 체 중국 어 를 선택 하면 된다.
    2. 설치 정보 요약
    설치 정보 요약 인터페이스 에 소프트웨어 선택 이 있 는데 그 중에서 자주 사용 하 는 장면 의 패키지 집합 을 정 의 했 습 니 다. 여기 서 우 리 는 인 프 라 서버 를 선택 합 니 다.
    인 프 라 서버 는 시각 화 된 조작 인터페이스 가 없 으 며, 시각 화 된 조작 인터페이스 가 필요 하 다 면 GUI 가 있 는 서버 를 선택 할 수 있다.
    설치 대상 위치 에서 필요 에 따라 디스크 를 구분 할 수 있 습 니 다.
    CentOS 7 은 기본적으로 디스크 를 구분 할 때 권장 하 는 boot 크기 가 500 M 이 며, 디스크 를 사용자 정의 로 구분 할 경우 boot 를 500 M 으로 설정 하 는 것 을 권장 합 니 다.
    시스템 네트워크 카드 는 기본적으로 비활성화 되 어 있 으 며 NETWORK & HOST NAME 에서 사용 할 수 있 습 니 다.
    설치 가 완료 되면 계속 설치 할 수 있 습 니 다.
    3. 설치 과정
    설치 과정 에서 루트 사용자 의 암 호 를 설정 해 야 합 니 다.이전 단계 에서 인 프 라 서버 를 선택 하면 전체 설치 과정 이 빨리 끝 납 니 다. GUI 가 있 는 서버 를 선택 하면 설치 과정 이 조금 느 리 고 설치 가 완료 되면 일반 사용 자 를 시스템 의 일반적인 작업 에 사용 하도록 설정 해 야 합 니 다.
    4. 컴 파 일 러 설치
    설치 소프트웨어 집합 을 선택 할 때 추가 패 키 지 를 선택 하지 않 으 면 시스템 은 기본적으로 gcc 컴 파일 러 가 없 으 므 로 우리 가 직접 설치 해 야 합 니 다. 설치 과정 은 매우 간단 합 니 다.
    
    # yum install gcc gcc-c++

    3. Nginx 설치
    nginx 를 설치 하려 면 pcre 와 zlib 에 가 야 합 니 다. 여기 서 우 리 는 세 개의 소프트웨어 의 소스 패 키 지 를 다운로드 해 야 합 니 다. 소스 코드 가 컴 파일 된 방식 으로 설치 하고 설정 해 야 합 니 다.
    nginx, pcre, zlib 를 순서대로 풀 고 nginx 디 렉 터 리 에 들 어가 서 실행 합 니 다.
    
    # ./configure --prefix=/usr/local/nginx-1.9.3 --with-zlib=../zlib-1.2.7 --with-pcre=../pcre-8.37

    -- prefix 는 nginx 의 설치 디 렉 터 리 를 지정 했다
    -- with - zlib 는 zlib 의 원본 패 키 지 를 가리킨다
    -- with - pcre 가 가리 키 는 것 은 pcre 의 원본 패키지
    설정 이 완료 되면 설치 할 수 있 습 니 다.
    
    # make && make install

    설치 가 완료 되면 해당 사용자 그룹 및 사용 자 를 만 들 고 Nginx 의 디 렉 터 리 권한 과 설정 을 조정 해 야 합 니 다.
    Nginx 설정 수정
    
    # vi /usr/local/nginx-1.9.3/conf/nginx.conf

    장차
    
    #user  nobody;
    
    #pid  logs/nginx.pid;
    
    #access_log  logs/access.log  main;

    주석 을 지우 고
    
    user  nginx;
    
    pid   /usr/local/nginx-1.9.3/nginx.pid;
    
    access_log  /www/log/nginx/access.log  main;

    사용자 그룹 및 사용자 추가
    
    # groupadd nginx
    # useradd -g nginx nginx

    Nginx 디 렉 터 리 권한 조정
    
    # chown nginx:nginx /usr/local/nginx-1.9.3 -R

    그리고 Nginx 로그 디 렉 터 리 를 만 들 고 디 렉 터 리 권한 을 설정 합 니 다.
    
    # mkdir -p /www/log/nginx
    # chown nginx:nginx /www/log/nginx -R

    4. Nginx 설정
    Nginx 를 설정 하려 면 주로 두 가지 일 을 해 야 합 니 다. 1. Nginx 가 자동 으로 작 동 하도록 설정 합 니 다. 2. 방화벽 을 설정 하면 외부 네트워크 가 80 포트 에 접근 할 수 있 습 니 다.
    1. Nginx 부팅 설정
    / lib / systemd / system 에 Nginx 서비스 스 크 립 트 를 새로 만 듭 니 다.
    
    # touch /lib/systemd/system/nginx.service

    다음 내용 을 입력 하 십시오.
    
    [Unit]
    Description=The nginx HTTP and reverse proxy server
    After=network.target remote-fs.target nss-lookup.target
    
    [Service]
    Type=forking
    PIDFile=/usr/local/nginx-1.9.3/nginx.pid
    ExecStartPre=/usr/local/nginx-1.9.3/sbin/nginx -t
    ExecStart=/usr/local/nginx-1.9.3/sbin/nginx
    ExecReload=/bin/kill -s HUP $MAINPID
    KillMode=process
    KillSignal=SIGQUIT
    TimeoutStopSec=5
    PrivateTmp=true
    
    [Install]
    WantedBy=multi-user.target

    저장 후 실행
    
    # systemctl enable nginx.service

    Nginx 가 시동 을 걸 수 있 도록, 시동 을 취소 하려 면 실행 할 수 있 습 니 다.
    
    # systemctl disable nginx.service

    Nginx 를 시작 하면 실행 할 수 있 습 니 다.
    
    # systemctl start nginx.service

    Nginx 설정 을 다시 불 러 오 면 실행 할 수 있 습 니 다.
    
    # systemctl reload nginx.service

    Nginx 실행 상태 보기
    
    # systemctl status nginx.service

    2. 방화벽 설정
    Nginx 설치 가 완료 되면 80 포트 가 통과 할 수 있 도록 방화벽 에 규칙 을 설정 해 야 합 니 다.방법 이 간단 하 다
    
    # firewall-cmd --permanent --zone=public --add-service=http

    그리고 방화벽 을 다시 켜 면 효력 이 발생 한다.
    
    # systemctl restart firewalld.service

    3. 테스트
    브 라 우 저 로 서버 주 소 를 방문 하면 Nginx 의 환영 인터페이스 를 보고 설정 이 성공 했다 는 것 을 설명 합 니 다.
    5. MongoDB 설치 및 설정
    MongoDB 를 / usr / local / mongodb - 3.0.5 로 압축 해제
    MongoDB 프로필 추가
    
    # touch /usr/local/mongodb-3.0.5/mongodb.conf

    다음 내용 입력
    
    systemLog:
       destination: file
       path: /www/log/mongodb/mongodb.log
       logAppend: true
    
    processManagement:
       fork: true
       pidFilePath: /usr/local/mongodb-3.0.5/mongodb.pid
    
    storage:
       dbPath: /data/mongodb
       directoryPerDB: true

    사용자 그룹 및 사용자 추가:
    
    # groupadd mongodb
    # useradd -g mongodb mongodb

    MongoDB 의 디 렉 터 리 권한 조정
    
    # chown mongodb:mongodb /usr/local/mongodb-3.0.5 -R

    그리고 MongoDB 의 데이터 디 렉 터 리 와 로그 디 렉 터 리 를 만 들 고 해당 디 렉 터 리 권한 을 설정 합 니 다.
    
    # mkdir -p /www/log/mongodb
    # chown mongodb:mongodb /www/log/mongodb -R
    
    # mkdir -p /data/mongodb
    # chown mongodb:mongodb /data/mongodb -R

    / lib / systemd / system 에 MongoDB 서비스 스 크 립 트 를 새로 만 듭 니 다.
    
    # touch /lib/systemd/system/mongodb.service

    다음 내용 을 입력 하 십시오.
    
    [Unit]
    Description=Mongodb
    After=network.target remote-fs.target nss-lookup.target
    
    [Service]
    Type=forking
    PIDFile=/usr/local/mongodb-3.0.5/mongodb.pid
    ExecStartPre=/bin/rm -rf /data/mongodb/mongod.lock
    ExecStart=/bin/su - mongodb -c "/usr/local/mongodb-3.0.5/bin/mongod --config /usr/local/mongodb-3.0.5/mongodb.conf"
    ExecStop=/bin/kill -2 $MAINPID
    KillMode=process
    KillSignal=SIGQUIT
    TimeoutStopSec=5
    PrivateTmp=true
    
    [Install]
    WantedBy=multi-user.target

    저장 후 다음 명령 을 실행 하여 부팅 을 추가 합 니 다.
    
    # systemctl enable mongodb.service

    다음 명령 을 실행 하여 MongoDB 를 시작 합 니 다.
    
    # systemctl start mongodb.service

    6. 설치 설정 JDK
    JDK 압축 풀기 / usr / local / jdk 1.8.051
    / etc / profile 마지막 가입
    
    export JAVA_HOME=/usr/local/jdk1.8.0_51
    export PATH=$JAVA_HOME/bin:$PATH 
    export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar

    저장 후 실행
    
    # source /etc/profile

    환경 변수 적용, 통과
    
    # java -version

    설정 성공 여부 확인
    7. 설치 설정 Wildfly
    Wildfly 를 / usr / local / wildfly - 9.0.1. Final 로 압축 풀기
    1. 시작 프로필 수정
    
    # vi /usr/local/wildfly-9.0.1.Final/bin/init.d/wildfly.conf

    아래 설정
    
    # JAVA_HOME="/usr/lib/jvm/default-java"
    
    # JBOSS_HOME="/opt/wildfly"
    
    # JBOSS_USER=wildfly

    주석 을 지우다
    
    JAVA_HOME="/usr/local/jdk1.8.0_51"
    
    JBOSS_HOME="/usr/local/wildfly-9.0.1.Final"
    
    JBOSS_USER=www

    2. 시작 스 크 립 트 수정
    
    # vi /usr/local/wildfly-9.0.1.Final/bin/init.d/wildfly-init-redhat.sh

    찾아내다
    
    JBOSS_CONF="/etc/default/wildfly.conf"

    으로 변경
    
    JBOSS_CONF="/usr/local/wildfly-9.0.1.Final/bin/init.d/wildfly.conf"

    찾아내다
    
    JBOSS_HOME=/opt/wildfly

    으로 변경
    
    JBOSS_HOME=/usr/local/wildfly-9.0.1.Final

    찾아내다
    
    JBOSS_PIDFILE=/var/run/wildfly/wildfly.pid

    으로 변경
    
    JBOSS_PIDFILE=/usr/local/wildfly-9.0.1.Final/wildfly.pid

    찾아내다
    
    JBOSS_CONSOLE_LOG=/var/log/wildfly/console.log

    으로 변경
    
    JBOSS_CONSOLE_LOG=/www/log/jboss/console.log

    Wildfly 로그 디 렉 터 리 수정
    다음 파일 편집
    
    # vi /usr/local/wildfly-9.0.1.Final/standalone/configuration/standalone.xml

    찾아내다
    
    <file relative-to="jboss.server.log.dir" path="server.log"/>

    으로 변경
    
    <file path="/www/log/jboss/server.log"/>

    사용자 그룹 및 사용자 추가
    
    # groupadd www
    # useradd -g www www

    Wildfly 디 렉 터 리 권한 조정
    
    # chown www:www /usr/local/wildfly-9.0.1.Final -R

    그리고 Wildfly 로그 디 렉 터 리 를 만 들 고 디 렉 터 리 권한 을 설정 합 니 다.
    
    # mkdir -p /www/log/jboss
    # chown www:www /www/log/jboss -R

    시작 스 크 립 트 추가
    / lib / systemd / system 에 Wildfly 서비스 스 크 립 트 를 새로 만 듭 니 다.
    
    # touch /lib/systemd/system/jboss.service

    다음 내용 을 입력 하 십시오.
    
    [Unit]
    Description=Wildfly
    After=network.target remote-fs.target nss-lookup.target
    
    [Service]
    Type=forking
    ExecStart=/usr/local/wildfly-9.0.1.Final/bin/init.d/wildfly-init-redhat.sh start
    ExecStop=/usr/local/wildfly-9.0.1.Final/bin/init.d/wildfly-init-redhat.sh stop
    
    [Install]
    WantedBy=multi-user.target

    저장 후 다음 명령 을 실행 하여 부팅 을 추가 합 니 다.
    
    # systemctl enable jboss.service

    다음 명령 을 실행 하여 Wildfly 시작
    
    # systemctl start jboss.service

    우량 하 다
    상기 절 차 를 거 친 후에 필요 한 소프트웨어 가 설치 되 었 고 그 다음 에 일부 설정 을 해서 시스템 을 최적화 시 켜 야 한다.
    1. MongoDB 튜 닝
    MongoDB 실행 시 큰 메모리 페이지 를 사용 하지 않 는 것 을 권장 합 니 다 (http://docs.mongodb.org/manual/tutorial/transparent-huge-pages/)
    새 스 크 립 트
    
    # touch /etc/init.d/disable-transparent-hugepages

    다음 내용 입력
    
    #!/bin/sh
    ### BEGIN INIT INFO
    # Provides:          disable-transparent-hugepages
    # Required-Start:    $local_fs
    # Required-Stop:
    # X-Start-Before:    mongod mongodb-mms-automation-agent
    # Default-Start:     2 3 4 5
    # Default-Stop:      0 1 6
    # Short-Description: Disable Linux transparent huge pages
    # Description:       Disable Linux transparent huge pages, to improve
    #                    database performance.
    ### END INIT INFO
    
    case $1 in
      start)
        if [ -d /sys/kernel/mm/transparent_hugepage ]; then
          thp_path=/sys/kernel/mm/transparent_hugepage
        elif [ -d /sys/kernel/mm/redhat_transparent_hugepage ]; then
          thp_path=/sys/kernel/mm/redhat_transparent_hugepage
        else
          return 0
        fi
    
        echo 'never' > ${thp_path}/enabled
        echo 'never' > ${thp_path}/defrag
    
        unset thp_path
        ;;
    esac

    저장 후 파일 을 수정 할 수 있 는 실행 권한
    
    # chmod +x /etc/init.d/disable-transparent-hugepages

    / lib / systemd / system 아래 시작 스 크 립 트 를 새로 만 듭 니 다.
    
    # touch /lib/systemd/system/dthp.service

    다음 내용 을 입력 하 십시오.
    
    [Unit]
    Description=Disable Transparent Huge Pages (THP)
    
    [Service]
    ExecStart=/etc/init.d/disable-transparent-hugepages start
    TimeoutStopSec=5
    PrivateTmp=true
    
    [Install]
    WantedBy=multi-user.target

    저장 후 다음 명령 을 실행 하여 부팅 을 추가 합 니 다.
    
    # systemctl enable dthp.service

    다음 명령 실행 스 크 립 트 시작
    
    # systemctl start dthp.service

    MongoDB 를 다시 시작 하면 유효 합 니 다.
    2. ulimit 튜 닝
    편집 / etc / security / limits. conf
    
    # vi /etc/security/limits.conf

    다음 설정 추가
    
    * soft nofile 65536
    * hard nofile 65536

    저장 후 현재 사용 자 를 종료 하고 다시 로그 인 후 실행
    
    # ulimit -n

    유효 여부 확인

    좋은 웹페이지 즐겨찾기