dev 129

AMQP Consumer Implementation in PHP

PHP에서 구현 php-amqplib을 사용하여 구현이 가능함 하지만, 신뢰도가 떨어져 사용이 불가능 Worker를 돌리기에 적합하지 않은 언어(스크립트 언어의 한계) 다중 메세징 처리 불가능(싱글 쓰레드) 그럼, AMQP 컨슈머 데몬을 어떻게 만들지? 구글링 결과, github.com/corvus-ch/rabbitmq-cli-consumer 를 사용하는 방법이 있다. 메세지를 받는 데몬으로 메세지를 받아서, 다른 커맨드를 실행하여 인자로 넘겨주는 모양이다. 자세한 동작 방식은 더 살펴봐야 할듯 특정 php를 실행하여, 메세지를 받아서 처리하는 예제가 위 링크에 있다. 약간 어거지로, php 구현을 해야만 한다면 고려해볼만 하다. 참조: medium.com/@sergey.kolodyazhnyy/consu..

dev/php 2020.09.28

[CentOS] install RabbitMQ

환경 centos 7 Erlang 설치 sudo yum -y install erlang sudo erl -version Rabbit MQ 설치 sudo yum -y install rabbitmq-server sudo systemctl enable rabbitmq-server sudo rabbitmqctl status 웹콘솔 활성화 sudo rabbitmq-plugins enable rabbitmq_management sudo systemctl start rabbitmq-server 관리 명령어 계정 목록 sudo rabbitmqctl list_users 사용자 추가 sudo rabbitmqctl add_user {사용자명} {비밀번호} 사용자 태그 설정 sudo rabbitmqctl set_user_ta..

dev/etc 2020.09.28

linux ssh 비밀번호 대신 key file로 접속하기

접속용 키파일을 puttygen으로 생성 RSA 2048 리모트 리눅스 ~/.ssh/authorized_keys에 public key내용을 넣어주면 됨 ssh-rsa AAAAB3NzaC1yc2EAAAABJQAAAQEAsRWcHaGvg3epMorYq1wqM5RYGzwzGCgNYMYZv43CiEjDaBrzYxuAy8YO819gm2vLfjRSkKzCWnNC2u1ciHwkg4pbf8hNk2/ZIpmUmoGNzDOkXQKsPV2v2jQWyVd9fRAX228wd5j2Dt7AFM+NgS449Amv2P6cdbtQNFOE9bR/hjbd4rA75UtenqFRaJ1Psz86a63+Pj7OxFUYIs4Hb3ZNMoRtVRBNTYO7p4DG434H6XUWyc9Wkp6DuHbCA3zQsH1ENrfaLn4WhqzbB+72kKsFe..

dev/linux 2020.05.31

php7 캐슁

배경 DB가 느려서 사이트 성능이 안나옴 DB 쿼리 캐싱이 필요한 상황 캐싱 방식 APC(Alternative PHP Cache) / Memcached / SQLite 등등 mysqlnd_qc라는 라이브러리가 있으나, 13년 후로 빌드가 없음 결론은 Memcached를 적용하자. PECL 설치 yum install php-pear php-devel 설치 확인 pecl version Memcached 설치 yum install libevent libevent-devel memcached php-memcached 데몬 실행 memcached -d -m 512 -l 127.0.0.1 -p 11211 -u nobody 실행 및 설정 확인 echo "stats settings" | nc localhost 1121..

dev/etc 2019.10.20

[Git] 서버 배포 설정 From 리모트 레파지토리(bare 레파지토리 활용)

bare 레파지토리를 활용하여, .git디렉토리가 분리된 배포를 수행할 수 있다. 예제 변수 리모트 레파지토리: git@remote-repository:user/project.git 배포 디렉토리: /var/www/html 브랜치: master 깃 디렉토리: /home/user/repo/project.git 1. bare 레파지토리 생성 mkdir ~/repo cd ~/repo git clone --bare git@remote-repository:user/project.git 2. 배포 git --work-tree=/var/www/html --git-dir=/home/user/repo/project.git checkout -f master 이 후엔 쉘 스크립트를 활용한, checkout & pull(fe..

dev/linux 2019.08.26

[Troubleshooting] php-fpm 504 Gateway Time-out

nginx + php-fpm 조합으로 서버를 사용중인데, 갑자기 서버가 반응이 느려지더니 504 Gateway Time-out 발생함. /var/log/php-fpm/error.log를 확인하니 WARNING: [pool www] child xxxx said into stderr: "ERROR: Unable to set php_value 'soap.wsdl_cache_dir'" 라고 적혀있다. /etc/php-fpm.d/www.conf 를 열어보니 php_value[soap.wsdl_cache_dir] = /var/lib/php/wsdlcache 로 되어있다. 해당 경로로 가보니 단순한 권한 문제가 있어 보여서 수정했지만, 문제는 해결되지 않았다. session_start(); 에서 문제가 발생함을 확인..

dev/linux 2019.07.26