CentOS에서 Tomcat7을 데몬으로 실행하는 방법

CentOS에서 Tomcat7을 데몬으로 실행하는 방법

Tomcat에 SSL을 구현하려고 합니다 CentOS 6.7. 이것은 진드기 중첩 문제가 아니며 다른 게시물에서 언급한 것처럼 SELinux에도 적용되지 않습니다. 적어도 저는 그렇지 않다고 생각합니다.

파일 server.xml에는 다음 항목이 있습니다.

<Connector protocol="org.apache.coyote.http11.Http11NioProtocol"
               port="443" SSLEnabled="true"
               maxThreads="150" scheme="https" secure="true"
               clientAuth="false" sslProtocol="TLS"
               keystoreFile="/usr/share/tomcat/.keystore" keystorePass="password-omitted-for-security"  />

비밀번호가 정확하며 keytool을 사용하여 확인됩니다.

Tomcat에는 다음 파일도 있습니다.

-rwxrwxrwx.   1 tomcat tomcat 7192 Sep  2  2014 .keystore

다음의 원인은 무엇입니까 catalina.out?

    SEVERE: Failed to initialize end point associated with ProtocolHandler ["http-nio-443"]
    java.net.SocketException: Permission denied
        at sun.nio.ch.Net.bind0(Native Method)
        at sun.nio.ch.Net.bind(Net.java:437)
        at sun.nio.ch.Net.bind(Net.java:429)
        at sun.nio.ch.ServerSocketChannelImpl.bind(ServerSocketChannelImpl.java:223)
        at sun.nio.ch.ServerSocketAdaptor.bind(ServerSocketAdaptor.java:74)
        at org.apache.tomcat.util.net.NioEndpoint.bind(NioEndpoint.java:475)
        at org.apache.tomcat.util.net.AbstractEndpoint.init(AbstractEndpoint.java:651)
        at org.apache.coyote.AbstractProtocol.init(AbstractProtocol.java:434)
        at org.apache.coyote.http11.AbstractHttp11JsseProtocol.init(AbstractHttp11JsseProtocol.java:119)
        at org.apache.catalina.connector.Connector.initInternal(Connector.java:978)
        at org.apache.catalina.util.LifecycleBase.init(LifecycleBase.java:102)
        at org.apache.catalina.core.StandardService.initInternal(StandardService.java:559)
        at org.apache.catalina.util.LifecycleBase.init(LifecycleBase.java:102)
        at org.apache.catalina.core.StandardServer.initInternal(StandardServer.java:821)
        at org.apache.catalina.util.LifecycleBase.init(LifecycleBase.java:102)
        at org.apache.catalina.startup.Catalina.load(Catalina.java:638)
        at org.apache.catalina.startup.Catalina.load(Catalina.java:663)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:497)
        at org.apache.catalina.startup.Bootstrap.load(Bootstrap.java:253)
        at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:427)

모든아파치, Tomcat7은 데몬 프로세스로 실행되어야 합니다. 그러나 해당 지시어에는 자체 예외가 발생합니다.

-bash: ./bin/jsvc: No such file or directory

그래서 그들은 클라이언트가 다른 vm을 사용하는 경우 vm을 지정해야 할 수도 있다고 언급했습니다.

echo $JAVA_HOME
/usr/java/jdk1.7.0_79

Tomcat7은 다음을 사용합니다.

/usr/java/jre1.8.0_51

따라서 $CATALINA_HOME에서는 다음을 사용합니다.

./bin/jsvc \ -classpath $CATALINA_HOME/bin/bootstrap.jar:$CATALINA_HOME/bin/tomcat-juli.jar \ 
    -outfile $CATALINA_BASE/logs/catalina.out \ -errfile $CATALINA_BASE/logs/catalina.err \ -Dcatalina.home=$CATALINA_HOME \ 
    -Dcatalina.base=$CATALINA_BASE \ 
    -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager \ 
    -Djava.util.logging.config.file=$CATALINA_BASE/conf/logging.properties \ 
    -jvm /usr/java/jre1.8.0_51 \ 
    org.apache.catalina.startup.Bootstrap

결과는 동일합니다.

-bash: ./bin/jsvc: No such file or directory

조언해주세요

관련 정보