Redis는 클라이언트의 연결 수를 제한하는 기능을 제공합니다. 이를 통해 Redis 서버가 과도한 연결로 인해 리소스가 소모되는 것을 방지할 수 있습니다. 기본적으로 Redis는 클라이언트 연결 수에 대한 제한을 설정하지 않지만, 몇 가지 방법으로 이를 조정할 수 있습니다:

  1. maxclients 설정: Redis의 설정 파일(redis.conf)에서 maxclients 옵션을 사용하여 허용할 최대 클라이언트 연결 수를 설정할 수 있습니다. 예를 들어, maxclients 10000이라고 설정하면 최대 10,000개의 클라이언트가 동시에 연결될 수 있습니다. 이 값은 Redis 서버의 메모리와 시스템의 자원에 따라 조정해야 합니다.
  2.  
    maxclients 10000
  3. 운영 체제의 파일 핸들 제한: Redis는 운영 체제의 파일 핸들 수에 따라 제한을 받을 수 있습니다. Redis는 각 클라이언트 연결을 파일 핸들로 처리하므로, 운영 체제에서 허용하는 파일 핸들의 수에 따라 Redis의 최대 연결 수가 제한될 수 있습니다. 이를 조정하려면 운영 체제의 설정을 변경해야 합니다. 예를 들어, Linux에서는 ulimit 명령어를 사용하여 파일 핸들 수를 조정할 수 있습니다.
  4.  
    ulimit -n 10000
  5. 클라이언트 연결 수의 모니터링: Redis 서버의 연결 상태를 모니터링하는 것도 중요합니다. INFO clients 명령어를 사용하여 현재 연결된 클라이언트의 수를 확인할 수 있습니다.
  6.  
    INFO clients
  7. client-output-buffer-limit 설정: Redis는 클라이언트의 출력 버퍼가 너무 커지는 것을 방지하기 위해 client-output-buffer-limit 설정을 제공합니다. 이 설정은 클라이언트가 보내는 데이터의 크기를 제한하여 서버가 과도한 메모리를 소비하지 않도록 합니다.
  8.  
    client-output-buffer-limit pubsub 33554432 8388608 60

Redis 서버의 연결 제한을 적절히 설정하면 성능을 안정적으로 유지할 수 있으며, 시스템 자원을 효율적으로 관리할 수 있습니다.

Linux에서 C# 프로젝트를 설정하고 빌드하는 과정은 다음과 같습니다. 이 과정에서는 .NET Core 또는 .NET 5/6/7 SDK를 사용하여 C# 프로젝트를 설정하고 빌드합니다. 이 가이드는 Ubuntu 시스템을 기준으로 작성되었습니다.

1. .NET SDK 설치

패키지 목록 업데이트 및 필수 패키지 설치
sudo apt update
sudo apt install -y wget apt-transport-https software-properties-common
wget https://packages.microsoft.com/keys/microsoft.asc
sudo apt-key add microsoft.asc
sudo sh -c 'echo "deb [arch=amd64] https://packages.microsoft.com/ubuntu/20.04/prod focal main" > /etc/apt/sources.list.d/dotnetdev.list'

.NET SDK 설치
sudo apt update
sudo apt install -y dotnet-sdk-7.0

설치 확인
dotnet --version

2. C# 프로젝트 생성
dotnet new console -o MyConsoleApp
이 명령어는 MyConsoleApp이라는 새 폴더를 생성하고 그 안에 C# 콘솔 애플리케이션 프로젝트를 생성합니다.
dotnet new console -o mdiwebrowser


프로젝트 디렉토리로 이동

프로젝트 빌드 및 실행

프로젝트 빌드
dotnet build


1. Systehttp://m.Data.SQLite 라이브러리 추가
2. Newtonsoft.Json 라이브러리 추가
3. ServiceStack.Redis 라이브러리 추가

1. Systehttp://m.Data.SQLite 라이브러리 추가
dotnet add package Systehttp://m.Data.SQLite
2. Newtonsoft.Json 라이브러리 추가
dotnet add package Newtonsoft.Json
3. ServiceStack.Redis 라이브러리 추가
dotnet add package ServiceStack.Redis

프로젝트 실행
dotnet run

1. 특정 폴더 일괄 지우기(특정 폴더)

find . -name "test" -type d -exec rm -rf {} \;
or
find . -name "test*" -type d | xargs rm -rf

하위까지(APM),ㅡㅡㅡㅡㅡ
find ./ -name "obj" -type d | xargs rm -rf
find ./ -name "obj" -type d | xargs rm -rf
find ./ -name "obj" -type d | xargs rm -rf

2. 특정 파일 일괄 지우기

find . -name "test" -type f -exec rm -rf {} \;
or
find . -name "*test*" -type f | xargs rm -rf

한글꺠짐.언어설정) SAMSUNG.NOTE

한글안꺠짐.언어설정) DELL

sinfo@sinfo:/data/exture_3_0/20221026$ locale
LANG=en_US.UTF-8
LANGUAGE=
LC_CTYPE="en_US.UTF-8"
LC_NUMERIC="en_US.UTF-8"
LC_TIME="en_US.UTF-8"
LC_COLLATE="en_US.UTF-8"
LC_MONETARY="en_US.UTF-8"
LC_MESSAGES="en_US.UTF-8"
LC_PAPER="en_US.UTF-8"
LC_NAME="en_US.UTF-8"
LC_ADDRESS="en_US.UTF-8"
LC_TELEPHONE="en_US.UTF-8"
LC_MEASUREMENT="en_US.UTF-8"
LC_IDENTIFICATION="en_US.UTF-8"
LC_ALL=
sinfo@sinfo:/data/exture_3_0/20221026$

ftp 설치

>apt-get install vsftpd
>vim /etc/vsftpd.conf

chroot_list_enable=YES
chroot_list_file=/etc/vsftpd.chroot_list
allow_writeable_chroot=YES
write enable=YES

vsftpd.chroot_list 파일에 있는 “특정 사용자”에 대해서만 접근을 할 수 있도록 해주는 내용입니다.
해당 파일은 없기 때문에 파일을 생성해 원하시는 계정명을 1줄씩 입력하시면 됩니다.


service vsftpd restart
ufw allow 21/tcp

> Ubuntu 20.04 환경에서 Telnet을 설치하는 방법

$apt-get install xinetd telnetd
$vi /etc/xinetd.d/telnet

service telnet
{
disable = no
flags = REUSE
socket_type = stream
wait = no
user = root
server = /usr/sbin/in.telnetd
log_on_failure += USERID
}

$ sudo systemctl restart xinetd
$ sudo systemctl enable xinetd
$ sudo ufw allow 23/tcp



>>1.
Ubuntu의 파일 시스템은 Linux 운영 체제에서 사용되는 파일 및 디렉토리 구조를 나타냅니다. Ubuntu는 일반적으로 ext4 파일 시스템을 사용하지만 다른 파일 시스템도 선택할 수 있습니다. 여기에는 주요 디렉토리와 파일 시스템의 일반적인 구성 요소가 포함됩니다:

/ (루트 디렉토리): 모든 파일 시스템의 시작점입니다. 모든 파일 및 디렉토리는 여기에 포함됩니다.
/bin: 바이너리 실행 파일이 저장되는 디렉토리입니다. 일반적으로 시스템 부팅시 필요한 핵심 명령어가 여기에 있습니다.
/boot: 부트로더 및 커널 이미지 파일이 저장되는 디렉토리입니다.
/dev: 장치 파일이 위치하는 디렉토리입니다. 시스템에서 사용되는 각종 하드웨어 및 장치들이 여기에 포함됩니다.
/etc: 시스템 구성 파일이 저장되는 디렉토리입니다. 네트워크, 소프트웨어 설정 등이 여기에 있습니다.
/home: 사용자 홈 디렉토리가 있는 곳입니다. 각 사용자의 개인 파일과 설정이 이 디렉토리에 저장됩니다.
/lib: 라이브러리 파일이 위치하는 디렉토리입니다. 실행 파일에서 라이브러리를 참조할 때 사용됩니다.
/media: 외부 매체(USB 드라이브, CD-ROM 등)를 마운트하는 디렉토리입니다.
/mnt: 일시적으로 파일 시스템을 마운트하는 디렉토리입니다.
/opt: 선택적 응용 프로그램이 설치되는 디렉토리입니다.
/proc: 시스템 프로세스 정보가 포함된 가상 파일 시스템입니다.
/root: 시스템 관리자(root)의 홈 디렉토리입니다.
/sbin: 시스템 관리용 바이너리가 저장되는 디렉토리입니다. 주로 시스템 관리 작업에 사용됩니다.
/srv: 서비스 관련 데이터가 저장되는 디렉토리입니다.
/sys: 시스템 관련 정보가 포함된 가상 파일 시스템입니다.
/tmp: 임시 파일이 저장되는 디렉토리입니다. 일반적으로 시스템 재부팅시 삭제됩니다.
/usr: 시스템 사용자용 응용 프로그램 및 데이터가 있는 디렉토리입니다.
/var: 변수 데이터가 있는 디렉토리입니다. 주로 로그 파일, 프로세스 파일 등이 여기에 저장됩니다.
이러한 디렉토리 및 파일 시스템 구조는 Ubuntu 및 기타 Linux 배포판에서 일반적으로 사용됩니다.



>> 2.
900기가 가준 ubuntu file system 적정용량

900GB의 저장 공간을 가진 시스템에서 Ubuntu를 설치할 때 적절한 파일 시스템 용량은 여러 요소에 따라 달라집니다. 일반적으로 다음을 고려할 수 있습니다:
루트 파일 시스템 (/): 운영 체제와 시스템 소프트웨어를 포함하는 곳입니다. 일반적으로 20GB에서 50GB 정도의 공간을 할당하는 것이 권장됩니다.
홈 디렉토리 (/home): 사용자 파일과 데이터가 저장되는 곳입니다. 여기에 할당되는 공간은 사용자의 파일 크기와 데이터 관리 요구 사항에 따라 달라집니다. 일반적으로 사용자당 몇 십 기가바이트에서 수백 기가바이트의 공간을 고려할 수 있습니다.
기타 디렉토리 및 파티션: 시스템에 따라 추가적인 디렉토리나 파티션이 필요할 수 있습니다. 예를 들어, 데이터베이스 서버, 웹 서버, 파일 서버 등의 특정 응용 프로그램을 실행하는 경우 해당 데이터가 저장될 디렉토리나 파티션에 대한 공간을 고려해야 합니다.
900GB의 저장 공간을 가진 시스템에서는 다음과 같은 공간 할당을 고려할 수 있습니다:

루트 파일 시스템 (/): 50GB
홈 디렉토리 (/home): 나머지 공간 (약 850GB)
이렇게 할당된 공간을 기준으로 시스템을 설치하면 운영 체제 및 사용자 데이터를 관리하는 데 충분한 여유 공간을 확보할 수 있습니다. 필요에 따라 이러한 용량을 조정하거나 추가 디렉토리를 생성하여 사용할 수 있습니다.

>> 3.
900GB의 용량을 위한 파일 시스템 용량 배분의 경우, 각 디렉토리의 예상 사용량과 시스템 요구 사항을 고려하여 적정한 용량을 할당할 수 있습니다. 다음은 일반적인 용량 할당 예시입니다:

/ (루트 디렉토리): 50GB
/bin: 5GB
/boot: 10GB
/dev: 5GB
/etc: 10GB
/home: 200GB (사용자 파일 및 설정에 대한 공간)
/lib: 5GB
/media: 10GB
/mnt: 10GB
/opt: 20GB
/proc: 1GB
/root: 10GB
/sbin: 5GB
/srv: 20GB
/sys: 1GB
/tmp: 20GB
/usr: 200GB (시스템 응용 프로그램 및 데이터)
/var: 200GB (로그 및 변수 데이터)
이렇게 할당된 용량은 다양한 디렉토리 및 시스템 요구 사항을 고려하여 조정될 수 있습니다. 특히, 사용자 파일 저장 공간 (/home) 및 시스템 로그 및 데이터 저장 공간 (/var)의 할당은 실제 사용량 및 시스템 용도에 따라 조정될 수 있습니다.




 

root 패스워드 설정하기

>sudo passwd root
>비번입력
>비번입력.확인

+ Recent posts