Development/JSP
[Nginx, Web Infra Architecture] 웹 서버 구축하기 (1)
Go0G
2021. 11. 14. 18:09
개요
웹 구조 설정 및 WEB&WAS 연동
- Nginx & Tomcat Reverse Proxy 연결
- 방화벽 추가
- SELinux 해제(실배포시에는 SE 리눅스 설정)
구성
환경
- WEB Server: CentOS Linux release 7.9 - NGINX
- WAS Server: CentOS Linux release 7.9 - Tomcat 7.0 - JDK 1.8.0_312
- DB: CentOS Linux release 7.9 - MariaDB(10.4)
현재 관리자(개발자)는 SSH를 통해 각 웹서버에 접속할 수 있으며, 일반 유저는 웹 서버를 통한 접근만 가능
개발은 Visual Stdio Code의 "Remote Development" 플러그인을 사용
Ngnix
외부 저장소 추가
#nano /yum.repos.d/nginx.repo
아래 내용 추가
[nginx]
name=nginx repo
baseurl=http://nginx.org/packages/centos/7/$basearch/
gpgcheck=0
enabled=1
설치
#yum -y install nginx
Tomcat 설치
#yum -y install tomcat
#yum -y install tomcat-webapps tomcat-admin-webapps
yum troubleshooting
#yum clean all
#yum clean metadata
#yum install epel-release
버전 정보 확인
#[tomcat Directory]/bin/version.sh
서비스 관련 명령어
서비스 시작
#systemctl start [tomcat/nginx/mariadb/etc.]
서비스 중단
#systemctl stop [tomcat/nginx/mariadb/etc.]
서비스 재시작
#systemctl restart [tomcat/nginx/mariadb/etc.]
서비스 확인
#systemctl status [tomcat/nginx/mariadb/etc.]
Ngnix Server Config
Nginx Server에 접속 시 Tomcat으로 Forwarding 하도록 Reverse-Proxy를 설정(Nginx Server)
경로: /etc/nginx/nginx.conf
server {
listen 80;
listen [::]:80;
server_name _;
root /usr/share/nginx/html;
location / {
proxy_pass [IP or Domain]:[Port]; #ip일 경우 http://[ip]/;
}
}
Nginx 서버외 Tomcat 서버 직접 접근 차단(Tomcat Server)
경로: /usr/share/tomcat/conf/server.xml
<host>
... 중략
#host 태그 내에 아래 내용 추가
<Valve className="org.apache.catalina.valves.RemoteAddrValve" allow="[Nginx IP]|127.0.0.1">
...
</host>
방화벽 OPEN 설정(Nginx Server)
#firewall-cmd --permanent --zone=public --add-port=80/tcp
#firewall-cmd --reload
#firewall-cmd --list-ports
방화벽 OPEN 설정(Tomcat Server)
#firewall-cmd --permanent --zone=public --add-port=8080/tcp
#firewall-cmd --reload
#firewall-cmd --list-ports
SELinux 끄기(Nginx Server)
#setenforce 0
Reference