215월/25

ubuntu 서버 트래픽 모니터링

grep “$(date +’%d/%b/%Y’)” /var/log/nginx/access.log | wc -lgrep “$(date -d ‘yesterday’ +’%d/%b/%Y’)” /var/log/nginx/access.log.1 | wc -l HOUR_AGO=$(date -d ‘4 hour ago’ +’%d/%b/%Y:%H’)echo “과거 시간 전 접속 수 ($HOUR_AGO):”grep “$HOUR_AGO” /var/log/nginx/access.log | wc -l journalctl -u php8.1-fpm –since “10 minutes ago”request_terminate_timeout이나 메모리 누수 가능성 확인pm.max_requests = 500 정도로 설정해 주기적 재시작 유도 watch -n 1 “ps -ef | grep php-fpm | wc -l”→ FPM 프로세스 수가 pm.max_children에 도달하면 병목 상태 grep “max children reached” /var/log/php8.1-fpm.log이 메시지가 자주 나오는 경우 → 병목 발생 중 → pm.max_children을 늘릴 필요 있음 메시지가 없다면 → 안정적이며 현재 설정은 적정 현재 시간과 1시간 전 보기 편하게~ CURRENT_HOUR=$(date +’%d/%b/%Y:%H’)ONE_HOUR_AGO=$(date -d ‘1 hour ago’ +’%d/%b/%Y:%H’) echo “현재 시간 접속 수 ($CURRENT_HOUR):”grep “$CURRENT_HOUR” /var/log/nginx/access.log | wc -l echo “1시간 전 접속 수 ($ONE_HOUR_AGO):”grep “$ONE_HOUR_AGO” /var/log/nginx/access.log | wc -l

0312월/24

xcode 진행시 오류사항 메모

google admob 적용시 webview 도 자동 추가되는데 Podfile 에서의 오류였음 /ios/Podfile post_install do |installer| installer.pods_project.targets.each do |target| … target.build_configurations.each do |config| config.build_settings[‘GCC_PREPROCESSOR_DEFINITIONS’] ||= [ ‘$(inherited)’, ## dart: PermissionGroup.camera ‘PERMISSION_CAMERA=1’, ] end endend 왜 … 으로 되어있는지 모르겠으나, flutter_additional_ios_build_settings(target) 로 변경 버전을 너무 상향했다. image: ^3.0.1 에서 Flip 가능 의존성 업데이트 확인, win32 패키지에 의존하는 경우 최신 버전 확인이 필요 아무래도 윈도우 환경 개발에서 mac으로 이동했을 경우 문제 나는 듯 flutter pub upgrade TARGETS – Runner – Build Settings – User-Defined – FULTTER_BUILD_NAME 과 NUMBER 변경 심사에 통과하지 못할 경우 기존 버전변경하지 안해도 됨 CFBundleDisplayName, CFBundleName이 타업체 앱과 중복되어서는 안됨

228월/24

ubuntu 반복 셋팅 메모

php 빌드 패키지 저장소 추가 add-apt-repository ppa:ondrej/php php 설치 apt install php7.4 php7.4-fpm php7.4-mysql php7.4-gd php7.4-curl php7.4-mbstring php7.4-gmp php7.4-soap php7.4-zip php7.4-xml apt install php8.1 php8.1-fpm php8.1-mysql php8.1-gd php8.1-curl php8.1-mbstring php8.1-gmp php8.1-soap php8.1-zip php8.1-xml #vi /etc/php/8.1/fpm/pool.d/www.conf user = engineer group = engineer security.limit_extensions = .php .php3 .php4 .php5 .php7 .html 502 bad gateway 발생시 ;listen = /run/php/php8.1-fpm.sock listen = 127.0.0.1:9000 #service php8.1-fpm restart nginx 설치 apt install nginx nginx: [emerg] socket() [::]:80 failed 발생시 => listen [::]:80 default_server; 바인딩 부분 주석처리 Permission denied 발생시 vi /etc/nginx/nginx.conf => user engineer 로 변경 설정 vi /etc/php/7.4/apache2/php.ini short_open_tag = Off max_input_time = 60 #무제한: -1 memory_limit = 128M #upload 관련 post_max_size = 30M upload_max_filesize = 20M max_file_uploads = 10 mysql vi /etc/mysql/mariadb.conf.d/50-server.cnf bind-address = 0.0.0.0 # service mariadb restart

148월/24

unity android target api 34 관련

1. editor 2021.3.25f1 버전은 api 34 대응이 안된다. 2021.3.42f1 을 설치하도록 한다.   2. ndk, sdk, jdk, gradle 경로 \Unity Hub\Editor\2021.3.42f1\Editor\Data\PlaybackEngines\AndroidPlayer   3. gradle 을 최신으로 변경해주자 \Unity Hub\Editor\2021.3.42f1\Editor\Data\PlaybackEngines\AndroidPlayer\Tools\gradle https://gradle.org/releases/ unity 종료 후, 이곳에서 binary-only 를 받아주고. lib 를 교체해주면 된다. 8.4로 교체함   4. player settings에서 custom 관련 설정을 왠만하면 하지 말자. proguard 부분만 custom 하고 나머지는 체크 해제

184월/23

ssh sftp 상위 폴더 접근제한 (chroot)

# vi /etc/ssh/sshd_config PermitRootLogin yes #Subsystem sftp /usr/libexec/openssh/sftp-server Subsystem sftp internal-sftp Match User testuser ChrootDirectory /home/engineer/test ForceCommand internal-sftp X11Forwarding no AllowTCPForwarding no # service sshd restart chroot디렉토리 설정한 /home/engineer/test 는 755 권한 chroot와 상위디렉토리는 chown root:testuser engineer 쓰기권한이 필요하면 /home/engineer/test/하위디렉토리를 만들어서 쓰기권한폴더 생성하도록 # tail -f /var/log/secure fatal: bad ownership or modes for chroot directory “/home/engineer/test” [postauth] 오류뜨면 소유자와 755권한인지 체크해볼것 상위 디렉토리는 모두 root:engineer 755 권한