기본 콘텐츠로 건너뛰기

라벨이 서버인 게시물 표시

[docker] docker commends(run, commit, pull, search, exec, etcs)

docker는 가상머신처럼 기존의 운영체제에서 다른 운영체제를 돌릴 수 있도록 해주는 기술입니다 이번 포스팅에서는 도커의 명령어를 간단하게 정리를 해보도록 하겠습니다. 이미지 확인 $ docker images 이미지 파일 내려받기 $ docker pull [ image] 이미지 파일검색 $ docker search [ image] 컨테이너 생성 후 실행 $ docker run [ image] run명령어는 이미지 파일을 컨테이너를 생성해주어 명령어를 실행을 해주는 명령어 입니다. run명령어를 실행시 해당 이미지 파일이 없다면 pull을 진행을 하게 됩니다 그리고 컨테이너를 만들어 주고 해당 컨테이너를 실행을 시킵니다. 컨테이너는  $ docker ps -a 로 확인이 가능 합니다. ex) 일반 os를 생성하여 bash실행 $ docker run -it ubuntu /bin/bash ex) db같은 서버를 실행 할 경우 $ docker run -d --name mysql -p 3306:3306 -e MYSQL_ROOT_PASSWORD =[ password] [ 이미지 이름] 좀더 다양한 옵션을 확인할 수 있습니다. e 옵션: 환경변수 설정. p 옵션: 포트포워딩 설정. d 옵션: 데몬모드라고 불리우며, 백그라운드로 실행을 시킵니다. 디비간은 서버를 실행 시킬떈 -d옵션을 주어 백그라운드로 실행을 시켜주어야 해당 세션에서 나와도 정상적으로 작동을 합니다. i, t옵션 : it로 쓰며 bin/bash로 실행을 할 땐 적어주어야 합니다. v 옵션: 호스트와 공유할 디렉토리 설정 컨테이너 확인 $ docker ps -a 실행중인 컨테이너 확인 $ docker ps 컨테이너 실행 $ docker start [ CONTAINER ID] 컨테이너 중지 $ docker stop [ CONTAINER ID] 컨테이너 재시작 $ doc

[server] ubuntu에 APM을 설치해보자.

시작하기에 앞서서 필자는 docker에 ubuntu 16버전에서 셋팅을 하였습니다. ubuntu 설치 직후와 같은환경. 필자는 도커를 사용했기 때문에 기본포트를 사용하지 않고 10000번 포트로 바꿔서 사용을 할 것입니다. 왜 굳이 10000번을 했냐면?,  왜우기 쉬워서... ㅋㅋ APM설치 ubuntu에 php환경을 셋팅을 해보도록 하곘습니다. 도커에 우분투를 올린것은 우분투를 설치 직후와 같기때문에 패키지, apt-get을 업데이트를 시켜줍니다. apache, php, mysql을 APM이라고 부른다 $ apt-get update $ apt-get upgrade apache2 설치 $ apt-get install apache2 mysql 설치 $ apt-get install mysql-server mysql-client mysql은 설치를 진행중에 관리자 계정의 패스워드를 입력하라는 창이 뜬다. php 설치 $ apt-get install php libapache2-mod-php php-xml php-gd php-mysql apache, mysql 실행하기 $ service apache2 restart * Restarting Apache httpd web server apache2 AH00558: apache2: Could not reliably determine the server's fully qualified domain name, using 172.17.0.2. Set the 'ServerName' directive globally to suppress this message [ OK ] $

[server] azure-cli를 이용하여 azure다루기

azure-cli 설치하기 $ npm install -g azure-cli azure-cli설치 확인 및 명령어 확인 버전확인 $ azure --version # 설치 된 azure버전확인 0.10.12 (node: 6.9.2) 명령어 확인 $ azure Microsoft Azure CLI would like to collect data about how users use CLI commands and some problems they encounter. Microsoft uses this information to improve our CLI commands. Participation is voluntary and when you choose to participate your device automatically sends information to Microsoft about how you use Azure CLI. If you choose to participate, you can stop at any time later by using Azure CLI as follows: 1. Use the azure telemetry command to turn the feature Off. To disable data collection, execute: azure telemetry --disable If you choose to not participate, you can enable at any time later by using Azure CLI as follows: 1. Use the azure telemetry command to turn the feature On. To enable data collection, execute: azure telemetry --enable Select y to enable data collection :(y/n) y 설치 직후 azure를 실행하면 위와같은 문구가 뜬다  y 를 입

[bot] python에서 슬랙 연동 - slacker, slaclclient를 활용하여 각종 정보를 가져와 보자

원래는 python으로도 rtm을 활용하여 이벤트를 잡아보고 싶었는데 여러 검색을 해보니 생각보다 이런저런 API들이 많아 쓸만한 것들을 소개를 해보려고 한다. 우선 기본적으로 webclient처럼 메세지를 보내는 기능이 존재한다 근데 이게 모듈에 따라서 봇이 메세지를 보낼수도 있고, 특정 계정이 메세지를 보낼수도 있다. 2가지의 모듈을 소개를 하겠다 1.  s lacker $ pip install slacker 이 친구는 메세지를 날릴경우 봇이 메세지를 날려준다. 2.  s lackclient $ pip install slackclient 요 친구는 메세지를 날리면 특정 계정이 메세지를 날려준다. 1 2 3 4 5 6 7 8 9 10 11 12 13 from  slacker  import  Slacker from  slackclient  import  SlackClient token  =   '발급받은 API' slack  =  Slacker(token) slack.chat.post_message( 'channel_id' ,  'message' ) sc  =  SlackClient(token) user_list  =  api_call  =  sc.api_call( "users.list" ) channel_list  =  api_call  =  sc.api_call( "channels.list" ) print ( sc.api_call( "im.history" , channel = "channel_id" )) cs api을 호출하여 유저, 채널 리스트들과 해당 채널에서의 채팅 내역을들 불러올 수 있다.

[서버] http response code 413 해결방법

요즘 데이터 처리를 하다가 413에러를 처음보게 되었다. 해당 에러를 해결하는 방법은 node.js를 기준으로 설명을 하겠다(본인이 node.js를 하기 때문에.. ㅋㅋㅋㅋ) 우선 413에러는 body데이터가 크면 발생하는 에러이다. 문득 왜 body데이터에 제한이 있지하는 의문이 들어 구글링을 하기 시작을 하였다. node.js에서는 body데이터를 bodyParser라는 모듈을 추가시키고 미들웨어를 추가 시켜줌으로써 body데이터를 파싱을하게된다. bodyParser에대해서 알아보니. 기본적으로 100Kb까지 body를 실을수 있다고 한다.  https://github.com/expressjs/body-parser 1 2 app.use(bodyParser.json({limit:  5000000 })); app.use(bodyParser.urlencoded({limit:  5000000 , extended:  true , parameterLimit: 50000 })); cs 위처럼 미들웨어를 추가시켜주면 된다.(해당문서는 node.js 6.x버전으로 되있기 때문에 하위버전은 상위버전으로 업데이트 하기를 권장한다 ㅋㅋㅋㅋㅋ) 근데 위 코드는 6.x버전에서 먹히는 코드이고 하위버전은 좀 다른방식으로 추가가 이루어 진다. 추가적으로 스택 오버플로우에서 5000000을 '5Mb'이런식으로 되있는게 있는데 스트링으로 하니깐 413에러가 계속 뜨더라 이건 왜그런지는 정확히 모르겠네. 암튼 위처럼 정수로 넣어주자 ㅋㅋㅋ

[워드프레스] 워드프레스(wordpress) 설치

오늘 워드프레스트 쓸 일이 있어서 워드프레스를 설치하고 설정을 완료하였다. (결국은 안써도 되게됬지만.... ㅋㅋ) 워드프레스를 쓰기 위해서는 플랙폼을 설치를 해야한다. WAMP:  http://www.wampserver.com/en/ MAMP:  http://www.mamp.info/en/index.html LAMP:  http://bitnami.org/stack/lampstack XAMPP:  http://www.apachefriends.org/en/xampp.html WAMP : 윈도우용 MAMP : 맥용 LAMP : 리눅스용 XAMPP : 통합 플랫폼(윈도 + 맥 + 리눅스)  열심히 설치를 해준다. XAMP혹은 오토 셋을 이용해도 된다.(굳이 두개다 설치할 필요 없다. 이거 두개 다 설치해야되는 건줄 알고 설치 했는다 하나만 필요하더라 ㅋㅋㅋ)  동의를 해주고 열심히 다음을 눌러준다. 설치가 되면 위와같은 프로그램이 실행된다. 제어를 들어가서 MySQL시작 웹서버 시작을 눌러주면 자동으로 로컬에 디비와 웹 서버가 열린다. (이 경우 시작이 안되는 경우가 있는데 이떄는 재부팅을 해보면 될것이다.  나는 PC에 DB서버가 항상 돌고 있어서 충돌나서 실행이 안되더라 나는 GUI툴로 workbench를 쓴다.(사실 커맨드 라인이 편해서 잘 안쓰긴 하는데 가끔 외부 서버랑 연결할 떄 확인용으로 쓰거나 쿼리 저장용으로 쓴다 ㅋㅋㅋㅋ 보면 3개의 DB 서버가 존재한다. 여기서 하나만 구동이 가능하다  MySQL56은 로컬에서 접속되는 서버이다. WAMPMYSQL64는 WAMP 플랫폼에서 접속되는 서버이다. AutoSet8_MySQL은 오토샛에서 접속되는 서버이다. 오토셋이 running이 되어있다.(정상적으로 실행이 됬다는 의미이다.) 이거 계속 실행이 안되서