상세 컨텐츠

본문 제목

[ASP.NET Core] 리눅스(CentOS 7) 설치및 구동

.NET/ASP.NET

by 클리엘 클리엘 2020. 11. 17. 18:30

본문

728x90
1. CentOS 준비

- Hyper-V에 설치

- ssh 및 기본적인 네트워크 설정을 마침 (테스트에 사용된 CentOS의 IP는 192.168.0.10으로 맞춰둠)


2. CentOS에 FTP설정

FTP와 ASP.NET Core와는 아무런 관련이 없습니다. 다만 ASP.NET Core프로젝트 파일을 위에서 만들어둔 CentOS 쪽으로 넘겨주기 위해서 FTP를 미리 설정해 둡니다.

아래 설정은 root가 FTP에 접근이 가능하며 최상위 루트 디렉터리를 포함한 모든 디렉터리에 접근할 수 있도록 하는 것입니다.

 

FTP를 설치합니다.

- yum -y install vsftpd

 

FTP를 설정합니다.

anonymous_enable=NOchroot_local_user=YESchroot_list_enable=YESchroot_list_file=/etc/vsftpd/chroot_listlisten=YESlisten_ipv6=NO

- yum -y /etc/vsftpd/vsftpd.conf

 

FTP 사용 가능한 사용자(root)를 추가합니다.

- vi /etc/vsftpd/chroot_list

 

아래 파일에서 root를 제거합니다.

- vi /etc/vsftpd/ftpusers

- vi /etc/vsftpd/user_list

 

방화벽에 FTP와 포트를 추가합니다.

- firewall-cmd --permanent --add-service=ftp

- firewall-cmd --permanent --add-port=21/tcp

- firewall-cmd --reload

 

아래 파일을 다음 내용으로 수정합니다.

SELINUX=disabled

- vi /etc/selinux/config

 

FTP를 재시작합니다.

- systemctl enable vsftpd

- systemctl restart vsftpd

 

하위 디렉터리가 표시되지 않으면 그냥 서버 재부팅(왜???)


3. .NET Core Runtime 설치

Microsoft package repository 추가

- rpm -Uvh https://packages.microsoft.com/config/centos/7/packages-microsoft-prod.rpm

 

Runtime 설치 (버전에 맞게 설치함에 주의)

- yum install aspnetcore-runtime-3.1


4. Apache 설치

yum 패키지 업데이트

- yum update

 

Apache와 mod_ssl 설치

- yum -y install httpd mod_ssl


5. FTP를 통해 웹 배포 업로드

- ASP.NET Core 프로젝트를 publish로 Framework의존성으로 배포

- 배포 결과물을 /var/www/html/{프로젝트명} 으로 업로드

- dotnet {프로젝트명}.dll 명령으로 동작확인


6. 다음 단계로 Apache구성

아래 경로에 {프로젝트}.conf 파일 생성

- /etc/httpd/conf.d

 

아래 파일에서 주석 처리된 'ServerName'을 주석 해제하고 'ServerName localhost'로 수정

- vi /etc/httpd/conf/httpd.conf

 

생성된 파일에 다음 내용 추가

<VirtualHost *:*>
	RequestHeader set "X-Forwarded-Proto" expr=%{REQUEST_SCHEME}e
</VirtualHost>

<VirtualHost *:80>
	ProxyPreserveHost On
    ProxyPass / http://127.0.0.1:5000/
    ProxyPassReverse / http://127.0.0.1:5000/
    ServerName {IP}
    ServerAlias {IP}
    ServerAdmin root@localhost
    DocumentRoot /var/www/html/{프로젝트명}
    ErrorLog logs/{프로젝트명}-error.log
    CustomLog logs/{프로젝트명}-access.log common
</VirtualHost>

설정 확인 (Syntax OK면 성공)

- service httpd configtest


7. 서비스 구동

Apache 구동

- systemctl enable httpd

- systemctl restart httpd

 

웹서비스 포트의 방화벽 해제

- firewall-cmd --permanent --add-port=80/tcp

- firewall-cmd --reload

 

/var/www/html/{프로젝트명} 위치에서 웹서비스 구동

- dotnet {프로젝트}.dll

 

웹브라우저에서 서버 접속

728x90

'.NET > ASP.NET' 카테고리의 다른 글

[ASP.NET Core] 리눅스(CentOS 7) 설치및 구동  (0) 2020.11.17
Request.Url 정리  (0) 2019.10.02

태그

관련글 더보기

댓글 영역