소스를 올린건 없이 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


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

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


프로세스 확인


[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

이번엔 NGINX 다.


몇년 전까지만 해도 apache / tomcat을 주로 썼는데 요즘엔 nginx / jboss가 대세인지 TA님 들이 이 구조를 많이 주장하시더라.


그래서 나도 내 서버에 개발환경 구축하면서 web server로 nginx를 설치해서 운용해보기로 했다.


일단 어제의 jdk... 멘탈 붕괴... x삽질... 과 같은 시간낭비를 피하고자 nginx가 설치되어 있는지 찾아보자.



[root@ip-172-31-9-0 ~]# find / -name *nginx*

   조회결과 없어

 

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

/usr/bin/which: no nginx in (/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin)

   훗. 없데.



그럼 yum 으로 설치가 가능한지 보자

[root@ip-172-31-9-0 ~]# yum list | grep nginx

collectd-nginx.x86_64                 5.7.1-3.19.amzn1              amzn-main

munin-nginx.noarch                    2.0.30-5.38.amzn1             amzn-main

nginx.x86_64                          1:1.12.1-1.33.amzn1           amzn-main

nginx-all-modules.x86_64              1:1.12.1-1.33.amzn1           amzn-main

nginx-mod-http-geoip.x86_64           1:1.12.1-1.33.amzn1           amzn-main

nginx-mod-http-image-filter.x86_64    1:1.12.1-1.33.amzn1           amzn-main

nginx-mod-http-perl.x86_64            1:1.12.1-1.33.amzn1           amzn-main

nginx-mod-http-xslt-filter.x86_64     1:1.12.1-1.33.amzn1           amzn-main

nginx-mod-mail.x86_64                 1:1.12.1-1.33.amzn1           amzn-main

nginx-mod-stream.x86_64               1:1.12.1-1.33.amzn1           amzn-main

 


오~ 가능해. 가능해 


설치 시작!!

[root@ip-172-31-9-0 ~]# yum install nginx.x86_64


일단 다운로드.. 압축 풀어야지..


Loaded plugins: priorities, update-motd, upgrade-helper

amzn-main                                                                                        | 2.1 kB  00:00:00

amzn-updates                                                                                     | 2.5 kB  00:00:00

Resolving Dependencies

--> Running transaction check

---> Package nginx.x86_64 1:1.12.1-1.33.amzn1 will be installed

--> Processing Dependency: libprofiler.so.0()(64bit) for package: 1:nginx-1.12.1-1.33.amzn1.x86_64

--> Running transaction check

---> Package gperftools-libs.x86_64 0:2.0-11.5.amzn1 will be installed

--> Processing Dependency: libunwind.so.8()(64bit) for package: gperftools-libs-2.0-11.5.amzn1.x86_64

--> Running transaction check

---> Package libunwind.x86_64 0:1.1-10.8.amzn1 will be installed

--> Finished Dependency Resolution


Dependencies Resolved


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

 Package                        Arch                  Version                            Repository                Size

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

Installing:

 nginx                          x86_64                1:1.12.1-1.33.amzn1                amzn-main                561 k

Installing for dependencies:

 gperftools-libs                x86_64                2.0-11.5.amzn1                     amzn-main                570 k

 libunwind                      x86_64                1.1-10.8.amzn1                     amzn-main                 72 k


Transaction Summary

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

Install  1 Package (+2 Dependent packages)


Total download size: 1.2 M

Installed size: 2.9 M


------------------------------------------------

역시나 설치할꺼야고 묻지.
Is this ok [y/d/N]: y

-----------------------------------------------

진짜 설치

Downloading packages:
(1/3): libunwind-1.1-10.8.amzn1.x86_64.rpm                                                       |  72 kB  00:00:00
(2/3): gperftools-libs-2.0-11.5.amzn1.x86_64.rpm                                                 | 570 kB  00:00:00
(3/3): nginx-1.12.1-1.33.amzn1.x86_64.rpm                                                        | 561 kB  00:00:00
------------------------------------------------------------------------------------------------------------------------
Total                                                                                   1.7 MB/s | 1.2 MB  00:00:00
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
  Installing : libunwind-1.1-10.8.amzn1.x86_64                                                                      1/3
  Installing : gperftools-libs-2.0-11.5.amzn1.x86_64                                                                2/3
  Installing : 1:nginx-1.12.1-1.33.amzn1.x86_64                                                                     3/3
  Verifying  : libunwind-1.1-10.8.amzn1.x86_64                                                                      1/3
  Verifying  : gperftools-libs-2.0-11.5.amzn1.x86_64                                                                2/3
  Verifying  : 1:nginx-1.12.1-1.33.amzn1.x86_64                                                                     3/3

Installed:
  nginx.x86_64 1:1.12.1-1.33.amzn1

Dependency Installed:
  gperftools-libs.x86_64 0:2.0-11.5.amzn1                       libunwind.x86_64 0:1.1-10.8.amzn1

Complete!



ㅎㅎ 설치는 간단하다.


어디에 설치되있는지 보자~


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

/usr/sbin/nginx

 



지금 설치한 버전이 뭔지 알고싶드면 -V 또는 -v 로 nginx 버전을 확인하자


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

nginx version: nginx/1.12.1


nginx -V : Print the nginx version, compiler version, and configure script parameters.

nginx -v : Print the nginx version.

man nginx 치면 나오는 설명이야.

 



이제 설정을... 해야지... ㅠㅠ

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

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
리눅스 종류, 버전 확인  (0) 2017.12.07

난 지금 javac와 java가 바라보는 jdk가 서로 달라

javac 의 버전은 1.8

[root@ip-172-31-9-0 ~]# javac -version

javac 1.8.0_151


java 의 버전은 1.7 

[root@ip-172-31-9-0 ~]# java -version

java version "1.7.0_151"

OpenJDK Runtime Environment (amzn-2.6.11.0.74.amzn1-x86_64 u151-b00)

OpenJDK 64-Bit Server VM (build 24.151-b00, mixed mode) 


그럼 javac가 어디있는지 찾아볼까?

javac 위치 확인


[root@ip-172-31-9-0 ~]# which javac

/usr/bin/javac


[root@ip-172-31-9-0 ~]# readlink -f /usr/bin/javac

/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.151-1.b12.35.amzn1.x86_64/bin/javac


  → javac의 실제 위치는 /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.151-1.b12.35.amzn1.x86_64/bin/

  → 따라서 java의 링크를 /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.151-1.b12.35.amzn1.x86_64/bin/java 로 설정해야 함


* which = 특정명령어의 위치를 찾아주는 명령어

readlink -f = 심볼릭 링크의 원본을 찾아주는 명령어



java 링크 변경


현재 java 버전 확인

[root@ip-172-31-9-0 ~]# java -version
java version "1.7.0_151"
OpenJDK Runtime Environment (amzn-2.6.11.0.74.amzn1-x86_64 u151-b00)
OpenJDK 64-Bit Server VM (build 24.151-b00, mixed mode)

현재 java 링크 걸린거 확인
[root@ip-172-31-9-0 ~]# ll -a /usr/bin/java
lrwxrwxrwx 1 root root 22 Dec  7 04:46 /usr/bin/java -> /etc/alternatives/java

"/usr/bin/java" 의 링크 끊기
[root@ip-172-31-9-0 ~]# unlink /usr/bin/java

"/usr/bin/java" link 재연결
javac가 있는 위치에 있는 java가 실행되도록 한다.
[root@ip-172-31-9-0 ~]# ln -s /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.151-1.b12.35.amzn1.x86_64/bin/java /usr/bin/java

다시 java 버전 확인
[root@ip-172-31-9-0 ~]# java -version
openjdk version "1.8.0_151"
OpenJDK Runtime Environment (build 1.8.0_151-b12)
OpenJDK 64-Bit Server VM (build 25.151-b12, mixed mode)

* ln -s [신규 java] [link지정할 java]


아 짜증나!!!!

그냥 기존에 설치된 1.7 삭제하고 했으면 얼마나 좋나...

 yum remove java-1.7.0-openjdk.x86_64 


이거 한줄 하고 설치했으면 번거로운짓 안해도 됐는데...

하...


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

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

리눅스에 jdk 설치 


AWS에 아마 기본으로 있을껀데 혹시나 싶어서 확인


[root@ip-172-31-9-0 ~]# java -version

java version "1.7.0_151"

OpenJDK Runtime Environment (amzn-2.6.11.0.74.amzn1-x86_64 u151-b00)

OpenJDK 64-Bit Server VM (build 24.151-b00, mixed mode)


1.7이 있징ㅎㅎ (정~~~말 귀찮은 짓을 피하고 싶으면 기존에 있던거 삭제하자!!!)


근데 난 1.8을 쓰고 싶어서 yum으로 설치 할수 있는 jdk 확인

만약 없으면 직접 다운로드 받아서 설치해야한다.


[ec2-user@ip-172-31-9-0 ~]$ yum list java*jdk-devel

Loaded plugins: priorities, update-motd, upgrade-helper

Available Packages

java-1.6.0-openjdk-devel.x86_64    1:1.6.0.41-1.13.13.1.77.amzn1    amzn-main

java-1.7.0-openjdk-devel.x86_64    1:1.7.0.151-2.6.11.0.74.amzn1    amzn-main

java-1.8.0-openjdk-devel.x86_64    1:1.8.0.151-1.b12.35.amzn1       amzn-updates



jdk 1.8 설치 시작


[ec2-user@ip-172-31-9-0 ~]$ yum install java-1.8.0-openjdk-devel.x86_64

Loaded plugins: priorities, update-motd, upgrade-helper

You need to be root to perform this command.



하려 했지만 root에서 실행해야 한다고 하네..ㅎㅎ

설치 실패 메세지 : You need to be root to perform this command.


루트 권한으로 변경


[ec2-user@ip-172-31-9-0 ~]$ sudo su -

Last login: Wed Dec  6 02:17:50 UTC 2017 on pts/0

 


root 에서 jdk 1.8 설치 시작


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

Loaded plugins: priorities, update-motd, upgrade-helper

amzn-main                                                | 2.1 kB     00:00

amzn-updates                                             | 2.5 kB     00:00

Resolving Dependencies

--> Running transaction check

---> Package java-1.8.0-openjdk-devel.x86_64 1:1.8.0.151-1.b12.35.amzn1 will be                       installed

--> Processing Dependency: java-1.8.0-openjdk(x86-64) = 1:1.8.0.151-1.b12.35.amz                      n1 for package: 1:java-1.8.0-openjdk-devel-1.8.0.151-1.b12.35.amzn1.x86_64

--> Processing Dependency: libawt_xawt.so(SUNWprivate_1.1)(64bit) for package: 1                      :java-1.8.0-openjdk-devel-1.8.0.151-1.b12.35.amzn1.x86_64

--> Processing Dependency: libawt_xawt.so()(64bit) for package: 1:java-1.8.0-ope                      njdk-devel-1.8.0.151-1.b12.35.amzn1.x86_64

--> Running transaction check

---> Package java-1.8.0-openjdk.x86_64 1:1.8.0.151-1.b12.35.amzn1 will be instal                      led

--> Processing Dependency: java-1.8.0-openjdk-headless(x86-64) = 1:1.8.0.151-1.b                      12.35.amzn1 for package: 1:java-1.8.0-openjdk-1.8.0.151-1.b12.35.amzn1.x86_64

--> Running transaction check

---> Package java-1.8.0-openjdk-headless.x86_64 1:1.8.0.151-1.b12.35.amzn1 will                       be installed

amzn-main/latest/filelists_db                            | 5.7 MB     00:00

amzn-updates/latest/filelists_db                         | 1.9 MB     00:00

--> Processing Dependency: copy-jdk-configs >= 1.1-3 for package: 1:java-1.8.0-o                      penjdk-headless-1.8.0.151-1.b12.35.amzn1.x86_64

--> Processing Dependency: lksctp-tools(x86-64) for package: 1:java-1.8.0-openjd                      k-headless-1.8.0.151-1.b12.35.amzn1.x86_64

--> Running transaction check

---> Package copy-jdk-configs.noarch 0:1.2-1.2.amzn1 will be installed

---> Package lksctp-tools.x86_64 0:1.0.10-7.7.amzn1 will be installed

--> Finished Dependency Resolution


Dependencies Resolved


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

 Package                   Arch   Version                    Repository    Size

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

Installing:

 java-1.8.0-openjdk-devel  x86_64 1:1.8.0.151-1.b12.35.amzn1 amzn-updates  12 M

Installing for dependencies:

 copy-jdk-configs          noarch 1.2-1.2.amzn1              amzn-main     13 k

 java-1.8.0-openjdk        x86_64 1:1.8.0.151-1.b12.35.amzn1 amzn-updates 244 k

 java-1.8.0-openjdk-headless

                           x86_64 1:1.8.0.151-1.b12.35.amzn1 amzn-updates  39 M

 lksctp-tools              x86_64 1.0.10-7.7.amzn1           amzn-main     89 k


Transaction Summary

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

Install  1 Package (+4 Dependent packages)


Total download size: 51 M

Installed size: 143 M

 


다운로드 가 완료 됐고 설치 하겠냐고 물어볼꺼야


그럼 y 입력하고 enter!


다운로드한 패키지 압축 풀고 설치 시작!

Is this ok [y/d/N]: y


Downloading packages:

(1/5): copy-jdk-configs-1.2-1.2.amzn1.noarch.rpm           |  13 kB   00:00

(2/5): java-1.8.0-openjdk-1.8.0.151-1.b12.35.amzn1.x86_64. | 244 kB   00:00

(3/5): lksctp-tools-1.0.10-7.7.amzn1.x86_64.rpm            |  89 kB   00:00

(4/5): java-1.8.0-openjdk-devel-1.8.0.151-1.b12.35.amzn1.x |  12 MB   00:01

(5/5): java-1.8.0-openjdk-headless-1.8.0.151-1.b12.35.amzn |  39 MB   00:02

--------------------------------------------------------------------------------

Total                                               16 MB/s |  51 MB  00:03

Running transaction check

Running transaction test

Transaction test succeeded

Running transaction

  Installing : copy-jdk-configs-1.2-1.2.amzn1.noarch                        1/5

  Installing : lksctp-tools-1.0.10-7.7.amzn1.x86_64                         2/5

  Installing : 1:java-1.8.0-openjdk-devel-1.8.0.151-1.b12.35.amzn1.x86_64   3/5

  Installing : 1:java-1.8.0-openjdk-headless-1.8.0.151-1.b12.35.amzn1.x86   4/5

  Installing : 1:java-1.8.0-openjdk-1.8.0.151-1.b12.35.amzn1.x86_64         5/5

  Verifying  : lksctp-tools-1.0.10-7.7.amzn1.x86_64                         1/5

  Verifying  : copy-jdk-configs-1.2-1.2.amzn1.noarch                        2/5

  Verifying  : 1:java-1.8.0-openjdk-devel-1.8.0.151-1.b12.35.amzn1.x86_64   3/5

  Verifying  : 1:java-1.8.0-openjdk-1.8.0.151-1.b12.35.amzn1.x86_64         4/5

  Verifying  : 1:java-1.8.0-openjdk-headless-1.8.0.151-1.b12.35.amzn1.x86   5/5


Installed:

  java-1.8.0-openjdk-devel.x86_64 1:1.8.0.151-1.b12.35.amzn1


Dependency Installed:

  copy-jdk-configs.noarch 0:1.2-1.2.amzn1

  java-1.8.0-openjdk.x86_64 1:1.8.0.151-1.b12.35.amzn1

  java-1.8.0-openjdk-headless.x86_64 1:1.8.0.151-1.b12.35.amzn1

  lksctp-tools.x86_64 0:1.0.10-7.7.amzn1


Complete!

 


완료!


설치된것 확인.. 


[root@ip-172-31-9-0 jvm]# javac -version

javac 1.8.0_151


------------------------------------------


설치된 디렉토리에 있는 jdk, jre..


[root@ip-172-31-9-0 jvm]# ll -ltr /usr/lib/jvm/

total 8

drwxr-xr-x 7 root root 4096 Oct 25 20:46 java-1.8.0-openjdk-1.8.0.151-1.b12.35.amzn1.x86_64

drwxr-xr-x 3 root root 4096 Nov 20 22:12 java-1.7.0-openjdk-1.7.0.151.x86_64

lrwxrwxrwx 1 root root   39 Nov 20 22:12 jre-1.7.0-openjdk.x86_64 -> java-1.7.0-openjdk-1.7.0.151.x86_64/jre

lrwxrwxrwx 1 root root   27 Nov 20 22:12 jre-1.7.0 -> /etc/alternatives/jre_1.7.0


오늘(12월 7일)에 설치된 jdk 1.8 버전


lrwxrwxrwx 1 root root   25 Dec  7 04:46 java-1.8.0-openjdk -> java-1.8.0-openjdk.x86_64

lrwxrwxrwx 1 root root   50 Dec  7 04:46 java-1.8.0-openjdk.x86_64 -> java-1.8.0-openjdk-1.8.0.151-1.b12.35.amzn1.x86_64

lrwxrwxrwx 1 root root   34 Dec  7 04:46 java-openjdk -> /etc/alternatives/java_sdk_openjdk

lrwxrwxrwx 1 root root   32 Dec  7 04:46 java-1.8.0 -> /etc/alternatives/java_sdk_1.8.0

lrwxrwxrwx 1 root root   26 Dec  7 04:46 java -> /etc/alternatives/java_sdk

lrwxrwxrwx 1 root root   54 Dec  7 04:46 jre-1.8.0-openjdk.x86_64 -> java-1.8.0-openjdk-1.8.0.151-1.b12.35.amzn1.x86_64/jre

lrwxrwxrwx 1 root root   24 Dec  7 04:46 jre-1.8.0-openjdk -> jre-1.8.0-openjdk.x86_64

lrwxrwxrwx 1 root root   29 Dec  7 04:46 jre-openjdk -> /etc/alternatives/jre_openjdk

lrwxrwxrwx 1 root root   27 Dec  7 04:46 jre-1.8.0 -> /etc/alternatives/jre_1.8.0

lrwxrwxrwx 1 root root   21 Dec  7 04:46 jre -> /etc/alternatives/jre

 


설치된거 확인 했으면 java 실행해봐야지

간단한 helloworld 작성해서 실행해 보자.


HelloWorld java 파일 생성

[root@ip-172-31-9-0 ~]# echo "public class HelloWorld {" > HelloWorld.java

[root@ip-172-31-9-0 ~]# echo "  public static void main(String[] args) {" >> HelloWorld.java

[root@ip-172-31-9-0 ~]# echo "    System.out.println(\"Hello, World\");" >> HelloWorld.java

[root@ip-172-31-9-0 ~]# echo "  }" >> HelloWorld.java

[root@ip-172-31-9-0 ~]# echo "}" >> HelloWorld.java

[root@ip-172-31-9-0 ~]# javac HelloWorld.java


컴파일된 class 파일 확인
[root@ip-172-31-9-0 ~]# ll
total 8
-rw-r--r-- 1 root root 426 Dec  7 05:45 HelloWorld.class
-rw-r--r-- 1 root root 115 Dec  7 05:45 HelloWorld.java

실행
[root@ip-172-31-9-0 ~]# java HelloWorld

에러 똿!!!!!!!!!!!
Exception in thread "main" java.lang.UnsupportedClassVersionError: HelloWorld : Unsupported major.minor version 52.0
        at java.lang.ClassLoader.defineClass1(Native Method)
        at java.lang.ClassLoader.defineClass(ClassLoader.java:803)
        at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142)
        at java.net.URLClassLoader.defineClass(URLClassLoader.java:442)
        at java.net.URLClassLoader.access$100(URLClassLoader.java:64)
        at java.net.URLClassLoader$1.run(URLClassLoader.java:354)
        at java.net.URLClassLoader$1.run(URLClassLoader.java:348)
        at java.security.AccessController.doPrivileged(Native Method)
        at java.net.URLClassLoader.findClass(URLClassLoader.java:347)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:425)
        at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:312)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:358)
        at sun.launcher.LauncherHelper.checkAndLoadMain(LauncherHelper.java:482)



javac와 java가 바라보는게 달라.. 그래서 컴파일은 1.8로 됐는데 실행은 1.7로 실행이 되는거지..


JAVA_HOME 설정 변경해주는건 아래 링크에서 확인하자.

http://carfediem-is.tistory.com/6


설정 변경하고 javac와 java가 일치하면 이렇게 정상적으로 실행이 되지


HelloWorld 실행 결과

Hello, World

 


이제 jdk 설치 했으니까 was 설정해보자

'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
리눅스 종류, 버전 확인  (0) 2017.12.07

AWS를 이용했으니 서버 구성을 해봐야지


일단 내 인스턴스에 설치된 리눅스가 뭔지 부터...



1. 현재 리눅스의 배포판 버전 확인

방법 1

[ec2-user@ip-172-31-9-0 ~]$ grep . /etc/*-release

/etc/os-release:NAME="Amazon Linux AMI"

/etc/os-release:VERSION="2017.09"

/etc/os-release:ID="amzn"

/etc/os-release:ID_LIKE="rhel fedora"

/etc/os-release:VERSION_ID="2017.09"

/etc/os-release:PRETTY_NAME="Amazon Linux AMI 2017.09"

/etc/os-release:ANSI_COLOR="0;33"

/etc/os-release:CPE_NAME="cpe:/o:amazon:linux:2017.09:ga"

/etc/os-release:HOME_URL="http://aws.amazon.com/amazon-linux-ami/"

/etc/system-release:Amazon Linux AMI release 2017.09


방법 2

[ec2-user@ip-172-31-9-0 ~]$ cat /etc/*-release | uniq
NAME="Amazon Linux AMI"
VERSION="2017.09"
ID="amzn"
ID_LIKE="rhel fedora"
VERSION_ID="2017.09"
PRETTY_NAME="Amazon Linux AMI 2017.09"
ANSI_COLOR="0;33"
CPE_NAME="cpe:/o:amazon:linux:2017.09:ga"
HOME_URL="http://aws.amazon.com/amazon-linux-ami/"
Amazon Linux AMI release 2017.09


2. 리눅스 커널 버전 확인

방법 1

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

Linux

[ec2-user@ip-172-31-9-0 ~]$ uname -r

4.9.62-21.56.amzn1.x86_64


방법 2
[ec2-user@ip-172-31-9-0 ~]$ cat /proc/version
Linux version 4.9.62-21.56.amzn1.x86_64 (mockbuild@gobi-build-64013) (gcc version 4.8.5 20150623 (Red Hat 4.8.5-11) (GCC) ) #1 SMP Thu Nov 16 05:37:08 UTC 2017


'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

+ Recent posts