Sunuer

Sunuer Manage Sunuer Easy 주변
환경 배포

준비 작업

1.NET SDK >= 8.0  다운로드 주소:https://dotnet.microsoft.com/zh-cn/download

2.Visual Studio2022  다운로드 주소:https://visualstudio.microsoft.com/

3.SQL Server >= 2019   다운로드 주소:https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads

4.SQL Server Management Studio 다운로드 주소:https://learn.microsoft.com/zh-cn/sql/ssms/

필수 설정

루트 디렉터리 내 appsettings.json 파일에서

"ConnectionStrings": {
  "DefaultConnection": "Server=nhdSQLEXPRESS;Database=SunuerManage;User Id=sa;Password=123456;MultipleActiveResultSets=true;TrustServerCertificate=True;Max Pool Size=100;Min Pool Size=5;Pooling=true;"
},

Server=nhd/SQLEXPRESS: 연결하려는 데이터베이스 서버 및 인스턴스 이름 지정.

Database=SunuerManage: 연결할 기본 데이터베이스 이름 지정.

User Id=sa; Password=123456: SQL Server에 로그인하기 위한 인증 정보(계정명 및 비밀번호).

MultipleActiveResultSets=true: 동일한 데이터베이스 연결(세션)에서 여러 데이터 읽기 작업을 동시에 수행할 수 있도록 허용. 예: 한 쿼리가 데이터를 읽는 동안, 다른 쿼리를 동시에 실행 가능. 특히 Entity Framework 사용 시, 하나의 연결에서 반복적으로 데이터를 읽으면서 다른 작업을 수행하려면 이 옵션이 true여야 지원됨.

TrustServerCertificate=True: TLS/SSL 암호화 연결로 SQL Server에 접속할 때, 서버가 제공하는 인증서를 신뢰할지 여부 설정. True로 설정하면 인증서가 신뢰할 수 있는 CA에 의해 서명되지 않았거나 다른 검증 문제가 있어도 연결을 강제로 신뢰하고 암호화 연결을 맺음. 보안 유의사항: 프로덕션 환경에서 자체 서명 인증서나 공식 신뢰 기관에 등록되지 않은 인증서를 사용하는 경우, 연결은 가능하지만 보안 위험이 있을 수 있으므로 실제 상황에 맞추어 신중히 구성해야 함.

Max Pool Size=100; Min Pool Size=5; Pooling=true: 데이터베이스 연결 풀(Connection Pool)의 동작을 제어함.

Pooling=true: 연결 풀 활성화. 애플리케이션에서 데이터베이스를 자주 액세스할 때 성능을 높이고, 매번 연결을 열고 닫는 오버헤드를 줄임.

Max Pool Size=100: 풀에 유지될 수 있는 유휴 연결의 최대 개수. 이 개수를 초과하면 새 연결 요청은 기존 연결이 해제되기를 기다리거나 설정에 따라 예외를 발생시킴.

Min Pool Size=5: 풀에서 유지될 최소 유휴 연결 수. 애플리케이션이 처음 DB에 연결할 때 5개의 연결을 미리 생성해 두어 이후 요청에 빠르게 대응할 수 있도록 함.


시스템 실행:

다운로드 및 압축 해제 후:

Data 폴더에서 SunuerManage.sql 파일을 찾아 SQL Server 데이터베이스에 복원합니다.

Visual Studio에서 SunuerManage.sln 파일을 열고 appsettings.json 구성 파일을 수정한 뒤 실행을 클릭합니다. 

다음과 같은 페이지가 표시됩니다:

브라우저에서 http://localhost:5021을 입력했을 때 정상적으로 페이지가 열리면, 설정이 성공적으로 완료된 것입니다.

백엔드 로그인 주소: http://localhost:5021/Manage/Login

계정: niqiu

비밀번호: 123456


시스템 배포

발행(Publish)

Visual Studio에서 프로젝트명을 오른쪽 클릭한 뒤 “발행”을 선택하여 필요한 배포 파일을 생성합니다.

서버에 배포

방법 A: Windows IIS에 배포

IIS 및 .NET 확장 설치

“서버 관리자”에서 “웹 서버(IIS)” 역할을 추가합니다.

“.NET Core Hosting Bundle / 확장”을 설치하여 IIS가 .NET 애플리케이션을 호스팅할 수 있도록 합니다.

웹사이트 생성

IIS 관리자에서 “사이트”를 오른쪽 클릭하고 “웹 사이트 추가”를 선택합니다. 물리 경로를 이전에 발행한 폴더(publish)로 설정합니다.

포트(기본값 80)나 도메인은 필요에 따라 설정할 수 있습니다.

응용 프로그램 풀 설정

새 응용 프로그램 풀을 만들거나 기존 풀을 선택합니다. .NET CLR 버전은 “No Managed Code” 또는 설치된 버전에 따라 설정하고, 파이프라인 모드는 “통합(Integrated)”으로 설정합니다.

“ID”가 발행 폴더와 데이터베이스에 접근 권한이 있는지 확인합니다(특히 Windows 인증을 사용하는 경우 주의해야 합니다).

접속 테스트

IIS를 실행한 뒤, 구성한 도메인이나 IP로 접근하여 Sunuer Manage가 정상적으로 동작하는지 확인합니다.

“500 오류”가 발생한다면, IIS 로그나 애플리케이션 이벤트 로그를 확인해 오류 원인을 찾습니다.


방법 B: Linux에 배포 (Nginx 역방향 프록시 사용)

.NET 런타임 설치

Ubuntu / CentOS / Debian 등 Linux 환경에 맞는 .NET SDK/Runtime을 설치합니다.

발행 파일 복사

publish 폴더를 서버(예: /var/www/sunuer 디렉터리)에 업로드합니다.

해당 디렉터리로 이동한 뒤 dotnet SunuerManage.dll(예시)을 실행하여 정상적으로 구동되는지 확인합니다.

Nginx 설정

/etc/nginx/sites-available/ 경로에 구성 파일(예: sunuer.conf)을 생성합니다. 예시:

 

server {
    listen 80;
    server_name your-domain.com;

    location / {
        proxy_pass         http://127.0.0.1:5000; 
        proxy_http_version 1.1;
        proxy_set_header   Upgrade $http_upgrade;
        proxy_set_header   Connection keep-alive;
        proxy_set_header   Host $host;
        proxy_cache_bypass $http_upgrade;
    }
}

애플리케이션이 요청을 수신하는 포트(기본값은 5000)로 요청을 전달합니다. 이 포트는 appsettings.json 또는 명령줄 매개변수를 통해 지정할 수 있습니다.