안녕하세요 한희성 입니다.
이어서 2편을 쓰도록 하겠습니다.!!!
설정해야할것들은 많고.. 시간은 없고 ㅠㅠ 벌써 시간이 오후 10시 30분인데요.. 오늘 다 하고 잘 수 있을지 모르겠네요ㅠㅠ
요즘 쌍둥이 아이들이 이시간이 됐는데도 잠을 잘 안자네요.. 이제 막 100일 넘었습니다. ㅎㅎ 딸둥이 아빠랍니다.
다시 본론으로 돌아와서 이어서 작성 ~
12. nginx 설치 및 설정
* https://hhseong.tistory.com/119
13. tomcat 설치 및 설정
* https://hhseong.tistory.com/80
14. 방화벽 설정
* netstat -tnlp
- 참고 https://zetawiki.com/wiki/%EB%A6%AC%EB%88%85%EC%8A%A4_%EB%A1%9C%EC%BB%AC%EC%84%9C%EB%B2%84_%EC%97%B4%EB%A6%B0_%ED%8F%AC%ED%8A%B8_%ED%99%95%EC%9D%B8- centos7 은 기본으로 22만 허용되어있음으로 firealld public zone 에 80 추가- 참고 : http://help.nanuminet.com/bbs/board.php?bo_table=manual&wr_id=281
정책 등록 #firewall-cmd --permanent --zone=public --add-port=80/tcp 재시작 #firewall-cmd --reload 정책 확인#firewall-cmd --zone=public --list-all |
- gpasswd -a nginx tomcat
- nginx user를 tomcat group 에 추가 파일 시스템 접근을 위해
* 방화벽 off
- 영구 비활성화
- systemctl disable firewalld
- systemctl disable iptables
- systemctl disable ip6tables
- 중지
- systemctl stop firewalld
- systemctl stop iptables
- systemctl stop ip6tables
12. nginx 설치 및 설정
* nginx 실행 및 자동실행 등록
- 참고 : https://www.lesstif.com/pages/viewpage.action?pageId=24445064
#systemctl start nginx #systemctl enable nginx |
* nginx 기본 설정값 복사
- 참고 https://hhseong.tistory.com/119?category=796867
- /etc/nginx/conf.d
-#cp default.conf default.conf.ori
-#vi default.conf
server { listen 80; server_name localhost; client_max_body_size 500M; charset UTF-8; #charset koi8-r; #access_log /var/log/nginx/log/host.access.log main;
# location / { # root /usr/share/nginx/html; # index index.html index.htm; # }
location /upload/ { alias /u00/upload/; #autoindex on; }
location / { proxy_pass http://127.0.0.1:8080; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; }
#error_page 404 /404.html;
# redirect server error pages to the static page /50x.html # error_page 500 502 503 504 /50x.html; location = /50x.html { root /usr/share/nginx/html; }
# proxy the PHP scripts to Apache listening on 127.0.0.1:80 # #location ~ \.php$ { # proxy_pass http://127.0.0.1; #}
# pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000 # #location ~ \.php$ { # root html; # fastcgi_pass 127.0.0.1:9000; # fastcgi_index index.php; # fastcgi_param SCRIPT_FILENAME /scripts$fastcgi_script_name; # include fastcgi_params; #}
# deny access to .htaccess files, if Apache's document root # concurs with nginx's one # #location ~ /\.ht { # deny all; #} } |
- #systemctl restart nginx- IP 로 접속 확인- 만약 접속이 안된다면 80포트 확인 및 방화벽 확인- #netstat -tnlp- 참고 https://zetawiki.com/wiki/%EB%A6%AC%EB%88%85%EC%8A%A4_%EB%A1%9C%EC%BB%AC%EC%84%9C%EB%B2%84_%EC%97%B4%EB%A6%B0_%ED%8F%AC%ED%8A%B8_%ED%99%95%EC%9D%B8- centos7 은 기본으로 22만 허용되어있음으로 firealld public zone 에 80 추가- 참고 : http://help.nanuminet.com/bbs/board.php?bo_table=manual&wr_id=281
정책 등록 #firewall-cmd --permanent --zone=public --add-port=80/tcp 재시작 #firewall-cmd --reload 정책 확인#firewall-cmd --zone=public --list-all |
- gpasswd -a nginx tomcat
- nginx user를 tomcat group 에 추가 파일 시스템 접근을 위해
13. tomcat 설정 (여기부턴 별도 작업을 제외한 tomcat 계정으로 작업 )
* https://hhseong.tistory.com/80?category=749333
* 는 참고
* #su - tomcat
* #mkdir /u00/tomcat
* #tar xvfp apache-tomcat-8.5.12.tar.gz(압축 파일일경우)
* 실행 스크립트
$ vi /u00/tomcat/apache-tomcat-8.5.12/bin/setenv.sh ------------------------------------------------------ ## 1. service name TomcatUser="tomcat" CATALINA_OUT="/u00/tomcat/apache-tomcat-8.5.12/logs/catalina.out" JAVA_HOME="/u00/java/jdk1.8.0_261/" CATALINA_HOME="/u00/tomcat/apache-tomcat-8.5.12" ## 2. JAVA Options ## Max HEAP Size MAX_HEAP_SIZE="2G" JAVA_OPTS="$JAVA_OPTS -Xmx$MAX_HEAP_SIZE -Xms$MAX_HEAP_SIZE" ## IBM JAVA MaxPermSize and GC Path not support!!! #JAVA_OPTS="$JAVA_OPTS -XX:MaxPermSize=256m -Xloggc:$CATALINA_HOME/logs/gc/gc.log" JAVA_OPTS="$JAVA_OPTS -Xloggc:$CATALINA_HOME/logs/gc/gc.log" JAVA_OPTS="$JAVA_OPTS -server -d64 -XX:+UseParallelGC -XX:ParallelGCThreads=4" JAVA_OPTS="$JAVA_OPTS -XX:-UseGCOverheadLimit" JAVA_OPTS="$JAVA_OPTS -verbose:gc" JAVA_OPTS="$JAVA_OPTS -XX:+PrintGCDetails -XX:+PrintGCTimeStamps" JAVA_OPTS="$JAVA_OPTS -XX:+PrintHeapAtGC -XX:+HeapDumpOnOutOfMemoryError" JAVA_OPTS="$JAVA_OPTS -XX:HeapDumpPath=$CATALINA_HOME/logs/gc/" ## 3. tomcat user check if [ "`whoami`" != "$" ] ; then echo "Run as $ user !!!" echo "su - $ -c `pwd`/$0 $*" exit 1 fi ## 4. Move logs Today=`date +%Y-%m-%d` HMS=`date '+%H%M%S'` logs="$CATALINA_OUT $CATALINA_HOME/logs/gc/gc.log" for log in $logs ; do if [ ! -f $log-$Today -a -f $log ] ; then mv -b -S "-$HMS" $log $log-$Today &> /dev/null fi done |
- 실행권한 부여
- $ chmod 700 /u00/tomcat/apache-tomcat-8.5.12/bin/setenv.sh
* server.xml수정
- #vi /u00/tomcat/apache-tomcat-8.5.12/conf/server.xml
* 서비스설정을 위한 스크립트
$ vi /u00/tomcat/apache-tomcat-8.5.12/bin/tomcatctl
#!/bin/bash # # tomcat This shell script takes care of starting and stopping Tomcat # # chkconfig: - 80 20 # ### BEGIN INIT INFO # Provides: tomcat # Required-Start: $network $syslog # Required-Stop: $network $syslog # Default-Start: # Default-Stop: # Short-Description: start and stop tomcat ### END INIT INFO
TOMCAT_USER="tomcat" TOMCAT_HOME="/u00/tomcat/apache-tomcat-8.5.12/" SHUTDOWN_WAIT=50 # Second
. /etc/bashrc
tomcat_pid() { echo `ps aux | grep org.apache.catalina.startup.Bootstrap | grep $TOMCAT_HOME | grep -v grep | awk '{ print $2 }'` }
start() { pid=$(tomcat_pid) if [ -n "$pid" ] ; then echo "Tomcat is already running (pid: $pid)" else # Start tomcat echo "Starting tomcat" if [ "`whoami`" != "$TOMCAT_USER" ] ; then /bin/su -l $TOMCAT_USER -s /bin/bash -c "cd $TOMCAT_HOME/bin && $TOMCAT_HOME/bin/startup.sh" else cd $TOMCAT_HOME/bin && $TOMCAT_HOME/bin/startup.sh fi fi return 0 }
stop() { pid=$(tomcat_pid) if [ -n "$pid" ] ; then echo "Stoping Tomcat" if [ "`whoami`" != "$TOMCAT_USER" ] ; then /bin/su -l $TOMCAT_USER -s /bin/bash -c "cd $TOMCAT_HOME/bin && $TOMCAT_HOME/bin/shutdown.sh" else cd $TOMCAT_HOME/bin && $TOMCAT_HOME/bin/shutdown.sh fi let kwait=$SHUTDOWN_WAIT count=0 count_by=1
until [ `ps -p $pid | grep -c $pid` = '0' ] || [ $count -gt $kwait ] ; do echo "Waiting for processes to exit. Timeout before we kill the pid: $/$" sleep $count_by let count=$count+$count_by; done if [ $count -gt $kwait ]; then echo "Killing processes which didn't stop after $SHUTDOWN_WAIT seconds" kill -9 $pid fi else echo "Tomcat is not running" fi
return 0 }
if [ "`whoami`" != "$" -a "`whoami`" != "root" ] ; then echo "Run as $ user !!!" echo "su - $ -c `pwd`/$0 $*" exit 1 fi
case $1 in start) start ;; stop) stop ;; restart) stop start ;; status) pid=$(tomcat_pid) if [ -n "$pid" ] then echo "Tomcat is running with pid: $pid" else echo "Tomcat is not running" fi ;; *) echo "Usage : $0 [start|stop|restart|status]" ;; esac
exit 0
|
* 서비스 등록 및 자동재시작
# chmod 700 /u00/tomcat/apache-tomcat-8.5.12/bin/tomcatctl # su root # ln -s /u00/tomcat/apache-tomcat-8.5.12/bin/tomcatctl /etc/init.d/tomcat # chkconfig --add tomcat # chkconfig tomcat on |
* 서비스 시작 및 종료, 재시작
# service tomcat start # service tomcat stop # service tomcat restart # service tomcat status |
14. 권한 부여
- #visudo
## tomcat
tomcat ALL=/usr/sbin/service tomcat, /usr/bin/systemctl start nginx, /usr/bin/systemctl stop nginx tomcat ALL=NOPASSWD: ALL |
15. u00 폴더 하위까지 tomcat 계정에게만 권한주기(root 계정으로)
* #chown -R tomcat:tomcat /u00/
* #chmod 700 -R /u00/
16. service tomcat start 실행 후 접속 확인
17. 설정 파일 첨부 파일 참고
* 캐리지 리턴때문에 티스토리에서 스크립을 복사해서 리눅스로 갈 경우 동작이 제대로 되지 않을 수 있습니다.
참고출처 : https://www.lesstif.com/ws/%EC%84%9C%EB%B9%84%EC%8A%A4-%EA%B4%80%EB%A6%AC%ED%95%98%EA%B8%B0-43844026.html
'운영체제 이야기 > Linux(CentOS)' 카테고리의 다른 글
[CentOS7] bad interpreter: No such file or directory (0) | 2020.08.25 |
---|---|
[CentOS7] 열린포트 확인, 서비스 전체 확인 (0) | 2019.11.11 |
[CentOS7] Minimal 버전 설치 이후 웹서버 만들기 따라하기 - 1편 (0) | 2019.11.04 |
[CentOS7] 시간 동기화 및 스케줄링 (0) | 2019.07.14 |
[CentOS7] 리눅스OS 설정 (0) | 2019.07.14 |
댓글