uWSGI에서 thread 활성화

며칠 전에 웹서버 환경을 apache2, php5, mod_wsgi에서 nginx, php5-fpm, uwsgi로 바꿨는데 오늘 확인해보니 flask 앱중 하나가 계속 DB를 잡고 놔주질 않아서 Lock이 걸린 채로 서비스가 동작하질 않고 있었다.
uwsgi를 끄면 lock이 해제되는 걸 봐서 uwsgi로 돌리고 있던 게 문제인게 확실한데 테스트 해보면 잘 돌아가서 삽질을 또 엄청 했다.

확인 해보니 계산이 많이 필요한 작업은 스레드를 따로 돌려놨는데 이게 그냥 돌리면 돌아가지만 uwsgi 위에선 전혀 돌지 않고 있었다. 찾아보니 uwsgi는 기본적으로 멀티스레드가 꺼져 있었다. 실행 할 때 --enable-threads를 붙여서 실행해야 하고 ini파일에선 enable-threads = true라는 한 줄을 추가해주면 된다. 이제서야 정상적으로 돌아간다.

최근 nginx로 바꾸면서 익숙하지 않은 걸 여러 개 접하다 보니 삽질을 많이 하는 것 같다.
아직도 내가 찾지 못한 문제가 있을 것만 같아 두렵다.

WordPress 로그인에 SSL 적용

WordPress는 SSL 관련 설정이 관리자 화면에 전혀 없다. 심지어 로그인을 할 때도 https가 아닌 http를 사용하게 되는데 그냥 https를 붙여서 접속하라고만 한다. 이건 좀 아니라고 생각해서 플러그인을 깔아야 하나 고민중에 설정파일을 바꾸면 로그인을 할 때는 https를 사용한다고 하여 wp-config.php에 아래와 같은 설정을 추가했다.

define('FORCE_SSL_LOGIN', true); 
define('FORCE_SSL_ADMIN', true);

이렇게 하면 관리자 페이지와 로그인 페이지는 SSL이 적용된 페이지가 열리게 된다.

메모장에서 확장자 변경하여 저장하기

부득이하게 메모장을 사용해야 할 경우가 있다. IDE가 없는 다른 컴퓨터를 쓸 경우나 교수가 Notepad를 강요하는 경우다.
이럴 땐 저장을 할 때 확장자에 .txt가 자동으로 붙어 항상 드롭다운 메뉴에서 모든 파일로 바꾼 후에 저장해야 하는데 마우스를 엄청 쓰기 귀찮아 하는 나로서는 이 작업이 엄청나게 귀찮다.

그러다 갑자기 PHP Hello, World를 찾아보는 과정에 이 글을 찾게 되었다.
밑에 내려가 보면 메모장에서는 파일 이름을 “”로 감싸주면 굳이 드롭다운 메뉴에서 모든 파일을 선택하지 않아도 확장자를 지정할 수가 있다는 사실을 알았다.
예를 들어 main.c 파일을 그냥 저장하면 main.c.txt가 되지만 “main.c”로 저장하면 그대로 main.c가 되는 방식이다.