17. Node.js, NPM
[root@localhost ~]
Last metadata expiration check: 0:18:29 ago on Fri 29 Mar 2024 02:00:07 PM KST.
Dependencies resolved.
=========================================================================================================================================================================
Package Architecture Version Repository Size
=========================================================================================================================================================================
Installing:
kernel x86_64 5.14.0-432.el9 baseos 66 k
Upgrading:
bpftool x86_64 7.3.0-432.el9 baseos 842 k
Transaction Summary
=========================================================================================================================================================================
Install 5 Packages
Upgrade 142 Packages
Total download size: 227 M
Downloading Packages:
(1/147): kernel-5.14.0-432.el9.x86_64.rpm 345 kB/s | 66 kB 00:00
(2/147): kernel-core-5.14.0-432.el9.x86_64.rpm 2.2 MB/s | 15 MB 00:06
17-1. Node.js
[root@localhost ~]
Last metadata expiration check: 0:24:35 ago on Fri 29 Mar 2024 02:00:07 PM KST.
CentOS Stream 9 - AppStream
Name Stream Profiles Summary
nodejs 18 common [d], development, minimal, s2i Javascript runtime
nodejs 20 common [d], development, minimal, s2i Javascript runtime
Hint: [d]efault, [e]nabled, [x]d
[root@localhost ~]
Last metadata expiration check: 0:25:33 ago on Fri 29 Mar 2024 02:00:07 PM KST.
Dependencies resolved.
=========================================================================================================================================================================
Package Architecture Version Repository Size
=========================================================================================================================================================================
Installing group/module packages:
nodejs x86_64 1:20.9.0-1.module_el9+743+ad38546c appstream 14 M
npm x86_64 1:10.1.0-1.20.9.0.1.module_el9+743+ad38546c appstream 2.6 M
Installing weak dependencies:
nodejs-docs noarch 1:20.9.0-1.module_el9+743+ad38546c appstream 8.1 M
nodejs-full-i18n x86_64 1:20.9.0-1.module_el9+743+ad38546c appstream 8.5 M
Installing module profiles:
nodejs/common
Enabling module streams:
nodejs 20
Transaction Summary
=========================================================================================================================================================================
Install 4 Packages
Total download size: 33 M
Installed size: 175 M
Downloading Packages:
(1/4): nodejs-docs-20.9.0-1.module_el9+743+ad38546c.noarch.rpm 2.4 MB/s | 8.1 MB 00:03
(2/4): npm-10.1.0-1.20.9.0.1.module_el9+743+ad38546c.x86_64.rpm 1.0 MB/s | 2.6 MB 00:02
(3/4): nodejs-full-i18n-20.9.0-1.module_el9+743+ad38546c.x86_64.rpm 1.3 MB/s | 8.5 MB 00:06
(4/4): nodejs-20.9.0-1.module_el9+743+ad38546c.x86_64.rpm 1.3 MB/s | 14 MB 00:10
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Total 2.8 MB/s | 33 MB 00:11
Running transaction check
Transaction check succeeded.
Running transaction test
Transaction test succeeded.
Running transaction
Preparing : 1/1
Installing : nodejs-docs-1:20.9.0-1.module_el9+743+ad38546c.noarch 1/4
Installed:
nodejs-1:20.9.0-1.module_el9+743+ad38546c.x86_64 nodejs-docs-1:20.9.0-1.module_el9+743+ad38546c.noarch
nodejs-full-i18n-1:20.9.0-1.module_el9+743+ad38546c.x86_64 npm-1:10.1.0-1.20.9.0.1.module_el9+743+ad38546c.x86_64
Complete!
17-2. NPM
[root@localhost ~]
Last metadata expiration check: 0:27:47 ago on Fri 29 Mar 2024 02:00:07 PM KST.
Installed Packages
npm.x86_64 1:10.1.0-1.20.9.0.1.module_el9+743+ad38546c @appstream
- Install NPM (Node Package Manager)
[root@localhost ~]
Last metadata expiration check: 0:29:43 ago on Fri 29 Mar 2024 02:00:07 PM KST.
Package npm-1:10.1.0-1.20.9.0.1.module_el9+743+ad38546c.x86_64 is already installed.
Dependencies resolved.
Nothing to do.
Complete!
🔶 Node.js, NPM 버전 확인
- 개인 로컬 PC 버전은 각각 v20.10.0 / 10.2.3
[root@localhost ~]
v20.9.0
[root@localhost ~]
10.1.0
17-3. npm run dev
[root@localhost ProjYj2024]
> ProjYj2024@0.0.1 dev
> quasar dev
sh: line 1: quasar: command not found
ProjYj2024main
Branch 에는 .quasar
, node_modules
폴더가 없음 (gitignore 캐시 삭제 처리 git rm -r --cached
진행했기 때문)
- FileZilla >
/var/lib/containers/storage/volumes/4e56f41adaca53fa1652bb2d5e0aaa4f80905a278588c911343a283eb21be2fb/_data/workspace
> 수동으로 복사 붙여넣기
[root@localhost .bin]
> ProjYj2024@0.0.1 dev
> quasar dev
sh: line 1: /var/lib/containers/storage/volumes/4e56f41adaca53fa1652bb2d5e0aaa4f80905a278588c911343a283eb21be2fb/_data/workspace/ProjYj2024/ProjYj2024/node_modules/.bin/quasar: Permission denied
[root@localhost .bin]
/var/lib/containers/storage/volumes/4e56f41adaca53fa1652bb2d5e0aaa4f80905a278588c911343a283eb21be2fb/_data/workspace/ProjYj2024/ProjYj2024/node_modules/.bin
[root@localhost .bin]
🔶 9000 Port 상시 허용
- 방화벽에 9000 Port를 상시 허용으로 등록 및 재실행
[root@localhost ~]
success
[root@localhost ~]
success
[root@localhost ~]
3306/tcp 3389/tcp 8070/tcp 8888/tcp 9000/tcp
18. projyjengine
/projyjengine
경로에 logs
, projyj
, blib
디렉토리 생성
[root@localhost projyjengine]
/projyjengine
[root@localhost projyjengine]
[root@localhost projyjengine]
[root@localhost projyjengine]
[root@localhost projyjengine]
blib projyj logs
18-1. FTP 파일 업로드
- FileZilla >
C:\home\projyj\projyjengine\blib
의 폴더 및 파일을 /projyjengine/blib
경로에 업로드
- 다운로드 경로 :
C:\Users\PROJYJ\PROJYJ_YJ\2. ProjYj\1. 설치\서버환경 구축
19. ProjYjSvr 배포
- Eclipse >
ProjYjSvr
소스 Export > WAR file > 기본 설정으로 'Finish'
- FileZilla > 생성된
ProjYjSvr.war
파일을 /tomcat/apache-tomcat-8.0.36/webapps
경로에 이동
[root@localhost webapps]
[root@localhost webapps]
docs examples ProjYjSvr.war host-manager manager ROOT
19-1. globals.properties
- WAR 파일 생성 전에
globals.properties
파일에서 DB 연결 정보 수정 필요
Globals.OsType=UNIX
Globals.LocalIp=192.168.1.111
Globals.DbType=mysql
Globals.DbServer=192.168.1.111
Globals.DbName=projyj
Globals.UserName=projyj
Globals.Password=password\$\$
Globals.DriverClassName=net.sf.log4jdbc.DriverSpy
Globals.Url=jdbc:mysql://192.168.1.111:3306/projyj
- WAR 파일 풀린 후의 경로 :
/tomcat/apache-tomcat-8.0.36/webapps/ProjYjSvr/WEB-INF/classes/egovframework/egovProps
🔶 Could not open JDBC Connection
globals.properties
> 특수문자는 역슬래쉬(\
) 붙일 것 : Globals.Password=password\$\$
- 역슬래쉬 붙이지 않으면 아래와 같은 오류가 발생됨
- 에러 팝업 문구가
loadError : xhr=[object Object], st=parseerror, err=SyntaxError: Unexpected token '<',"
이고,
ProjYjServer.log
로그 메시지가 아래와 같음
2024-04-01 15:45:34,148 ERROR [egovframework.projsvr.service.impl.OptionServiceImpl] Could not open JDBC Connection for transaction; nested exception is org.apache.commons.dbcp.SQLNestedException: Cannot create PoolableConnectionFactory (Access denied for user 'projyj'@'192.168.1.999' (using password: YES))
org.apache.commons.dbcp.SQLNestedException: Cannot create PoolableConnectionFactory (Access denied for user 'projyj'@'192.168.1.999' (using password: YES))
at org.apache.commons.dbcp.BasicDataSource.createPoolableConnectionFactory(BasicDataSource.java:1549) ~[commons-dbcp-1.4.jar:1.4]
(...중략)
Caused by: java.sql.SQLException: Access denied for user 'projyj'@'192.168.1.999' (using password: YES)
19-2. MySQL DB 데이터 세팅
bmig_option_tbl
테이블의 값 일부 변경
- WasURL :
http://192.168.1.111:8070/ProjYjSvr/projsvr
- JVM :
/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.362.b09-4.el9.x86_64/jre/bin/java
- JarHome :
/projyjengine
19-3. Tomcat 재실행
./startup.sh
실행하여 WAR 파일이 풀린 것 확인
[root@localhost bin]
Using CATALINA_BASE: /tomcat/apache-tomcat-8.0.36
Using CATALINA_HOME: /tomcat/apache-tomcat-8.0.36
Using CATALINA_TMPDIR: /tomcat/apache-tomcat-8.0.36/temp
Using JRE_HOME: /usr
Using CLASSPATH: /tomcat/apache-tomcat-8.0.36/bin/bootstrap.jar:/tomcat/apache-tomcat-8.0.36/bin/tomcat-juli.jar
Tomcat started.
[root@localhost bin]
[root@localhost webapps]
docs examples ProjYjSvr ProjYjSvr.war host-manager manager ROOT
- 로그인 테스트까지 완료되면 OK (ID :
admin
/ PW : admin
)
🔶 로그 조회하기
log4j2.xml
> <RollingFile name="rollingFile" fileName="/home/projyj/tomcat/projyjlog/ProjYjServer.log"
경로 확인
[root@localhost projyjlog]
[root@localhost projyjlog]
🔶 Alias 영구 등록
.bash_aliases
파일 생성하여 alias 등록
[root@localhost ~]
-rw-r--r--. 1 root root 429 Aug 10 2021 .bashrc
[root@localhost ~]
alias zlog='tail -f /home/projyj/tomcat/projyjlog/ProjYjServer.log'
alias ztc='cd /tomcat/apache-tomcat-8.0.36/bin/'
alias zstart='/tomcat/apache-tomcat-8.0.36/bin/startup.sh'
alias zshut='/tomcat/apache-tomcat-8.0.36/bin/shutdown.sh'
source .bash_aliases
명령어를 실행해야 사용 가능
19-4. 누락 파일 추가
- Monitoring* 파일이 누락되어 각 경로에 추가함
- .class 다운로드 경로 :
C:\Users\PROJYJ\PROJYJ_YJ\2. ProjYj\1. 설치\서버환경 구축\누락 파일
- ProjYjSvr 프로젝트 자체에 추가하여 WAR 파일 Export 하는 것으로 변경 (24.04.03)
- .java 다운로드 경로 :
C:\Users\PROJYJ\PROJYJ_YJ\2. ProjYj\1. 설치\ProjYjWAS 누락파일
- .war 파일 경로 :
C:\Users\PROJYJ\PROJYJ_YJ\2. ProjYj\1. 설치\서버환경 구축
[root@localhost projsvr]
/tomcat/apache-tomcat-8.0.36/webapps/ProjYjSvr/WEB-INF/classes/egovframework/projsvr
[root@localhost projsvr]
/tomcat/apache-tomcat-8.0.36/webapps/ProjYjSvr/WEB-INF/classes/egovframework/sqlmap/projsvr
[root@localhost egovframework]
./projsvr/controller/MonitoringController.class
./projsvr/dao/MonitoringDAO.class
./projsvr/service/impl/MonitoringServiceImpl.class
./projsvr/service/MonitoringService.class
./sqlmap/projsvr/Monitoring_SQL_Mysql.xml