>source

봄 부팅 프로젝트는 로컬 이클립스에서 실행할 수 있으며 Windows 환경은 -jar을 사용합니다. 그러나 Linux 환경에서는 다음과 같이 응용 프로그램을 시작하지 못하게하는 몇 가지 문제가 있습니다. 그러나 프로세스는 항상 실행 중입니다.

Spring Version은 1.5.19이며, 이것은 여러 모듈 프로젝트이며 Linux 서버의 로그는 다음과 같습니다.

The web application [ROOT] appears to have started a thread named [CleanCursors-2-thread-1] but has failed to stop it. This is very likely to create a memory leak. Stack trace of thread:
***************************
APPLICATION FAILED TO START
***************************
Description:
The Tomcat connector configured to listen on port 28081 failed to start. The port may already be in use or the connector may be misconfigured.
Action:
Verify the connector's configuration, identify and stop any process that's listening on port 28081, or configure this application to listen on another port.


다른 프로세스가 포트를 점유하지 않았다고 확신합니다. 로컬 환경에서는 모든 것이 정상이라는 것을 혼란스럽게 만듭니다.

Pom.xml의 일부 코드

<dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
            <!--exclusions slf4j-log4j12-->
            <exclusions>
                <exclusion>
                    <groupId>org.slf4j</groupId>
                    <artifactId>slf4j-log4j12</artifactId>
                </exclusion>
            </exclusions>
        </dependency>
        <!-- Spring db template -->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-jdbc</artifactId>
        </dependency>
        <!-- Spring db template -->
        <!-- ${environments.${env}.sslPWD} related -->
        <dependency>
            <groupId>com.github.ulisesbocchio</groupId>
            <artifactId>jasypt-spring-boot-starter</artifactId>
            <version>1.18</version>
        </dependency>
        <!-- ${environments.${env}.sslPWD} related -->
        <!-- Spring boot security -->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-security</artifactId>
        </dependency>
        <!-- Spring boot security -->
        <!-- Monitor Spring boot app -->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-actuator</artifactId>
        </dependency>
        <!-- Monitor Spring boot app -->

리눅스 서버에 오류가 없습니다.

  • 답변 # 1

    오늘 같은 문제가 있었는데, 잊어 버린 하나의 스프링 부트 도커 컨테이너가 있는데 여전히 실행 중이며 Tomcat이 시작되는 포트를 차단하고 있습니다.

    터미널에서 다음 명령을 실행하십시오 :

    sudo ss -tulpn | grep LISTEN  

    또한 lsof를 설치하고 다음을 실행하십시오 : lsof -i :28081  프로세스가 포트에서 수신 대기 중인지 확인하십시오.

  • 답변 # 2

    내 질문에 대해 키 저장소 및 신뢰 저장소의 위치를 ​​잘못 설정 한 것을 발견했으며 Linux 서버에서 저장소를 찾을 수 없습니다. 올바른 위치로 변경하면 모든 것이 정상입니다. Application.properties

    server.ssl.key-store=/opt/PFTestServices/etc/SSL-keystore.jks
    server.ssl.trust-sotre=/opt/PFTestServices/etc/certs/SSLTrust.jks
    
    
    

    이 질문에 도움을 주셔서 감사합니다!

관련 자료

  • 이전 typescript - angular 7 - 동적 필드 추가 중 값 덮어 쓰기를 수정하는 방법은 무엇입니까?
  • 다음 python - 데이터 검색 모듈을 테스트하는 방법?