Nov 23, 2020 - Alias 만들기_2

예전, Alias 만들기라는 글을 적은 적이 있습니다.
오래되서 다시한번 정리합니다.

```shell script [XXXX-01:root]/home/ssp/log/log4j/script>#vi /home/root/.bashrc [XXXX-01:root]/home/ssp/log/log4j/script>#cd /home/ro -bash: cd: /home/ro: 그런 파일이나 디렉터리가 없습니다 [XXXX-01:root]/home/ssp/log/log4j/script>#vi ~/.bashrc


vi ~/.bashrc

alias rm=’rm -i’ alias cp=’cp -i’ alias mv=’mv -i’ alias vi=vim

alias elog=’tail -f /home/XXXX/logs/log4j/XXXX.errorlog.log’ alias dlog=’tail -f /home/XXXX/logs/log4j/XXXX.debuglog.log’ alias ilog=’tail -f /home/XXXX/logs/log4j/XXXX.infolog.log’ alias tlog=’tail -f /usr/local/tomcat/logs/catalina.out’ alias tstart=’/usr/local/tomcat/bin/startup.sh &’ alias tstop=’/usr/local/tomcat/bin/shutdown.sh’ alias data=’cd /home/XXXX/rfdata/DATA’

alias prop-reload=’curl -v http://127.0.0.1/servlet/monitor?mode=reloadConf’ alias recom-ilog=’ilog | grep -vi dump | grep -vi kafka | grep -vi rtbrdservice | grep -vi pushthread | grep -vi “덤프” ‘ alias recom-elog=’elog | grep -vi “campaignlist null” | grep -vi “lastmomentexception” | grep -vi “uuid is not found” ‘

Source global definitions

if [ -f /etc/bashrc ]; then . /etc/bashrc fi ~
```

자주 사용하는 명령어들은 약어를 사용하여 편하게 사용합니다.
저의 경우, 톰캣 재시작을 유용하게 사용합니다.

다만 중요한 명령어의 경우에는 alias 를 등록하지 않고 집적 호출하도록 유도하거나 강제하는 편입니다.

작업완료 후, source ~/.bashrc 적용합니다.

Nov 19, 2020 - nginx: [emerg] bind()

예전,
2018년 5월 28일 네트워크 성능에 관한 글을 올린 적이 있습니다.

물론 해당 글은 TOAST 에 올라왔던 글을 서버에 검토하면서 체크했던 것이지만요.

[SSP-01:root]/root>#sysctl net.ipv4.tcp_mem
net.ipv4.tcp_mem = 756747	1008999	1513494
[SSP-01:root]/root>#sysctl net.ipv4.tcp_mem
net.ipv4.tcp_mem = 756747	1008999	1513494
[SSP-01:root]/root>#sysctl fs.file-nr
fs.file-nr = 3920	0	3209106
[SSP-01:root]/root>#

세 값은 각각 현재 열려 있는 파일의 수, 현재 열려 있으나 사용되지 않는 파일의 수, 열 수 있는 파일의 최대 개수를 뜻합니다.

라고 작성했던 적이 있습니다.

그렇기 때문에 2020-11-11 jamtter 테스트 시, 바로 커넥션 이슈로 추측했고,

cat /proc/sys/net/ipv4/ip_local_port_range

으로 최대 open file 갯수 요청을 할 수 있었습니다.

그런데 말입니다… 서비스 테스트 시에 장애를 발견하게 되었습니다.

인프라 구축 시, nginx 를 두고 내부에 어플리케이션을 여러개 두는 기능을 구현했습니다.
(무중단 배포 서비스 구축을 위해.. )

nginx[33832]: nginx: [emerg] bind() to 0.0.0.0:80 failed (98: address already in use)

nginx.conf 의

events {
    worker_connections 39000;
}
worker_rlimit_nofile 40000;

내부 worker의 커넥션과 rlimit_nofile 의 갯수를 증가시켰어야했었는데,
스트레스 테스트 시 500 에러가 나던 원인 마지막 퍼즐을 찾았습니다.

Nov 19, 2020 - Intermediate-Chain

인증서 적용 후, 기능 테스트는 정상적이었으나, 연동 시, 타 서비스 업체에서 문의가 왔습니다.

안드로이드 앱(모바일웹에서는 발생하지 않음)에서 호출 되면서 SSL 관련 문제가 발생하여 앱이 죽음.

웹상에서는 문제없이 동작하는데, 모바일 단말에서 서버 인증서의 발급자를 확인하지 못하는 경우가 많아 중개(체인) 인증서가 필요하다는 글을 보게 되어,
서버 인증서를 확인했습니다.

https://www.ssllabs.com/ssltest/analyze.html?d=주소

혹시 몰라 인증서 검사를 했는데,

This server's certificate chain is incomplete. Grade capped to B.

중개(체인) 인증서 문제로 확인되어, 결국 인증서 갱신!!!!

인증서 재발급 받고, 다시 테스트를 진행해야하겠네요.

ps . 인증서 재발급 받고 Chain issue 가 해결되었습니다.

이미지