4.13. 동적 프로그래밍 언어, 웹 서버 및 데이터베이스 서버


RHEL 9의 Python

Python 3.9 는 RHEL 9의 기본 Python 구현입니다. Python 3.9 는 BaseOS 리포지토리의 비표준 python3 RPM 패키지로 배포되고 일반적으로 기본적으로 설치됩니다. Python 3.9 는 RHEL 9의 전체 라이프 사이클 동안 지원됩니다.

Python 3 의 추가 버전은 AppStream 리포지토리를 통해 라이프사이클이 짧은 RPM 패키지로 배포되며 동시에 설치할 수 있습니다.

python 명령(/usr/bin/python) 및 기타 Python- 관련 명령(예: pip )은 버전이 없는 형식으로 사용할 수 있으며 기본 Python 3.9 버전을 가리킵니다.

Python 2 는 RHEL 9와 함께 배포되지 않습니다.

RHEL 9의 Python 에 대한 자세한 내용은 Python 소개를 참조하십시오.

(BZ#1941595, JIRA:RHELPLAN-80598)

Node.js 16 사용 가능

RHEL 9는 JavaScript 프로그래밍 언어로 빠르고 확장 가능한 네트워크 애플리케이션을 구축하기 위한 소프트웨어 개발 플랫폼인 LS(Long Term Support) 버전 16을 제공합니다.

Node.js 14 대신 Node.js 16 의 주요 변경 사항은 다음과 같습니다.

  • V8 엔진이 버전 9.4로 업그레이드되었습니다.
  • npm 패키지 관리자가 버전 8.3.1로 업그레이드되었습니다.
  • 새로운 timer Promises API는 Promise 오브젝트를 반환하는 대체 타이머 함수 세트를 제공합니다.
  • Node.js 는 이제 OpenSSL 3.0 과 호환됩니다.
  • Node.js 는 이제 새로운 실험적인 Web Streams API와 실험적인 ECMAScript 모듈 (ESM) 로더 API를 제공합니다.

Node.js 16 은 RPM 패키지로 쉽게 설치할 수 있는 이 애플리케이션 스트림의 초기 버전입니다. Node.js 16 은 RHEL 9보다 라이프사이클이 짧습니다. 자세한 내용은 Red Hat Enterprise Linux Application Streams 라이프 사이클 문서를 참조하십시오. 추가 Node.js 버전은 RHEL 9의 향후 마이너 릴리스에서 라이프사이클이 짧은 모듈로 제공됩니다.

(BZ#1953491)

RHEL 9에서는 Ruby 3.0을 제공합니다.

RHEL 9는 Ruby 2.7 에 비해 여러 성능 향상, 버그 및 보안 수정, 새로운 기능을 제공하는 Ruby 3.0.3 과 함께 배포됩니다.

주요 개선 사항은 다음과 같습니다.

  • 동시성 및 병렬 기능:

    • 스레드 안전한 병렬 실행을 제공하는 actor-model 추상화는 실험적인 기능으로 제공됩니다.
    • 파이버 스케줄러 는 실험적인 기능으로 도입되었습니다. 파이버 스케줄러 는 기존 코드를 변경하지 않고 경량의 동시성을 활성화하는 차단 작업을 차단합니다.
  • 정적 분석 기능:

    • Ruby 프로그램의 구조를 설명하는 RBS 언어가 도입되었습니다. RBS 에서 작성된 유형 정의를 구문 분석하기 위해rbs gem이 추가되었습니다.
    • Ruby 코드의 유형 분석 툴인 TypeProf 유틸리티가 도입되었습니다.
  • 케이스/인 표현식과 패턴 일치는 더 이상 실험적이지 않습니다.
  • 실험적 기능인 한 줄 패턴 일치는 재설계되었습니다.
  • 패턴 찾기가 실험적 기능으로 추가되었습니다.

다음과 같은 성능 개선이 구현되었습니다.

  • 긴 코드를 Interactive Ruby Shell(IRB) 에 붙여넣는 것이 훨씬 빨라졌습니다.
  • 시간 측정을 위해 measure 명령이 records B 에 추가되었습니다.

기타 주요 변경 사항은 다음과 같습니다.

  • 이제 키워드 인수가 다른 인수와 분리되어 있습니다.
  • 사용자가 설치한 gems의 기본 디렉터리는 $HOME/.local/share/gem/ 입니다. $HOME/.gem/ 디렉토리는 $HOME/.gem/ 디렉토리에 이미 있는 경우가 아니면 $HOME/.local/share/gem/입니다.

Ruby 3.0 은 RPM 패키지로 쉽게 설치할 수 있는 이 Application Stream의 초기 버전입니다. 추가 Ruby 버전은 RHEL 9의 향후 마이너 릴리스에서 라이프사이클이 짧은 모듈로 제공됩니다.

(JIRA:RHELPLAN-80758)

RHEL 9에는 Perl 5.32도입

RHEL 9에는 버전 5.30에 비해 여러 버그 수정 및 개선 사항을 제공하는 Perl 5.32 가 포함되어 있습니다.

주요 개선 사항은 다음과 같습니다.

  • Perl 은 이제 유니코드 버전 13.0을 지원합니다.
  • qr quote-like Operator가 향상되었습니다.
  • POSIX::mblen(), mbtowc, 및 wctomb 함수는 이제 시프트 주 로캘에서 작동하고 C99에서 스레드로부터 안전하며, 스레드가 스레드 스레드가 로캘이 있는 플랫폼에서 실행될 때 스레드로부터 안전합니다. 이제 길이 매개 변수는 선택 사항입니다.
  • 새로운 실험적 isa infix 연산자는 지정된 개체가 지정된 클래스의 인스턴스인지 또는 클래스에서 파생되는지를 테스트합니다.
  • 알파 주장은 더 이상 실험적이지 않습니다.
  • 스크립트 실행은 더 이상 실험적이지 않습니다.
  • 이제 기능 검사 속도가 빨라집니다.
  • Perl 은 이제 최적화 전에 컴파일된 패턴을 덤프할 수 있습니다.

Perl 5.32 는 RPM 패키지로 쉽게 설치할 수 있는 이 Application Stream의 초기 버전입니다. 추가 Perl 버전은 RHEL 9의 향후 마이너 릴리스에서 라이프사이클이 짧은 모듈로 제공됩니다.

(JIRA:RHELPLAN-80759)

RHEL 9에는 PHP 8.0포함

RHEL 9는 PHP 8.0 과 함께 배포되었으며 버전 7.4에 비해 여러 버그 수정 및 개선 사항을 제공합니다.

주요 개선 사항은 다음과 같습니다.

  • 새로운 명명된 인수는 순서가 독립적이고 자체 문서화되며 필수 매개변수만 지정할 수 있습니다.
  • 새로운 특성을 사용하면 PHP의 네이티브 구문에 구조화된 메타데이터를 사용할 수 있습니다.
  • 새로운 통합 유형을 사용하면 유형 조합에 대해 PHPDoc 주석 대신 런타임에서 검증된 네이티브 통합 유형 선언을 사용할 수 있습니다.
  • 이제 매개 변수 유효성 검사가 실패하는 경우 내부 함수가 경고 대신 오류 예외를 더 일관되게 발생시킵니다.
  • 새로운 Just-In-Time 컴파일 엔진은 애플리케이션 성능을 크게 향상시킵니다.
  • PHP의 Xdebug 디버깅 및 생산성 확장 기능이 버전 3으로 업데이트되었습니다. 이 버전에서는 Xdebug 2 에 비해 기능 및 구성의 주요 변경 사항이 추가되었습니다.

PHP 8.0 은 RPM 패키지로 쉽게 설치할 수 있는 이 Application Stream의 초기 버전입니다. 추가 PHP 버전은 RHEL 9의 향후 마이너 릴리스에서 라이프사이클이 짧은 모듈로 제공됩니다.

자세한 내용은 PHP 스크립팅 언어 사용을 참조하십시오.

(BZ#1949319)

RHEL 9에서는 Git 2.31Git LFS 2.13을 제공합니다.

RHEL 9는 RHEL 8에서 사용할 수 있는 버전 2.27에 비해 여러 개선사항 및 성능 향상을 제공하는 Git 2.31 과 함께 배포됩니다. 주요 변경 사항은 다음과 같습니다.

  • 이제 git status 명령에서 스파스 체크 아웃의 상태를 보고합니다.
  • 이제 git archive 명령과 함께 --add-file 옵션을 사용하여 트리-ish 식별자의 스냅샷에 추적되지 않은 파일을 포함할 수 있습니다.
  • clone.defaultremotename 구성 변수를 사용하여 소스 원격 리포지토리의 닉네임을 사용자 지정할 수 있습니다.
  • git format-patch 명령으로 생성된 출력 파일 이름의 최대 길이를 구성할 수 있습니다. 이전에는 길이 제한이 64바이트였습니다.
  • 더 이상 사용되지 않는 PCRE1 라이브러리 지원이 제거되었습니다.

또한 Git Large File Storage (LFS) 확장 버전 2.13을 사용할 수 있습니다. RHEL 8에서 배포된 2.11 버전에 비해 개선 사항은 다음과 같습니다.

  • Git LFS 는 이제 SHA-256 리포지토리를 지원합니다.
  • Git LFS 는 이제 socks5h 프로토콜을 지원합니다.
  • git lfs installgit lfs uninstall 명령에 새로운 --worktree 옵션을 사용할 수 있습니다.
  • git lfs migrate import 명령에 새로운 --above 매개변수를 사용할 수 있습니다.

(BZ#1956345, BZ#1952517)

RHEL 9의 Subversion 1.14

RHEL 9는 Subversion 1.14 와 함께 배포됩니다. Subversion 1.14 는 RPM 패키지로 쉽게 설치할 수 있는 이 Application Stream의 초기 버전입니다. 추가 Subversion 버전은 RHEL 9의 향후 마이너 릴리스에서 라이프사이클이 짧은 모듈로 제공됩니다.

(JIRA:RHELPLAN-82578)

Apache HTTP Server에서 주요 변경 사항

RHEL 9.0에서는 Apache HTTP Server 버전 2.4.51을 제공합니다. 버전 2.4.37에 대한 주요 변경 사항은 다음과 같습니다.

  • Apache HTTP Server Control Interface (apachectl):

    • 이제 apachectl 상태 출력에 대해 systemctl pager가 비활성화되어 있습니다.
    • 이제 추가 인수를 전달하면 경고를 제공하는 대신 apachectl 명령이 실패합니다.
    • 이제 apachectl normal-stop 명령이 즉시 반환됩니다.
    • 이제 apachectl configtest 명령은 SELinux 컨텍스트를 변경하지 않고 httpd -t 명령을 실행합니다.
    • RHEL의 apachectl(8) 도움말 페이지는 이제 업스트림 apachectl 과 완전히 다른 문서를 사용합니다.
  • Apache eXtenSion 툴(apxs):

    • /usr/bin/apxs 명령은 더 이상 httpd 패키지를 빌드할 때 컴파일러 최적화 플래그를 적용으로 사용하거나 노출하지 않습니다. 이제 /usr/lib64/httpd/build/vendor-apxs 명령을 사용하여 httpd 를 빌드하는 데 사용된 것과 동일한 컴파일러 플래그를 적용할 수 있습니다. vendor-apxs 명령을 사용하려면 먼저 redhat-rpm-config 패키지를 설치해야 합니다.
  • Apache 모듈:

    • mod_lua 모듈이 이제 별도의 패키지로 제공됩니다.
    • Apache HTTP Server의 새로운 mod_jk 커넥터는 Apache JServ Protocol(AJP)를 사용하여 웹 서버를 Apache Tomcat 및 기타 백엔드와 연결하는 모듈입니다.
    • 새로운 mod_proxy_cluster 모듈은 통신 채널을 사용하여 로드 밸런서의 요청을 애플리케이션 서버 노드 세트 중 하나로 전달하는 httpd 기반 로드 밸런서를 제공합니다. 애플리케이션 서버 노드는 이 연결을 사용하여 MCMP( Mod-Cluster Management Protocol)라는 사용자 지정 HTTP 방법 세트를 통해 서버 측 부하 분산 요인 및 라이프사이클 이벤트를 로드 밸런서로 다시 전송합니다. 이 추가 피드백 채널을 통해 mod_proxy_cluster 는 다른 로드 밸런싱 솔루션에서 찾을 수 없는 수준의 인텔리전스를 제공할 수 있습니다. 이 모듈을 사용하려면 백엔드 서버에 ModCluster 클라이언트를 설치해야 성공적으로 통신할 수 있습니다.
  • 구성 구문 변경 사항:

    • mod_access_compat 모듈에서 제공하는 더 이상 사용되지 않는 Allow 지시문에서 주석 (# 문자)이 이제 자동으로 무시되는 대신 구문 오류를 트리거합니다.
  • 기타 변경 사항:

    • 이제 커널 스레드 ID가 오류 로그 메시지에서 직접 사용되어 정확하고 간결하게 만듭니다.
    • 많은 사소한 개선 사항 및 버그 수정
    • 모듈 작성자는 다양한 새 인터페이스를 사용할 수 있습니다.

RHEL 8 이후 httpd 모듈 API에 대한 이전 버전과 호환되지 않는 변경 사항은 없습니다.

Apache HTTP Server 2.4는 RPM 패키지로 쉽게 설치할 수 있는 이 Application Stream의 초기 버전입니다.

자세한 내용은 Apache HTTP 웹 서버 설정을 참조하십시오.

(JIRA:RHELPLAN-68364, BZ#1931976, JIRA:RHELPLAN-80725)

RHEL 9에서 Nginx 1.20 사용 가능

RHEL 9에는 nginx 1.20 웹 및 프록시 서버가 포함되어 있습니다. 이번 릴리스에서는 버전 1.18에 비해 여러 버그 수정, 보안 수정, 새로운 기능 및 개선 사항이 포함되어 있습니다.

새로운 기능:

  • Nginx 는 이제 OCSP(Online Certificate Status Protocol)를 사용하여 클라이언트 SSL 인증서 검증을 지원합니다.
  • 이제 Nginx는 최소 사용 가능한 공간에 따라 캐시 정리를 지원합니다. 이 지원은 proxy_cache_path 지시문의 min_free 매개변수로 구현됩니다.
  • 변수의 값을 설정할 수 있는 새로운 ngx_stream_set_module 모듈이 추가되었습니다.
  • nginx 용으로 외부 동적 모듈을 빌드하기 위한 RPM 매크로 및 nginx 소스 코드를 포함하여 필요한 모든 파일을 제공하는 새로운 nginx-mod-devel 패키지가 추가되었습니다.

향상된 지시문:

  • 이제 ssl_conf_commandssl_reject_handshake 와 같은 여러 새 지시문을 사용할 수 있습니다.
  • proxy_cookie_flags 지시문은 이제 변수를 지원합니다.

HTTP/2 지원 개선:

  • 이제 ngx_http_v2 모듈에 lingering_close,lingering_time,lingering_timeout 지시문이 포함됩니다.
  • HTTP/2의 연결 처리가 HTTP/1.x와 일치합니다. nginx 1.20 에서 제거된 http2_recv_timeout,http2_idle_timeout, http2_max_requests 지시문 대신 keepalive_timeoutkeepalive_requests 지시문을 사용합니다.

Nginx 1.20 은 RPM 패키지로 쉽게 설치할 수 있는 이 Application Stream의 초기 버전입니다. 추가 nginx 버전은 RHEL 9의 향후 마이너 릴리스에서 라이프사이클이 짧은 모듈로 제공됩니다.

자세한 내용은talPod Autoscaler 설정 및 구성을 참조하십시오.

(BZ#1953639, BZ#1991720)

RHEL 9의 Varnish Cache 6.6

RHEL 9에는 고성능 HTTP 역방향 프록시인 Varnish Cache 6.6 이 포함되어 있습니다.

6.0 버전부터 주요 변경 사항은 다음과 같습니다.

  • varnishlog와 같은 로그 처리 툴의 성능 향상
  • 통계 정확도 개선
  • 캐시 조회의 여러 최적화
  • 다양한 구성 변경
  • 다양한 개선 사항 및 버그 수정

Varnish Cache 6 는 RPM 패키지로 쉽게 설치할 수 있는 이 애플리케이션 스트림의 초기 버전입니다.

(BZ#1984185)

RHEL 9 소개 Squid 5

RHEL 9는 웹 클라이언트를 위한 고성능 프록시 캐싱 서버인 Squid 5.2 와 함께 배포되어 FTP, Gopher 및 HTTP 데이터 오브젝트를 지원합니다. 이 릴리스에서는 버전 4에 대한 여러 버그 수정, 보안 수정, 새로운 기능 및 향상된 기능을 제공합니다.

새로운 기능:

  • Squid 는 Happyballballs (HE) 알고리즘을 사용하여 책임을 향상시킵니다.

    • Squid 는 이제 즉시 수신된 IP 주소를 사용합니다. 전달을 요청하려면 모든 잠재적인 전달 대상이 완전히 해결되기를 기다리는 대신 필요합니다.
    • 새로운 지시문을 사용할 수 있습니다. happy_eyeballs_connect_gap,happy_eyeballs_connect_limit, happy_eyeballs_connect_timeout 지시문.
    • dns_v4_first 지시문이 제거되었습니다.
  • 이제 squid 에서 CDN(Content Delivery Networks)의 루프 탐지용 소스로 CDN-Loop 헤더를 사용합니다.
  • squid 는 SSL 충돌에 대한 피어링 지원을 제공합니다.
  • 새로운 ICAP(Internet Content Adaptation Protocol) 추적 기능을 사용할 수 있으므로 ICAP 에이전트가 메시지 본문 후에 메시지를 안정적으로 보낼 수 있습니다.

설정 옵션 변경 사항:

  • mark_client_packet 설정 옵션이 clientside_mark 를 대체했습니다.
  • shared_transient_entries_limit 구성 옵션이 collapsed_forwarding_shared_entries_limit.

squid 5 는 RPM 패키지로 쉽게 설치할 수 있는 이 애플리케이션 스트림의 초기 버전입니다.

자세한 내용은 Squid 캐싱 프록시 서버 구성을 참조하십시오.

(BZ#1990517)

RHEL 9의 MariaDB 10.5

RHEL 9는 MariaDB 10.5 를 제공합니다. MariaDB 10.5 는 RPM 패키지로 쉽게 설치할 수 있는 이 애플리케이션 스트림의 초기 버전입니다. 추가 MariaDB 버전은 RHEL 9의 향후 마이너 릴리스에서 라이프사이클이 짧은 모듈로 제공됩니다.

자세한 내용은 MariaDB 사용을 참조하십시오.

(BZ#1971248)

RHEL 9에는 MySQL 8.0이 포함되어 있습니다.

RHEL 9는 MySQL 8.0 과 함께 배포됩니다. MySQL 8.0 은 RPM 패키지로 쉽게 설치할 수 있는 이 Application Stream의 초기 버전입니다. MySQL 8.0 의 라이프 사이클은 RHEL 9보다 짧습니다. 자세한 내용은 Red Hat Enterprise Linux Application Streams 라이프 사이클 문서를 참조하십시오.

사용법에 대한 자세한 내용은 MySQL 사용을 참조하십시오.

(JIRA:RHELPLAN-78673)

RHEL 9에서는 PostgreSQL 13을 제공합니다.

PostgreSQL 13 은 RHEL 9에서 사용할 수 있습니다. PostgreSQL 13 은 RPM 패키지로 쉽게 설치할 수 있는 이 Application Stream의 초기 버전입니다. 추가 PostgreSQL 버전은 RHEL 9의 향후 마이너 릴리스에서 라이프사이클이 짧은 모듈로 제공됩니다.

자세한 내용은 PostgreSQL 사용을 참조하십시오.

(JIRA:RHELPLAN-78675)

RHEL 9의 Redis 6.2

RHEL 9는 RHEL 8에서 사용할 수 있는 버전 6.0에 비해 다양한 버그 및 보안 수정 및 개선 사항을 제공하는 Redis 6.2 와 함께 배포됩니다.

특히 Redis 서버 구성 파일은 이제 전용 디렉터리 /etc/redis/redis.conf/etc/redis/sentinel.conf 에 있습니다. RHEL 8 버전에서 이러한 파일의 위치는 각각 /etc/redis.conf/etc/redis-sentinel.conf 입니다.

Redis 6 은 RPM 패키지로 쉽게 설치할 수 있는 이 Application Stream의 초기 버전입니다.

(BZ#1959756)

새로운 패키지: perl-Module-Signature

RHEL 9에는 perl-Module-Signature Perl 모듈이 도입되었습니다. 이 새로운 모듈을 사용하면 cpan 에 대한 서명 검사를 활성화하여 CVE-2020-16156을 완화할 수 있습니다. 자세한 내용은 perl-App-cpanminus 및 CVE-2020-16156에서 CVE-2020-16154를 완화하는 방법을 참조하십시오.

(BZ#2039361)

Red Hat logoGithubRedditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

Red Hat을 사용하는 고객은 신뢰할 수 있는 콘텐츠가 포함된 제품과 서비스를 통해 혁신하고 목표를 달성할 수 있습니다.

보다 포괄적 수용을 위한 오픈 소스 용어 교체

Red Hat은 코드, 문서, 웹 속성에서 문제가 있는 언어를 교체하기 위해 최선을 다하고 있습니다. 자세한 내용은 다음을 참조하세요.Red Hat 블로그.

Red Hat 소개

Red Hat은 기업이 핵심 데이터 센터에서 네트워크 에지에 이르기까지 플랫폼과 환경 전반에서 더 쉽게 작업할 수 있도록 강화된 솔루션을 제공합니다.

© 2024 Red Hat, Inc.