728x90
반응형
폐쇄망이 아니라면 npm이나 yum 등을 이용하여 설치가 가능하겠지만,
폐쇄망일 경우 파일을 구해서 넣은 후 진행해야 한다.
폐쇄망이라는 가정하에 파일들을 구하고 진행한다.
프로젝트 war파일은 내가 따로 준비했다는 가정하에 진행하기로 한다.
프로젝트 환경은
Java 1.8, MariaDB, Apache Tomcat 9, Apache
로 준비할 것이다.
각각을 서비스로 등록하여, 서버가 재부팅 되었을때 다시 실행되도록 할 것이다.
(굳이 이 부분이 필요없으면 각각의 서비스 등록하는 부분은 제외해도 된다)
1. 필요한 파일 준비 (인터넷 가능 환경에서 다운로드 하여 준비)
- jdk-8u371-linux-x64.tar.gz (https://www.oracle.com/java/technologies/javase/javase8-archive-downloads.html)
- mariadb-10.11.x-linux-x86_64.tar.gz (https://mariadb.org/download/)
- apache-tomcat-9.0.x.tar.gz (https://tomcat.apache.org/download-90.cgi)
- httpd-2.4.x.tar.gz (https://httpd.apache.org/download.cgi)
- apr-1.7.x.tar.gz (https://apr.apache.org/download.cgi)
- apr-util-1.6.x.tar.gz (https://apr.apache.org/download.cgi)
- pcre-8.x.tar.gz (https://sourceforge.net/projects/pcre/files/pcre/)
2. JAVA 설치
# 1. 압축 해제
tar xvfz jdk-8u*-linux-x64.tar.gz
mv jdk1.8.0_* /usr/local/java8
# 2. 환경변수 설정
echo "export JAVA_HOME=/usr/local/java8" >> /etc/profile
echo "export PATH=\$JAVA_HOME/bin:\$PATH" >> /etc/profile
source /etc/profile
# 3. 설치 확인
java -version
3. Apache 설치 준비 (의존성 라이브러리 설치)
# APR 설치
tar xvfz apr-1.7.x.tar.gz
cd apr-1.7.x
./configure --prefix=/usr/local/apr
make
make install
# APR-util 설치
tar xvfz apr-util-1.6.x.tar.gz
cd apr-util-1.6.x
./configure --prefix=/usr/local/apr-util --with-apr=/usr/local/apr
make
make install
# PCRE 설치
tar xvfz pcre-8.x.tar.gz
cd pcre-8.x
./configure --prefix=/usr/local/pcre
make
make install
4. Apache 설치
tar xvfz httpd-2.4.x.tar.gz
cd httpd-2.4.x
./configure --prefix=/usr/local/apache2 \
--with-apr=/usr/local/apr \
--with-apr-util=/usr/local/apr-util \
--with-pcre=/usr/local/pcre \
--enable-module=so \
--enable-mods-shared=all \
--enable-proxy \
--enable-proxy-http \
--enable-proxy-ajp
make
make install
5. Apache 서비스 생성
vi /etc/systemd/system/apache.service
[Unit]
Description=Apache HTTP Server
After=network.target
[Service]
Type=forking
ExecStart=/usr/local/apache2/bin/apachectl start
ExecStop=/usr/local/apache2/bin/apachectl stop
ExecReload=/usr/local/apache2/bin/apachectl graceful
PrivateTmp=true
LimitNOFILE=infinity
LimitNPROC=infinity
LimitCORE=infinity
[Install]
WantedBy=multi-user.target
6. Apache - Tomcat 연동 설정
vi /usr/local/apache2/conf/httpd.conf
# 필요한 모듈 로드
LoadModule proxy_module modules/mod_proxy.so
LoadModule proxy_http_module modules/mod_proxy_http.so
LoadModule proxy_ajp_module modules/mod_proxy_ajp.so
LoadModule rewrite_module modules/mod_rewrite.so
# VirtualHost 설정
<VirtualHost *:80>
ServerName your-domain.com
ServerAdmin admin@your-domain.com
DocumentRoot "/usr/local/apache2/htdocs"
# Tomcat으로 프록시 설정 (AJP 방식)
ProxyPass /your-app ajp://localhost:8009/your-app
ProxyPassReverse /your-app ajp://localhost:8009/your-app
# 또는 HTTP 방식으로 설정할 경우
#ProxyPass /your-app http://localhost:8080/your-app
#ProxyPassReverse /your-app http://localhost:8080/your-app
ErrorLog "logs/your-domain-error.log"
CustomLog "logs/your-domain-access.log" combined
</VirtualHost>
7. MariaDB 설치
# 압축 해제 및 이동
tar xvf mariadb-*.tar.gz
mv mariadb-* /usr/local/mariadb
# 사용자 생성
groupadd mysql
useradd -r -g mysql -s /bin/false mysql
# 권한 설정
cd /usr/local/mariadb
chown -R mysql:mysql .
# 초기화
./scripts/mysql_install_db --user=mysql
8. MariaDB 서비스 생성
vi /etc/systemd/system/mariadb.service
[Unit]
Description=MariaDB Database Server
After=network.target
[Service]
Type=simple
User=mysql
Group=mysql
ExecStart=/usr/local/mariadb/bin/mysqld_safe --datadir=/usr/local/mariadb/data
ExecStop=/usr/local/mariadb/bin/mysqladmin shutdown
Restart=always
RestartSec=10
[Install]
WantedBy=multi-user.target
9. Tomcat 설치
# 압축 해제 및 이동
tar xvf apache-tomcat-9.*.tar.gz
mv apache-tomcat-9.* /usr/local/tomcat9
# 환경변수 설정
echo "export CATALINA_HOME=/usr/local/tomcat9" >> /etc/profile
source /etc/profile
10. Tomcat 서비스 생성
vi /etc/systemd/system/tomcat.service
[Unit]
Description=Apache Tomcat 9
After=network.target mariadb.service
[Service]
Type=forking
Environment=JAVA_HOME=/usr/local/java8
Environment=CATALINA_HOME=/usr/local/tomcat9
Environment=CATALINA_BASE=/usr/local/tomcat9
Environment=CATALINA_PID=/usr/local/tomcat9/temp/tomcat.pid
ExecStart=/usr/local/tomcat9/bin/startup.sh
ExecStop=/usr/local/tomcat9/bin/shutdown.sh
User=root
Group=root
UMask=0007
RestartSec=10
Restart=always
[Install]
WantedBy=multi-user.target
11. war 프로젝트 폴더 풀기
mkdir /usr/local/tomcat9/webapps/your-app
mv ./your-app.war /usr/local/tomcat9/webapps/your-app
cd /usr/local/tomcat9/webapps/your-app
jar -xvf your-app.war
12. 톰캣 설정 변경 (server.xml)
13. 톰캣 실행으로 제대로 되는지 확인
# Tomcat 시작
systemctl start tomcat
# 로그 확인
tail -f /usr/local/tomcat9/logs/catalina.out
14. 모든 서비스 등록 및 시작
# 서비스 파일 권한 설정
chmod 755 /etc/systemd/system/mariadb.service
chmod 755 /etc/systemd/system/tomcat.service
chmod 755 /etc/systemd/system/apache.service
# systemd 데몬 리로드
systemctl daemon-reload
# 서비스 자동 시작 활성화
systemctl enable mariadb
systemctl enable tomcat
systemctl enable apache
# 서비스 시작
systemctl start mariadb
systemctl start tomcat
systemctl start apache
# 상태 확인
systemctl status mariadb
systemctl status tomcat
systemctl status apache
728x90
반응형
LIST
'개발도구 > ETC' 카테고리의 다른 글
[PuTTY] 푸티 사용 중 Connection > SSH > Auth에 private key 입력 칸 없음 시 입력 방법 (0) | 2024.01.01 |
---|---|
[excel]엑셀 함수 총정리 (0) | 2022.08.02 |
움짤 gif 파일 용량 , 사이즈 조절 사이트 (0) | 2022.02.24 |
상업적으로 이용 할 수 있는 무료 한글 폰트 사이트 추천 눈누 (0) | 2022.01.25 |
[Lucene] KoreanAnalyzer 형태소 분석기 추가 (0) | 2022.01.24 |