쓰던글이 다 날라가서 이렇게 하게된 계기는 다 생략..ㅠㅠ


* 사용자 요구사항


위 요구사항(그림)을 프로시저로 처리하는 과정


-- 프로시저 호출할때 사용할 변수

DECLARE @OPTIONS VARCHAR(MAX)

SET @OPTIONS = 'O|id1|sub_title1|img_path1|cnt1|order1|O|id2|sub_title2|img_path2|cnt2|order2'



-- 프로시저 내에서 사용할 변수

DECLARE @SPLIT_TXT CHAR(1) = '|' (= 구분자)

DECLARE @POS INT

DECLARE @OPTION_OR_DETAIL CHAR(1)

DECLARE @OPTION_ID INT

DECLARE @OPTION_NAME VARCHAR(500)

DECLARE @OPTION_IMG_PATH VARCHAR(1000)

DECLARE @OPTION_CNT INT

DECLARE @OPTION_ORDER INT


BEGIN


  SET @OPTIONS = LTRIM(RTRIM(@OPTIONS)) + @SPLIT_TXT

 = "@OPTIONS" 뒤에 구분자 추가

  SET @POS = CHARINDEX(@SPLIT_TXT, @OPTIONS, N)

 = N번째 이후로 "@OPTIONS" 에서 "@SPLIT_TXT" 가 있는 위치 반환

 = JAVA 의 indexOf() 와 같은 기능


  IF REPLACE(@OPTIONS, @SPLIT_TXT, '') <> ''


    BEGIN

      /* LOOP */

      WHILE @POS > 0

        BEGIN

          SET @OPTION_OR_DETAIL = LTRIM(RTRIM(LEFT(@OPTIONS, @POS - 1)))

O|id1|sub_title1|img_path1|cnt1|order1

= JAVA 의 substring() 과 같은 기능


          SET @OPTIONS = RIGHT(@OPTIONS, LEN(@OPTIONS) - @POS)

= 앞에서 사용한 문자열 이후로 다시 셋

          SET @POS = CHARINDEX(@SPLIT_TXT, @OPTIONS, 1)

= N번째 이후로 "@OPTIONS" 에서 "@SPLIT_TXT" 가 있는 위치 반환

= JAVA 의 indexOf() 와 같은 기능


.....반복.....

          SET @OPTION_ID = LTRIM(RTRIM(LEFT(@OPTIONS, @POS - 1)))

O|id1|sub_title1|img_path1|cnt1|order1


          SET @OPTIONS = RIGHT(@OPTIONS, LEN(@OPTIONS) - @POS)

          SET @POS = CHARINDEX(@SPLIT_TXT, @OPTIONS, 1)


          SET @OPTION_NAME = LTRIM(RTRIM(LEFT(@OPTIONS, @POS - 1)))

O|id1|sub_title1|img_path1|cnt1|order1


          SET @OPTIONS = RIGHT(@OPTIONS, LEN(@OPTIONS) - @POS)

          SET @POS = CHARINDEX(@SPLIT_TXT, @OPTIONS, 1)


          SET @OPTION_IMG_PATH = LTRIM(RTRIM(LEFT(@OPTIONS, @POS - 1)))

= O|id1|sub_title1|img_path1|cnt1|order1


          SET @OPTIONS = RIGHT(@OPTIONS, LEN(@OPTIONS) - @POS)

          SET @POS = CHARINDEX(@SPLIT_TXT, @OPTIONS, 1)


          SET @OPTION_CNT = LTRIM(RTRIM(LEFT(@OPTIONS, @POS - 1)))

= O|id1|sub_title1|img_path1|cnt1|order1


          SET @OPTIONS = RIGHT(@OPTIONS, LEN(@OPTIONS) - @POS)

          SET @POS = CHARINDEX(@SPLIT_TXT, @OPTIONS, 1)


          SET @OPTION_ORDER = LTRIM(RTRIM(LEFT(@OPTIONS, @POS - 1)))

= O|id1|sub_title1|img_path1|cnt1|order1


          IF( @OPTION_ID = 0 )

            BEGIN            

              --INSERT 구문

              SET @OPTION_ID = SCOPE_IDENTITY()

 = Insert 실행 후 Key 값 리턴

            END

          ELSE

            BEGIN

              --업데이트 구문

            END


          SET @OPTIONS = RIGHT(@OPTIONS, LEN(@OPTIONS) - @POS)

          SET @POS = CHARINDEX(@SPLIT_TXT, @OPTIONS, 1)


        END -- IN OF WHILE

    END -- OUT OF WHILE


[COMMIT]




'Develope > DB' 카테고리의 다른 글

MSSQL 프로시저 생성 및 실행 - DELETE  (0) 2019.01.29
MSSQL 프로시저 생성 및 실행 - INSERT  (0) 2019.01.29
MSSQL 테이블 생성  (0) 2019.01.29

사전작업

 - 기존에 생성해둔 테스트 테이블로 진행함

 - https://carfediem-is.tistory.com/19


DELETE 프로시저 생성



   

CREATE PROCEDURE TEST_DELETE_PROC

@TYPE_ID      INT,

@RTN_CODE     INT = 0  OUTPUT,

@RTN_MSG     VARCHAR(300)  OUTPUT

AS    

SET NOCOUNT ON


BEGIN TRAN


DELETE

  FROM dbo.TB_TEST

WHERE TYPE_ID = @TYPE_ID


IF (@@ERROR <> 0) BEGIN GOTO ERRHANDLE END


GOTO OKHANDLE

---===================================

-- ERROR HANDLE AREA

---===================================

OKHANDLE:

SET @RTN_CODE = 0

SET @RTN_MSG = '정상 처리'

COMMIT TRAN

RETURN (0)


ERRHANDLE:

SET @RTN_CODE = 3

SET @RTN_MSG = '오류 발생'

ROLLBACK TRAN

RETURN (3)

;

 



실행



DECLARE @RTN_CODE int, @RTN_MSG VARCHAR(300)


EXEC TEST_DELETE_PROC 1, @RTN_CODE OUTPUT, @RTN_MSG OUTPUT


SELECT @RTN_CODE, @RTN_MSG




프로시저 실행 결과



DELETE 후 데이터 조회



사전작업

 - 기존에 생성해둔 테스트 테이블로 진행함

 - https://carfediem-is.tistory.com/19


INSERT 프로시저 생성



CREATE PROCEDURE TEST_INSERT_PROC

@TYPE_NAME      VARCHAR(100),

@RTN_CODE     INT = 0  OUTPUT,

@RTN_MSG     VARCHAR(300)  OUTPUT

AS

SET NOCOUNT ON


BEGIN TRAN


INSERT INTO dbo.TB_TEST (TYPE_NAME)

VALUES (@TYPE_NAME)


IF (@@ERROR <> 0) BEGIN GOTO ERRHANDLE END


GOTO OKHANDLE

---===================================

-- ERROR HANDLE AREA

---===================================

OKHANDLE:

SET @RTN_CODE = 0

SET @RTN_MSG = '정상처리'

COMMIT TRAN

RETURN (0)


ERRHANDLE:

SET @RTN_CODE = 3

SET @RTN_MSG = '오류 발생'

ROLLBACK TRAN

RETURN (1)





실행



DECLARE @RTN_CODE int, @RTN_MSG VARCHAR(300)


EXEC TEST_INSERT_PROC 'INSERT 테스트', @RTN_CODE OUTPUT, @RTN_MSG OUTPUT


SELECT @RTN_CODE, @RTN_MSG




프로시저 실행 결과



INSERT 후 데이터 조회



생성



CREATE TABLE dbo.TB_TEST (

    TYPE_ID    INT IDENTITY(1,1) NOT NULL, 

    TYPE_NAME     VARCHAR(100)

 CONSTRAINT PK_TB_TEST 

   PRIMARY KEY CLUSTERED (TYPE_ID ASC) ON [PRIMARY]

) ON [PRIMARY]

 


결과 : 

명령이 성공적으로 실행되었습니다.



아주 간단한 예제 소스를 CLI를 이용해서 실행한다.



파일 다운로드 해서 압축을 푼다.

http://repo.spring.io/release/org/springframework/boot/spring-boot-cli/1.3.6.RELEASE/spring-boot-cli-1.3.6.RELEASE-bin.zip


임의의 경로에 풀면 됨 - "C:\Users\사용자\DEV\"


압축 풀면 spring.bat과 spring 파일이 있는 bin 폴더가 있을꺼야


C:\Users\heeyoung\사용자\spring-boot-cli-1.3.6.RELEASE-bin\spring-1.3.6.RELEASE\bin


이 경로 기억해두고..


예제 소스를 실행해보면되. (책에 나온 예제 소스야...ㅎ 나도 groovy는 잘 몰라..)


예제 소스 (HelloController.groovy)


@RestController

class HelloController {

    @RequestMapping("/")

    def hello(){

        return "Hello World"

    }

}     



CLI를 이용해서 소스 실행

C:\Users\사용자\Desktop>C:\Users\heeyoung\DEV\spring-boot-cli-1.3.6.RELEASE-bin\spring-1.3.6.RELEASE\bin\spring run HelloController.groovy


요약하면.. 

> spring run HelloController.groovy


가 되는거야


*** spring 경로를 지정하지 않고 실행하고 싶으면 환경변수의 시스템변수로 지정하면되.

처음 실행하면 좀 시간이 걸려

 Resolving dependencies..........................


이렇게 나오면서 꽤 걸리던데 결국엔 자동으로 spring boot가 실행되면서 내장된 톰캣이 기동되 8080 port로.


> 로그는 이렇게 나와


2017-12-15 14:24:46.273  INFO 8708 --- [       runner-0] o.s.boot.SpringApplication               : Starting application on 사용자-PC with PID 8708 (C:\Users\사용자\.m2\repository\org\springframework\boot\spring-boot\1.3.6.RELEASE\spring-boot-1.3.6.RELEASE.jar started by 사용자 in C:\Users\사용자\Desktop)

2017-12-15 14:24:46.293  INFO 8708 --- [       runner-0] o.s.boot.SpringApplication               : No active profile set, falling back to default profiles: default

2017-12-15 14:24:46.849  INFO 8708 --- [       runner-0] ationConfigEmbeddedWebApplicationContext : Refreshing org.springframework.boot.context.embedded.AnnotationConfigEmbeddedWebApplicationContext@2314df83: startup date [Fri Dec 15 14:24:46 KST 2017]; root of context hierarchy


-- 8080 포트로 톰캣 초기화

2017-12-15 14:24:48.931  INFO 8708 --- [       runner-0] s.b.c.e.t.TomcatEmbeddedServletContainer : Tomcat initialized with port(s): 8080 (http)


-- 톰캣 시작

2017-12-15 14:24:48.949  INFO 8708 --- [       runner-0] o.apache.catalina.core.StandardService   : Starting service Tomcat

2017-12-15 14:24:48.954  INFO 8708 --- [       runner-0] org.apache.catalina.core.StandardEngine  : Starting Servlet Engine: Apache Tomcat/8.0.36


2017-12-15 14:24:49.124  INFO 8708 --- [ost-startStop-1] org.apache.catalina.loader.WebappLoader  : Unknown loader org.springframework.boot.cli.compiler.ExtendedGroovyClassLoader$DefaultScopeParentClassLoader@61d373ca class org.springframework.boot.cli.compiler.ExtendedGroovyClassLoader$DefaultScopeParentClassLoader

2017-12-15 14:24:49.148  INFO 8708 --- [ost-startStop-1] o.a.c.c.C.[Tomcat].[localhost].[/]       : Initializing Spring embedded WebApplicationContext

2017-12-15 14:24:49.148  INFO 8708 --- [ost-startStop-1] o.s.web.context.ContextLoader            : Root WebApplicationContext: initialization completed in 2299 ms

2017-12-15 14:24:49.588  INFO 8708 --- [ost-startStop-1] o.s.b.c.e.ServletRegistrationBean        : Mapping servlet: 'dispatcherServlet' to [/]

2017-12-15 14:24:49.597  INFO 8708 --- [ost-startStop-1] o.s.b.c.embedded.FilterRegistrationBean  : Mapping filter: 'characterEncodingFilter' to: [/*]

2017-12-15 14:24:49.598  INFO 8708 --- [ost-startStop-1] o.s.b.c.embedded.FilterRegistrationBean  : Mapping filter: 'hiddenHttpMethodFilter' to: [/*]

2017-12-15 14:24:49.599  INFO 8708 --- [ost-startStop-1] o.s.b.c.embedded.FilterRegistrationBean  : Mapping filter: 'httpPutFormContentFilter' to: [/*]

2017-12-15 14:24:49.600  INFO 8708 --- [ost-startStop-1] o.s.b.c.embedded.FilterRegistrationBean  : Mapping filter: 'requestContextFilter' to: [/*]

2017-12-15 14:24:49.876  INFO 8708 --- [       runner-0] s.w.s.m.m.a.RequestMappingHandlerAdapter : Looking for @ControllerAdvice: org.springframework.boot.context.embedded.AnnotationConfigEmbeddedWebApplicationContext@2314df83: startup date [Fri Dec 15 14:24:46 KST 2017]; root of context hierarchy

2017-12-15 14:24:49.966  INFO 8708 --- [       runner-0] s.w.s.m.m.a.RequestMappingHandlerMapping : Mapped "{[/]}" onto public java.lang.Object HelloController.hello()

2017-12-15 14:24:49.969  INFO 8708 --- [       runner-0] s.w.s.m.m.a.RequestMappingHandlerMapping : Mapped "{[/error]}" onto public org.springframework.http.ResponseEntity<java.util.Map<java.lang.String, java.lang.Object>> org.springframework.boot.autoconfigure.web.BasicErrorController.error(javax.servlet.http.HttpServletRequest)

2017-12-15 14:24:49.970  INFO 8708 --- [       runner-0] s.w.s.m.m.a.RequestMappingHandlerMapping : Mapped "{[/error],produces=[text/html]}" onto public org.springframework.web.servlet.ModelAndView org.springframework.boot.autoconfigure.web.BasicErrorController.errorHtml(javax.servlet.http.HttpServletRequest,javax.servlet.http.HttpServletResponse)

2017-12-15 14:24:50.005  INFO 8708 --- [       runner-0] o.s.w.s.handler.SimpleUrlHandlerMapping  : Mapped URL path [/webjars/**] onto handler of type [class org.springframework.web.servlet.resource.ResourceHttpRequestHandler]

2017-12-15 14:24:50.006  INFO 8708 --- [       runner-0] o.s.w.s.handler.SimpleUrlHandlerMapping  : Mapped URL path [/**] onto handler of type [class org.springframework.web.servlet.resource.ResourceHttpRequestHandler]

2017-12-15 14:24:50.051  INFO 8708 --- [       runner-0] o.s.w.s.handler.SimpleUrlHandlerMapping  : Mapped URL path [/**/favicon.ico] onto handler of type [class org.springframework.web.servlet.resource.ResourceHttpRequestHandler]

2017-12-15 14:24:50.588  INFO 8708 --- [       runner-0] o.s.j.e.a.AnnotationMBeanExporter        : Registering beans for JMX exposure on startup


-- 8080포트로 톰캣이 시작됐다.

2017-12-15 14:24:50.707  INFO 8708 --- [       runner-0] s.b.c.e.t.TomcatEmbeddedServletContainer : Tomcat started on port(s): 8080 (http)

2017-12-15 14:24:50.719  INFO 8708 --- [       runner-0] o.s.boot.SpringApplication               : Started application in 4.942 seconds (JVM running for 32.577)


>> 브라우저로 실행


예제 소스에 있던 Hello World 텍스트가 찍히는거 확인됐지?ㅎㅎ

'Develope > Java&Spring' 카테고리의 다른 글

암/복호화 이슈 - No such provider  (0) 2019.06.11
gradle 외부 라이브러리 추가  (0) 2019.02.28
Apache tika로 Mime-type 가져오기  (0) 2019.02.28
gradle 버전 변경  (0) 2019.02.28



1. 특정포트가 열려있는지 확인

- netstat -na | findstr "포트"


2. 열려 있는 포트의 PID 확인

- netstat -nao | findstr "포트"


3. PID 찾기

- tasklist | findstr "PID번호"


4. 프로세스 죽이기

- taskkill /f /pid "PID번호"

소스를 올린건 없이 JBOSS만 설치해놨다


nginx 에서 jboss index 페이지 호출이 되는데 로컬에서 jboss index 페이지 호출이 안된다.


                                          사용자 > nginx > jboss


이렇게 호출되는데 사용자가 nginx를 호출했을때 jboss로 리다이렉트가 되도록 하고 싶다.


항상 이용만하다가 내가 구현할라니까 쉽지가 않네ㅋ


일단 nginx config들은 /etc/nginx/ 하위에 있다.

[jboss@ip-172-31-9-0 nginx]$ pwd

/etc/nginx

[jboss@ip-172-31-9-0 nginx]$ ll

total 68

drwxr-xr-x 2 root root 4096 Dec  8 10:50 conf.d

drwxr-xr-x 2 root root 4096 Sep 12 04:57 default.d

-rw-r--r-- 1 root root 1077 Sep 12 04:57 fastcgi.conf

-rw-r--r-- 1 root root 1077 Sep 12 04:57 fastcgi.conf.default

-rw-r--r-- 1 root root 1007 Sep 12 04:57 fastcgi_params

-rw-r--r-- 1 root root 1007 Sep 12 04:57 fastcgi_params.default

-rw-r--r-- 1 root root 2837 Sep 12 04:57 koi-utf

-rw-r--r-- 1 root root 2223 Sep 12 04:57 koi-win

-rw-r--r-- 1 root root 3957 Sep 12 04:57 mime.types

-rw-r--r-- 1 root root 3957 Sep 12 04:57 mime.types.default

-rw-r--r-- 1 root root 3734 Sep 12 04:57 nginx.conf

-rw-r--r-- 1 root root 2656 Sep 12 04:57 nginx.conf.default

-rw-r--r-- 1 root root  636 Sep 12 04:57 scgi_params

-rw-r--r-- 1 root root  636 Sep 12 04:57 scgi_params.default

-rw-r--r-- 1 root root  664 Sep 12 04:57 uwsgi_params

-rw-r--r-- 1 root root  664 Sep 12 04:57 uwsgi_params.default

-rw-r--r-- 1 root root 3610 Sep 12 04:57 win-utf

 


내가 수정할 정보는 nginx.conf!


굵은 글씨로 작성된 부분만 추가해주면 된다.


http{

    upstream jboss {

        server 0.0.0.0:9990;

    }


    sever {

        location / {

                proxy_pass http://jboss;

        }

    }



nginx proxy 에 대한 이해는 다음주로..

가이드 블로그다.

좋은 설명이다. http://ktdsoss.tistory.com/139

'Develope > Server' 카테고리의 다른 글

JBOSS 7.1.1 설치 및 실행  (0) 2017.12.08
NGINX 기동 및 확인  (0) 2017.12.08
NGINX 설치  (0) 2017.12.08
리눅스 JAVA 버전 확인 및 변경  (0) 2017.12.07
리눅스에 JDK 1.8 설치  (0) 2017.12.07

참고한 사이트

https://opensource.io/2012/04/30/installing-jboss-7-1-1-final-on-centos-6-x/


이 사이트는 JDK 1.6을 설치했으나 난 1.8을 사용한다.


서버에 임시로 폴더 하나 생성하고 wget으로 jboss 7.1.1을 다운받는다.

> 다운로드


[root@ip-172-31-9-0 util]# wget http://download.jboss.org/jbossas/7.1/jboss-as-7.1.1.Final/jboss-as-7.1.1.Final.zip

--2017-12-08 12:31:37--  http://download.jboss.org/jbossas/7.1/jboss-as-7.1.1.Final/jboss-as-7.1.1.Final.zip

Resolving download.jboss.org (download.jboss.org)... 184.26.249.106

Connecting to download.jboss.org (download.jboss.org)|184.26.249.106|:80... connected.

HTTP request sent, awaiting response... 200 OK

Length: 133255203 (127M) [application/zip]

Saving to: ‘jboss-as-7.1.1.Final.zip’


jboss-as-7.1.1.Final.zip      100%[=================================================>] 127.08M  21.9MB/s    in 6.1s


2017-12-08 12:31:45 (20.8 MB/s) - ‘jboss-as-7.1.1.Final.zip’ saved [133255203/133255203]


[root@ip-172-31-9-0 util]# ll

total 130136

-rw-r--r-- 1 root root 133255203 Mar 10  2012 jboss-as-7.1.1.Final.zip

 



다운 받았으면 압축을 풀어야지.

압축 해제는 /usr/share/ 에서 해제되도록 한다.

> 설치 ( =압축해제)


[root@ip-172-31-9-0 util]# unzip jboss-as-7.1.1.Final.zip -d /usr/share

Archive:  jboss-as-7.1.1.Final.zip


폴더 생성...

   creating: /usr/share/jboss-as-7.1.1.Final/

   creating: /usr/share/jboss-as-7.1.1.Final/appclient/

   creating: /usr/share/jboss-as-7.1.1.Final/appclient/configuration/

   creating: /usr/share/jboss-as-7.1.1.Final/bin

   ................................ 생략 ................................


파일 압축 풀리는중...

  inflating: /usr/share/jboss-as-7.1.1.Final/appclient/configuration/appclient.xml

  inflating: /usr/share/jboss-as-7.1.1.Final/appclient/configuration/logging.properties

  inflating: /usr/share/jboss-as-7.1.1.Final/bin/add-user.sh

  inflating: /usr/share/jboss-as-7.1.1.Final/bin/appclient.sh

   ................................ 생략 ................................


또 폴더 생성...

   creating: /usr/share/jboss-as-7.1.1.Final/domain/tmp/auth/


 


압축 다 풀었으면 jboss 계정 생성

> 계정생성


[root@ip-172-31-9-0 jboss-as-7.1.1.Final]# adduser jboss



jboss-as-7.1.1.Final 디렉토리 하위의 폴더까지 모두 jboss로 권한을 변경한다.

> 폴더 및 파일 권한 변경

[root@ip-172-31-9-0 share]# chown -fR jboss.jboss /usr/share/jboss-as-7.1.1.Final


> 변경 전

drwxr-xr-x  10 root root  4096 Mar 10  2012 jboss-as-7.1.1.Final

> 변경 후

drwxr-xr-x  10 jboss jboss  4096 Mar 10  2012 jboss-as-7.1.1.Final

 

* chown -fR : chown 설명 참고 (https://ko.wikipedia.org/wiki/Chown)



jboss로 스위치

> 사용자 변경


현재 root

[root@ip-172-31-9-0 share]# su jboss


jboss로 사용자 변경된것 확인

[jboss@ip-172-31-9-0 share]$ 



이제 마지막단계.

> jboss 실행하기 전에 jbos management 사용자 추가하기. 

(정확하진 않지만 추측하기론 설치된 jboss를 jboss 사용자가 실행하도록 사용자를 추가하는거 같음.)


[jboss@ip-172-31-9-0 bin]$ ./add-user.sh


이거 실행하고나면 질문들이 나올꺼야. 


What type of user do you wish to add?

 a) Management User (mgmt-users.properties)

 b) Application User (application-users.properties)

(a): a  <- 답변


Enter the details of the new user to add.

Realm (ManagementRealm) :                  - 비워도 됨.. ( 뭔지 알수가 없으니 일단 가이드대로 진행 )

Username : jboss

Password : jboss1234                            - 비밀번호 ( 리눅스에선 비번을 써도 화면에 노출이 안됨. )

Re-enter Password : jboss1234                - 비밀번호 한번 더 (동일)

About to add user 'jboss' for realm 'jboss'

Is this correct yes/no? yes                      - 입력한게 정확한지 확인

Added user 'jboss' to file '/usr/share/jboss-as-7.1.1.Final/standalone/configuration/mgmt-users.properties'

Added user 'jboss' to file '/usr/share/jboss-as-7.1.1.Final/domain/configuration/mgmt-users.properties'



이제 시작해 보자.


[jboss@ip-172-31-9-0 bin]$ ./standalone.sh -Djboss.bind.address=0.0.0.0 -Djboss.bind.address.management=0.0.0.0&


NOTE: By default, JBoss 7 will only bind to localhost. This does not allow any remote access to your jboss server. For our amazon aws installation, we define the jboss.bind.address property as 0.0.0.0 and jboss.bin.address.management property to 0.0.0.0 as well. This allows us to access the remote JBoss amazon instance over the internet. We could have also defined the hostname of the ami or the ip address. However, unless an elastic ip is used, this value can change. This is why we opted for 0.0.0.0.


번역을 해보면...

기본적으로 JBoss 7은 localhost에만 바인딩합니다. 이렇게하면 jboss 서버에 대한 원격 액세스가 허용되지 않습니다. 아마존 aws 설치의 경우 jboss.bind.address 속성을 0.0.0.0으로 정의하고 jboss.bin.address.management 속성을 0.0.0.0으로 정의합니다. 이를 통해 우리는 인터넷을 통해 원격 JBoss amazon 인스턴스에 액세스 할 수 있습니다. ami 또는 ip 주소의 호스트 이름도 정의 할 수 있습니다. 그러나 탄성 IP를 사용하지 않으면이 값이 변경 될 수 있습니다. 이것이 우리가 0.0.0.0을 선택한 이유입니다.



로그..


[1] 4240

[jboss@ip-172-31-9-0 bin]$ =========================================================================


  JBoss Bootstrap Environment


  JBOSS_HOME: /usr/share/jboss-as-7.1.1.Final


  JAVA: /usr/bin/java


  JAVA_OPTS:  -server -XX:+UseCompressedOops -XX:+TieredCompilation -Xms64m -Xmx512m -XX:MaxPermSize=256m -Djava.net.preferIPv4Stack=true -Dorg.jboss.resolver.warning=true -Dsun.rmi.dgc.client.gcInterval=3600000 -Dsun.rmi.dgc.server.gcInterval=3600000 -Djboss.modules.system.pkgs=org.jboss.byteman -Djava.awt.headless=true -Djboss.server.default.config=standalone.xml


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


OpenJDK 64-Bit Server VM warning: ignoring option MaxPermSize=256m; support was removed in 8.0

15:02:43,909 INFO  [org.jboss.modules] JBoss Modules version 1.1.1.GA

15:02:44,249 INFO  [org.jboss.msc] JBoss MSC version 1.0.2.GA

15:02:44,313 INFO  [org.jboss.as] JBAS015899: JBoss AS 7.1.1.Final "Brontes" starting

........




로컬에서 jboss 띄워본 사람이라면 뭔지 알꺼다... 

잠시 잊고 있었다..ㅡㅡ


jboss 7.1.1은 jdk1.8이 안된다.

에러도 안난다.

쉣!!!!!!!!!!!!!!!!!!!!


그래서.. jdk 1.8은 그대로 두고 jdk 1.7을 새로 설치하고 standalone.sh 에서 java home 경로를 바꿔줬다.


* 처리 과정 정리

 

 1. 설치 전 java, javac 경로 확인

[ec2-user@ip-172-31-9-0 ~]$ which java

/usr/bin/java

[ec2-user@ip-172-31-9-0 ~]$ ll /usr/bin/java

lrwxrwxrwx 1 root root 22 Dec  7 16:00 /usr/bin/java -> /etc/alternatives/java

[ec2-user@ip-172-31-9-0 ~]$ ll /etc/alternatives/java

lrwxrwxrwx 1 root root 46 Dec  7 16:00 /etc/alternatives/java -> /usr/lib/jvm/jre-1.8.0-openjdk.x86_64/bin/java


 2. 현재 내 인스턴스가 갖고 있는 jdk1.8은 그대로 둔채 jdk 1.7을 새로 설치

[root@ip-172-31-9-0 ~]# yum install java-1.7.0-openjdk-src.x86_64


 3. 설치하고 나서 java, javac 경로 재 확인

- java 확인

[ec2-user@ip-172-31-9-0 ~]$ which java

/usr/bin/java

[ec2-user@ip-172-31-9-0 ~]$ ll /usr/bin/java

lrwxrwxrwx 1 root root 22 Dec  8 15:16 /usr/bin/java -> /etc/alternatives/java

[ec2-user@ip-172-31-9-0 ~]$ ll /etc/alternatives/java

lrwxrwxrwx 1 root root 46 Dec  8 15:16 /etc/alternatives/java -> /usr/lib/jvm/jre-1.7.0-openjdk.x86_64/bin/java

   -> 1.7로 바껴 있지


- javac 확인

[ec2-user@ip-172-31-9-0 ~]$ which javac

/usr/bin/javac

[ec2-user@ip-172-31-9-0 ~]$ ll /usr/bin/javac

lrwxrwxrwx 1 root root 23 Dec  7 16:08 /usr/bin/javac -> /etc/alternatives/javac

[ec2-user@ip-172-31-9-0 ~]$ ll /etc/alternatives/javac

lrwxrwxrwx 1 root root 48 Dec  7 16:08 /etc/alternatives/javac -> /usr/lib/jvm/java-1.8.0-openjdk.x86_64/bin/javac

   -> 1.8로 그대로 유지됨

 4. "/etc/alternatives/java" 링크해제 후 1.8로 재 설정
[root@ip-172-31-9-0 ~]# unlink /etc/alternatives/java
[root@ip-172-31-9-0 ~]# ln -s /usr/lib/jvm/jre-1.8.0-openjdk.x86_64/bin/java /etc/alternatives/java
   - "1." 에서 설치전 확인했던 경로로 재 설정한것임.

 5. JAVA_HOME과 분리된 PATH 지정
  > 참고 블로그 : http://keichee.tistory.com/11
  > 수정한 파일
     1) ec2-user 의 .bash_profile
     2) root 의 /etc/profile
  > 변경한 내용
     (추가) export JAVA7_HOME="/usr/lib/jvm/jre-1.7.0-openjdk.x86_64/bin/java"
     (변경) export PATH=$PATH:$JAVA_HOME/bin:$JAVA7_HOME/bin
   > 변경 후 반드시 파일 빌드
     1) [ec2-user@ip-172-31-9-0 ~]$ . .bash_profile
     2) [root@ip-172-31-9-0 ~]# . /etc/profile

 6. standalone.sh 에 JAVA_HOME 재 지정
  파일 상단에 한 줄 추가
  JAVA_HOME=$JAVA7_HOME

  중간에 한줄 변경
   #JAVA="$JAVA_HOME/bin/java"       - 주석처리
   JAVA=$JAVA_HOME                     - 변경내용


이렇게 하면 완전 정상적으로 잘 뜬다.

로그를 보자..


[jboss@ip-172-31-9-0 bin]$ ./standalone.sh -Djboss.bind.address=0.0.0.0 -Djboss.bind.address.management=0.0.0.0&

[1] 4660

[jboss@ip-172-31-9-0 bin]$ =========================================================================


  JBoss Bootstrap Environment


  JBOSS_HOME: /usr/share/jboss-as-7.1.1.Final


  JAVA: /usr/lib/jvm/jre-1.7.0-openjdk.x86_64/bin/java


  JAVA_OPTS:  -server -XX:+UseCompressedOops -XX:+TieredCompilation -Xms64m -Xmx512m -XX:MaxPermSize=256m -Djava.net.preferIPv4Stack=true -Dorg.jboss.resolver.warning=true -Dsun.rmi.dgc.client.gcInterval=3600000 -Dsun.rmi.dgc.server.gcInterval=3600000 -Djboss.modules.system.pkgs=org.jboss.byteman -Djava.awt.headless=true -Djboss.server.default.config=standalone.xml


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


06:27:46,188 INFO  [org.jboss.modules] JBoss Modules version 1.1.1.GA

06:27:46,457 INFO  [org.jboss.msc] JBoss MSC version 1.0.2.GA

06:27:46,512 INFO  [org.jboss.as] JBAS015899: JBoss AS 7.1.1.Final "Brontes" starting

06:27:47,648 INFO  [org.xnio] XNIO Version 3.0.3.GA

06:27:47,667 INFO  [org.jboss.as.server] JBAS015888: Creating http management service using socket-binding (management-http)

06:27:47,674 INFO  [org.xnio.nio] XNIO NIO Implementation Version 3.0.3.GA

06:27:47,695 INFO  [org.jboss.remoting] JBoss Remoting version 3.2.3.GA

06:27:47,745 INFO  [org.jboss.as.logging] JBAS011502: Removing bootstrap log handlers

06:27:47,759 INFO  [org.jboss.as.configadmin] (ServerService Thread Pool -- 26) JBAS016200: Activating ConfigAdmin Subsystem

06:27:47,783 INFO  [org.jboss.as.clustering.infinispan] (ServerService Thread Pool -- 31) JBAS010280: Activating Infinispan subsystem.

06:27:47,835 INFO  [org.jboss.as.osgi] (ServerService Thread Pool -- 39) JBAS011940: Activating OSGi Subsystem

06:27:47,837 INFO  [org.jboss.as.naming] (ServerService Thread Pool -- 38) JBAS011800: Activating Naming Subsystem

06:27:47,878 INFO  [org.jboss.as.security] (ServerService Thread Pool -- 44) JBAS013101: Activating Security Subsystem

06:27:47,882 INFO  [org.jboss.as.connector] (MSC service thread 1-1) JBAS010408: Starting JCA Subsystem (JBoss IronJacamar 1.0.9.Final)

06:27:47,950 INFO  [org.jboss.as.webservices] (ServerService Thread Pool -- 48) JBAS015537: Activating WebServices Extension

06:27:47,966 INFO  [org.jboss.as.security] (MSC service thread 1-2) JBAS013100: Current PicketBox version=4.0.7.Final

06:27:47,994 INFO  [org.jboss.as.connector.subsystems.datasources] (ServerService Thread Pool -- 27) JBAS010403: Deploying JDBC-compliant driver class org.h2.Driver (version 1.3)

06:27:48,095 INFO  [org.jboss.as.naming] (MSC service thread 1-1) JBAS011802: Starting Naming Service

06:27:48,372 INFO  [org.jboss.as.mail.extension] (MSC service thread 1-2) JBAS015400: Bound mail session [java:jboss/mail/Default]

06:27:48,420 INFO  [org.jboss.ws.common.management.AbstractServerConfig] (MSC service thread 1-1) JBoss Web Services - Stack CXF Server 4.0.2.GA

06:27:48,894 INFO  [org.apache.coyote.http11.Http11Protocol] (MSC service thread 1-1) Starting Coyote HTTP/1.1 on http--0.0.0.0-8080

06:27:49,204 INFO  [org.jboss.as.remoting] (MSC service thread 1-1) JBAS017100: Listening on /0.0.0.0:9999

06:27:49,231 INFO  [org.jboss.as.server.deployment.scanner] (MSC service thread 1-1) JBAS015012: Started FileSystemDeploymentService for directory /usr/share/jboss-as-7.1.1.Final/standalone/deployments

06:27:49,302 INFO  [org.jboss.as.connector.subsystems.datasources] (MSC service thread 1-2) JBAS010400: Bound data source [java:jboss/datasources/ExampleDS]

06:27:49,303 INFO  [org.jboss.as.remoting] (MSC service thread 1-1) JBAS017100: Listening on /0.0.0.0:4447

06:27:49,348 INFO  [org.jboss.as] (Controller Boot Thread) JBAS015951: Admin console listening on http://0.0.0.0:9990

06:27:49,350 INFO  [org.jboss.as] (Controller Boot Thread) JBAS015874: JBoss AS 7.1.1.Final "Brontes" started in 3475ms - Started 133 of 208 services (74 services are passive or on-demand)

 


'Develope > Server' 카테고리의 다른 글

NGINX 와 JBOSS 연동  (0) 2017.12.08
NGINX 기동 및 확인  (0) 2017.12.08
NGINX 설치  (0) 2017.12.08
리눅스 JAVA 버전 확인 및 변경  (0) 2017.12.07
리눅스에 JDK 1.8 설치  (0) 2017.12.07


nginx 설치하고 http로 연결하려고 하니까 서버 접근이 안되는거있지.


그래서 또 구글링...ㅎㅎㅎ


찾아보니까 내 인스턴스에 http port 를 안열었더라고~


Management Console에 보면 내 인스턴스 확인 가능하잖아?


그럼 화면 하단에 인스턴스 설명창이 있어.

여기서 "보안 그룹" 이 있거든?


> 인스턴스 설명창



보안 그룹 클릭해서 들어가면 인바운드/아웃바운드 편집을 할 수가 있단다.



> 보안그룹 인바운드

   편집 전 - HTTP 포트가 없기 때문에 아래 브라우저로 접근하면 연결이 안된다.


> 브라우저로 연결

   연결이 안되는 상태



 


> 보안그룹 인바운드 편집

   HTTP 포트 추가


> 인바운드 포트 추가 후 상태



> 브라우저로 연결

   정상적으로 연결된것 확인!!!!

> NGINX 엑세스 로그 확인



이제 JBOSS 설치해서 NGINX와 연동해보자

'Develope > AWS' 카테고리의 다른 글

AWS에서 리눅스 가상 머신 시작  (0) 2017.12.06
AWS 계정생성  (0) 2017.12.06


설치만 했으니.. 기동은 당연히 안됐겠지.

그렇지만 프로세스 확인을 해보자


프로세스 확인


[root@ip-172-31-9-0 etc]# ps -ef | grep nginx

root      2979  2745  0 11:08 pts/0    00:00:00 grep --color=auto nginx


역시 없지? 


그럼 기동을 해보자.


아직 NGINX의 어떤 설정도 변경하지 않았어.

[root@ip-172-31-9-0 etc]# nginx


"nginx" 한 단어만으로 root가 master process에 nginx를 기동했고, nginx가 worker process를 기동했어.

아래 process에서 확인 가능하지.


[root@ip-172-31-9-0 etc]# ps -ef | grep nginx

root      2983     1  0 11:10 ?        00:00:00 nginx: master process nginx

nginx     2984  2983  0 11:10 ?        00:00:00 nginx: worker process

root      2986  2745  0 11:10 pts/0    00:00:00 grep --color=auto nginx

 


그럼... 음.. 브라우저에서 http 호출해볼까?


역시나.. 이것만으론 내 서버에 연결이 안되는군..

access 로그도 안찍히는걸 보면 내 서버에 접근 조차 못하고 있는거 같은데 이상하네...


좀 더 확인해 봐야겠음..


멍청하긴. http 포트를 안열었네ㅋㅋㅋ


'Develope > Server' 카테고리의 다른 글

NGINX 와 JBOSS 연동  (0) 2017.12.08
JBOSS 7.1.1 설치 및 실행  (0) 2017.12.08
NGINX 설치  (0) 2017.12.08
리눅스 JAVA 버전 확인 및 변경  (0) 2017.12.07
리눅스에 JDK 1.8 설치  (0) 2017.12.07

+ Recent posts