본문 바로가기
Linux

[빌링자동화] nginx + tomcat + postgresql 연동

by 도경다경 2023. 1. 16.
반응형

나는 frontend, backend 개발자가 아니다.

그런데 난 뭘하고 있는걸까...

 

DB 에 데이터 저장하고 공유하려면 일단 출력을 해야 하니까 연동부터 했다.

 

nginx, tomcat은 centos 7.0 os 이미지에 있는 설치 파일을 활용했다.

java는 역시 OS default 파일을 참고했다.

 

yun install -y nginx tomcat java*

postgresql은 다른 post에 적어놨으니 참고 바람

 

java 및 classpath 설정은 /etc/profile에 다음과 같이 설정

 

java 위치 먼저 확인

"readlink" 명령어로 추적해본다.

 

whereis java

readlink /usr/bin/java

readlink /etc/alternatives/java

이런식으로 추적해가면

/usr/lib/jvm/java-1.8.0~어쩌구/jre/bin/java 라는 경로가 보인다. 이게 현재 설정값

바꾸고 싶으면 /usr/lib/jvm 아래에 버전별 java 패스가 있으니 잡아 쓰면 된다.

 

이제 /etc/profile 설정 (개별 계정에 설정하려면 ~/.bash_profile 수정)

 

export JAVA_HOME=/usr/lib/jvm/java-1.8.0~어쩌구

export CLASSPATH=$JAVA_HOME/jre/lib/ext:$JAVA_HOME/lib/tools.jar

export CATALINA_HOME=/usr/share/tomcat

export PATH=$PATH:$JAVA_HOME/bin:$CATALINA_HOME/bin

 

 

nginx-tomcat 연동은 /etc/nginx/nginx.conf 파일 수정

 

server {

 

location / {

                        index               index.html               index.htm;

                        proxy_pass      http://localhost:8080

                }

}

 

 

systemctl restart nginx;

systemctl restart tomcat;

 

브라우저에서 http://[ip] 쳤을 때 tomcat 화면 나오면 연결 완료

 

postgresql 에 db 만들고 table 만들고 소유자 변경

(db, table 생성은 다른 포스트 참조)

 

postgres# psql -d billing; 

빌링 DB 접속해서 

select * from pgtables; 하면 테이블들 소유자가 보이는데 postgresql 이면 소유자 계정으로 변경

alter table os owner to [username];

 

 

tomcat default ROOT 경로가

/usr/share/tomcat/webapps/ROOT 일건데(centos 7 기본 경로라 별도 설치하면 다를것임)

여기 test.jsp 하나 만들어주고

(코드 카피가 안돼서 일일히 옮겨적으려니 개빡시네)

 

=========================================================================

 

<%@ page contentType="text/html;charset=utf-8" import="java.sql.*"%>

 

<html>

    <head><title> postgresql connection test </title></head>

    <body>

       <%

            Class.forName("org.postgresql.Driver");

            Connection conn=null;

            Statement stmt=null;

            ResultSet rs=null;

 

            try

            {

                  String url="jdbc:postgresql://localhost:5432/billing";

                  String usr="[id]";

                  String pwd="[password]";

 

                  conn=DriverManager.getConnection(url,usr,pwd);

                  stmt=conn.createStatement();

                  rs.stmt.executeQuery("select * from os");

 

                  rs.close();

                  stmt.close();

                  conn.close();

 

            }

            catch(Exception e)

            {

                  out.println(e.getMessage());

            }

       %>

    </body>

</html>

 

 

=========================================================================

 

브라우저에서 http://[ip] 쳤을 때 아무것도 안나오면 정상

 

반응형

댓글