Tomcat8 catalina MessageDispatch15Interceptor class not found


Tomcat 으로 클러스터링을 하는데, 왜인지 모르게 클러스터를 찾지 못하는 문제가 발생합니다 


제가 사용하는 버전은 8.5.12 버전입니다.


그런데 8.5.12 에서 8.0.42 버전으로 다운그레이드 하니 저런 문제는 없어졌네요 .


아마 버전업 하면서 클래스명이 바뀐것 같은데, 이것때문에 시간 엄청 썻네요 

저작자 표시 비영리 변경 금지
신고
크리에이티브 커먼즈 라이선스
Creative Commons License



AWS 에 Putty로 PEM 키를 읽어들일려고 할때 , couldn't load private key unexpected end of file 오류가 난다면


현재 사용하고 있는 Putty 버전에 버그가 잇는것입니다.


http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html 에서 최신버전을 받아서 다시 시도하시면 해결 되십니다. 

저작자 표시 비영리 변경 금지
신고
크리에이티브 커먼즈 라이선스
Creative Commons License

The forwarded port configuration expects two parameters, the port on the guest and the port on the host. Example:

Vagrant.configure("2") do |config|
  config.vm.network "forwarded_port", guest: 80, host: 8080
end

This will allow accessing port 80 on the guest via port 8080 on the host.

For most providers, forwarded ports by default bind to all interfaces. This means that other devices on your network can access the forwarded ports. If you want to restrict access, see the guest_ip and host_ip settings below.

https://www.vagrantup.com/docs/networking/forwarded_ports.html


결국에는 Virtue Box에서 돌아가는가지만, 개발을 위해 멀티 클러스터 환경(그래봤자 4노드)를 구현 했지만, SSH말고 다른 통신 포트를 포워딩 하기 위해 찾아보니, 매우 쉽게 포워딩 가능 


저작자 표시 비영리 변경 금지
신고
크리에이티브 커먼즈 라이선스
Creative Commons License

현재 사용중인 리눅스는 Centos6 64bit 이고 MySQL 버전은 기본 5.1 버전입니다. 


5.7로 업그레이드 하기 위해서는 다음과 같은 절차로 진행하시면 되십니다. 


먼저 MySQL 사이트에 들어가서 RPM 을 바운받아 YUM repo를 추가합니다. 


http://dev.mysql.com/downloads/repo/yum/



MySQL ComunityMySQL Comunity



  1. wget http://dev.mysql.com/get/mysql57-community-release-el6-7.noarch.rpm :: 설치 
  2. /etc/init.d/mysqld stop :: mysql 정지 
  3. yum remove mysql mysql-server* 기존 mysql 삭제
  4. yum install mysql-server :: 5.7 설치 
  5. /etc/init.d/mysqld start ::  mysql 시작
    1. 만약 이때 failed 가 뜨면 tail /var/log/mysqld 확인해서 문제 요소 해결(저의 경우에는 [ERROR] unknown variable 'default-character-set=utf8' 이런 오류가 떠서, my.cnf에서 관련설정들을 주석 처리하였습니다..)
  6. mysql_upgrade -u root -p
  7. MySQL 사용


저작자 표시 비영리 변경 금지
신고
크리에이티브 커먼즈 라이선스
Creative Commons License

리눅스로 작업을 하다가, ubuntu를 자주 사용했을 경우는 sudo를 썻지만, 레드헷계열을 사용하다 보니 

root을 많이 사용하게 되네요


이때, 몇가지 고민이 되는데, 사내에 있는 서버들을 사내의 ip대역에서만 root 계정을 접근하게 하고 싶고 나머지 대역에서는 접근하지 못하게 할 수 있을까 하고 생각이 들었는데,


정말로 쉽네요. 



/etc/ssh/sshd_config에서 

 PermitRootLogin yes 바꾸고

 AllowUsers root@192.168.200.* 

이런식으로 바꿔버리면 root에 대해서 192.168.200.* 대역에서만 들어올수 있습니다


만약 저기에 대역을 추가하고 싶다면 AllowUsers root@192.168.200.* root@203.203.203.333 이렇게 추가하면 된다는데, 실제로는 해보지 않았습니다. 위에 방법으로 해보니 , 해당 대역에서만 root로 들어가지네요. 





저작자 표시 비영리 변경 금지
신고
크리에이티브 커먼즈 라이선스
Creative Commons License



오랜만에 설치해서 그런지 헷갈렸네요.


설치 apt-get install gpac 


사용법 MP4Box (소문자인줄 알다가 뻘짓함.)



저작자 표시 비영리 변경 금지
신고
크리에이티브 커먼즈 라이선스
Creative Commons License

개인적인 용도로 클라우드 서비스를 이용해서 리눅스 서버 한대를 이용하고 있습니다.

아마존이나, 유클라우드 같은 서비스도 있지만 너무 가격이 비싸서 저 같은경우는 Ramnode(http://www.ramnode.com/)를 이용하고 있는데 

최고 작은 사이즈의 인스턴스의 경우 1년에 15달러 정도 합니다.

(사실 서버가 여러군데 있는데, 아시아에는 없습니다. 시애틀에 있는 서버를 이용중인데 속도가 좀 느리긴 합니다. 하지만 VPN과 개인적인 Proxy용으로 만든거라 나름 쓸만합니다. )



ramnoderamnode



여러 리눅스 배포판을 제공하는데, 지금은 데비안7을 사용하고 있습니다. 분명히도 우분투도 데비안 계열이였는데,Vim을 사용하니 흑백 화면만 나오는것입니다. 해결방법은 간단합니다. 데미안 위키에 간단하게 나와있네요. vimrc를 열어서 syntax를 on으로 만드시면 됩니다. 


https://wiki.debian.org/vim

Vim supports syntax highlighting. To activate it open up

/etc/vim/vimrc

and uncomment the line

" Vim5 and later versions support syntax highlighting. Uncommenting the next
" line enables syntax highlighting by default.
syntax on


저작자 표시 비영리 변경 금지
신고
크리에이티브 커먼즈 라이선스
Creative Commons License

2012/06/22 - [Study/Linux] - 인트라넷 또는 클러스터 구성시 우분투 apt-get 사용방법


사실 제가 과거에 apt-cache를 이용해서 내부 인터넷 클러스터 환경에서 Ubuntu apt-get 을 사용할수 있는 방법을 포스팅 한적이 있습니다. 사실 클러스터 환경을 운용하다보니 제 개인적인 생각으로는 효율적이지는 않았습니다.

왜냐하면, 가끔씩 컴파일 할 일이 생길때 ant를 실행할때 외부 인터넷 연결을 필요로 하거나, 또는 외부 wget같은걸로 외부에서 받아올려고 할때는 안됩니다.


그래서 결정한것은 마스터 , 1번 외부노드로 연결되는 서버에 Proxy를 구축하는 방법입니다. 사실 정확하게는 기억이 안나는데,브릿지를 구성하는 방법이 잇긴한데, 제가 설정을 작못해서 그런지, 느리더군요.


squid3는 설치 방법이 간단해서(약간 차이나긴 하지만 ubuntu 10.04, 12.04의 경우 데몬 스크립트가 생성되는데 14.04에서는 생성이 안되는것 같더군요) 이건 다음 포스팅에서 해보는걸로 하고 하고 만약 squid3가 설치되어 있다는 가정하에 apt-get으로 적용시키는 방법에 대해 설명 드리겠습니다


/etc/apt/apt.conf 에 이런식으로 적용하시면 되십니다. (apt.conf라는 파일이 아마 없을것 같습니다. 이건 생성해주시면 되십니다.)



http://askubuntu.com/questions/23666/apt-get-does-not-work-with-proxy



Acquire::http::proxy "http://User:Password@host:port/";
Acquire::ftp::proxy "ftp://User:Password@host:port/";
Acquire::https::proxy "https://User:Password@host:port/";

일딴 저 같은경우는 인증정보가 없기때문에, 실제 이런식으로 작성하였습니다.


Acquire::http::proxy "http://192.168.0.1:3128/"; Acquire::https::proxy "http://192.168.0.1:3128/"; Acquire::ftp::proxy "http://192.168.0.1:3128/";

저작자 표시 비영리 변경 금지
신고
크리에이티브 커먼즈 라이선스
Creative Commons License

Hadoop을 1.0 버전때에서 사용해봐서 2.0 버전을 공부해보려고 StandAlone 모드로 설치하던 중에 발생한 문제입니다.


물론 이러한 경우가 아니라도 적용이 가능할것 같습니다.


ssh-keyges -t rsa -P ""

이렇게 해서 id_rsa 와 id_rsa.pub 가 생성된후 authorized_keys를 생성한다음

ssh localhost로 한다음에 접속하려고 하니 권한이 없다고 뜨는것입니다.


ssh-server를 다시 실행해봐도 안되고, 지금 제가 사용하는 버전이 Ubuntu 14.04 LTS 데스크톱 버전입니다.

(주로 Hadoop MapReduce 관련 작업을 할때 윈도우에서 이클립스에서 Maven에 올려서 작업했는데, 리눅스에서 하면 MR작업을 바로 걸수 있다고해서, 데스크탑 모드로 약간은 뻘짓하는중입니다.)


리눅스 특성인지, 제가 제대로 이해한건지는 모르겠지만. SSH-keygen 으로 키를 생성하였을때 로그인한 세션에는 바로 적용이 안되는것 같습니다?? 물론 다음 세션부터는 로그인할때 자동적으로 설정들을 읽어와서 그런건지 

ssh 가 RSA 키로 접속이 안되는 일은 발생은 안하였습니다.


만약 저와 같은 리눅스 데스크톱 버전에서 하시는거면 한번 logout한다음 다시 시도해보세요 .


그리고, 과거에 제가 몇몇 관련이슈를 포스팅한적이 잇으니 참고해주요


2012/01/09 - [Study/Linux] - ssh RSA로 접속 불가능시


저작자 표시 비영리 변경 금지
신고
크리에이티브 커먼즈 라이선스
Creative Commons License


우분투 서버용 버전만 계속 사용하다가, 노트북에 Ubuntu 14.04 데스크톱 버전을 설정하였는데, 그 사이에 변경이 있던건지는 잘모르겠지만, 설정 위치가 살짝 바뀐것 같습니다. 우분투 guest session 을 없애는 방법을 검색했더니 역시 구글신..

 2012/02/09 - [Study/Linux] - 우분투 11.10 손님(Guest) 막기



http://askubuntu.com/questions/451526/removing-guest-session-at-login-in-ubuntu-14-04


Just press Ctrl+Alt+T on your keyboard to open Terminal. When it opens, run the command(s) below:

sudo nano /usr/share/lightdm/lightdm.conf.d/50-ubuntu.conf

Add the following line, save and close.

allow-guest=false

Reboot, and you're set.

enter image description here


저작자 표시 비영리 변경 금지
신고
크리에이티브 커먼즈 라이선스
Creative Commons License

현재 저의 환경은 Ubuntu 12.04 LTS 64비트 환경입니다.


PureFTP를 이용하여 FTP를 생성하였고 다른 사용자가 접근해서 받는중입니다.

그리고 보안 옵션으로 FTP 사용자가 상위 폴더로는 접근하지 못하게 해논 상태입니다.


지금 어떤 문제가 발생했냐면, 내부 폴더 /usr/local 안에서 생성되는 파일을 ftp를 통해 제공을 해야합니다.


저는 ln -s /usr/local/app /home/user/app 이런식으로 심볼릭 링크로 걸어놓았습니다.

하지만 리눅스 쉘상에서는 작동을 하지만 FTP에서는 디렉토리를 찾을수 없다는 오류가 나왔습니다.


이럴때 해결 할 방법을 찾아보니 마운트를 시켜놓는 방법입니다.

옵션은 다음과 같습니다. mount -o bind /usr/local/app /home/user/app


같은 고민을 하시고 계시는분에게 도움이 되시길 바랍니다. 



저작자 표시 비영리 변경 금지
신고
크리에이티브 커먼즈 라이선스
Creative Commons License

제 환경은 ubuntu 12.06 64bit LTS입니다.


웹상에서 ssh sftp 막기 자료를 찾아보면 대부부분 sshd_config(설정파일) 안에서 

#Subsystem sftp /usr/lib/openssh/sftp-server

주석 처리하라는데 저는 안먹히더군요..(filezilla에서는 계속 접속이 되더군요..)


외국쪽 포럼에서 발견하여서 저도 적용하였는데

이렇게 한번 바꿔보시는것도  좋으실것 같습니다. 


Subsystem sftp /bin/false


이렇게 하면 접속이 차단됩니다.  




 



저작자 표시 비영리 변경 금지
신고
크리에이티브 커먼즈 라이선스
Creative Commons License

우분투에서 apt-get 을 통해서 왠만한것 패키지들은 다 설치할수 있습니다.

물론 시스템의 튜닝이라던지, 상황에 따라 직접 컴파일 하는 일들이 발생하는데, 이때 소스를 컴파일 하기 위해서 ./configure를 사용하였을때 라이브러기가 없다면, 꽤나 골치아프게 됩니다. (찾아서 설치해줘야 하니까요..)=


저도 얼마전에 알게된건데 이 문제는 꽤 쉽게 해결 할 수가 있습니다.


먼저 sudo apt-get install auto-apt 라는 패키지를 설치합니다.

그리고 컴파일 하려는 폴더로 이동하셔서

auto-apt run ./configure --prefix=/usr/local/mypackage............ 등 하시게 되면 ./configure를 진행하면서 해당하는 의존성 패키지가 없을경우 자동으로 설치하게 됩니다.(물론 중간에 이걸 설치할꺼냐 안할꺼냐 Y/N 물어보는데 이떄 Y를 누르시면 됩니다.)






저작자 표시 비영리 변경 금지
신고
크리에이티브 커먼즈 라이선스
Creative Commons License

com.mysql.jdbc.exceptions.jdbc4.CommunicationsException: Communications link failure


혹시 저와 같은 경우의 분이 계실까봐.. 남깁니다.


일단 저의 상황입니다.(케이스마다 다르겠죠..)


저는 A라는 서버에서 운용중이였던 MySQL을 B라는 서버로 옮기고, C라는 위치에서 B라는 서버로 JDBC를 이용하여 MySQL을 접속하려고 하는 상황입니다.


현재 저 같은경우는 mysql 내부 설정(접속 % 라던지,) 이 다되어 있었지만, 제가 실수로 /etc/my.cnf 에 있는 bind-address를 주석처리를 안한상태로 mysql을 기동시킨 상태였습니다.


만약 저와 같은 경우라면 my.cnf를 한번 확인하시는것도 좋으실것 같습니다.


저작자 표시 비영리 변경 금지
신고
크리에이티브 커먼즈 라이선스
Creative Commons License
  1. Favicon of http://adunhansa.tistory.com BlogIcon 아둔한사 2014.04.22 18:50 신고

    문제 해결됐습니다. 감사합니다. ㅎㅎ

INFO [alembic.migration] Running upgrade e197124d4b9 -> 1fcfc149aca4, Add a unique constraint on (agent_type, host) columns to prevent a race condition when an agent entry is 'upserted'.

./unstack.sh
cd /opt/stack/neutron/neutron

./git fetch https://review.openstack.org/openstack/neutron refs/changes/77/61677/1 && git format-patch -1 --stdout FETCH_HEAD

~/devstack/
./stack.sh

references




저작자 표시 비영리 변경 금지
신고
크리에이티브 커먼즈 라이선스
Creative Commons License

우분투에서 jdk 를 설치하게될경우, openjdk 가 설치가되는데, 이때 oracle jdk를 설치해도, openjdk가 작동할때가 있습니다.  이때 순서 변경 방법


sudo update-alternatives --install "/usr/bin/java" "java" "자신의 java 설치 경로 ex> /usr/local/java/bin/java" 숫자 ex>1


sudo update-alternative --install "/usr/bin/java" "java" "/usr/local/java/bin/java" 1


sudo update-alternatve --config java


There are 3 choices for the alternative java (providing /usr/bin/java).


  Selection    Path                                            Priority   Status

------------------------------------------------------------

  0            /usr/lib/jvm/java-6-openjdk-amd64/jre/bin/java   1061      auto mode

  1            /usr/lib/jvm/java-6-openjdk-amd64/jre/bin/java   1061      manual mode

  2            /usr/lib/jvm/java-7-openjdk-amd64/jre/bin/java   1051      manual mode

* 3            /usr/local/java                                  1         manual mode


Press enter to keep the current choice[*], or type selection number: 


이런식으로 나오면 3, 선택


여기까지 하면 JAVA에 대한 우선순위 변경 완료, 

javac도 동일한방법으로


sudo update-alternative --install "/usr/bin/javac" "javac" "/usr/local/java/bin/javac" 1 

sudo update-alternative --config javac


java -version

javac -version





저작자 표시 비영리 변경 금지
신고
크리에이티브 커먼즈 라이선스
Creative Commons License

Ubuntu 에서 apt-get update 명령어 사용시 The package lists or status file could not be parsed or opened 오류가 나올때 해결방법입니다.


sudo rm /var/lib/apt/lists/* -vf
sudo apt-get clean
sudo apt-get update
sudo apt-get upgrade



http://ubuntuforums.org/showthread.php?t=2078996 

저작자 표시 비영리 변경 금지
신고
크리에이티브 커먼즈 라이선스
Creative Commons License

내부망을 이용해서 클러스터를 구축하여서 사용중인데, 각 서버의 시간이 달라서 로그 파일을 보거나, 다른 여러 작업을 하는데 있어서 불편함이 있어서, 시간을 동기화 할 필요가 생겼습니다.


외부에 연결된 서버라면, 간단히 동기화를 해야겠지만. 이런경우는 아니더군요. 일단 제 상황은 서버 한대는 외부와 내부망이 동시에 물려있습니다. 



2011/09/26 - [Study/Linux] - 리눅스 시간 동기화

2011/09/26 - [Information] - 국내 타임 서버


급하게 인터넷을 찾아봤는데, 무슨말인지도 모르겠고... ㅋㅋ 다행이도 찾아보니 쉬운것 같네요.


일단 저의 설정 방법은 내부와 외부와 연결된 컴퓨터에 NTP 시간 서버를 설치합니다. 여기서 이 컴퓨터를 A_TIME 서버라고 표현하겠습니다. 나머지 컴퓨터들은 쉘로 만들던지 해서, A_TIME 서버를 통해서 시간을 동기화 하는 방법 입니다.



먼저 내부와 외부망이 연결된 서버에 NTP 를 설치합니다.

sudo apt-get install ntp

sudo vim /etc/ntp.conf




저는 기본설절에서 TIME 주소를 time1.daum.net으로 변경하였습니다.(시간 서버 관련된 글을 읽어 보았더니 개인서버는 스펙트럼3을 이용하라는둥 블라블라 등등)


그리고 맨아래에

restric 192.168.0.0 mask 255.255.255.0 nomodify notrap 이부분을 추가하였습니다. 이부분은 원래 다르게 주석처리 되어있습니다.(웹을 찾아보니 . 이게 시간을 받아갈 애들의 주소에 대해서 권한 설정하는거라고 하네요)

급하게 찾아서 세팅한거라 나머지 설정은 저도잘


그리고 sudo /etc/init.d/ntp restart  재시작 하셔서, 설정을 반영시면됩니다.


그리고 시간을 동기화 하려는 서버에가서 sudo ntpdate A_TIME 명령을 내리시면 시간이 동기화 됩니다.

18 Jul 22:22:40 ntpdate[8268]: step time server 192.168.X.X offset -102.416580 sec


18 Jul 22:23:42 ntpdate[8257]: no server suitable for synchronization found

만약 이런 오류가 나면, 5분정도 기다리신다음에 다시 해보세요. 그리고 서버쪽에서 123 포트를 개방해주세요


시간서버에 관련된 내용은 http://time.ewha.or.kr/ 을 참고해주세요!! 







저작자 표시 비영리 변경 금지
신고
크리에이티브 커먼즈 라이선스
Creative Commons License

sudo sshfs 마운트 지점 testuser@test:/test /test


cd /test

permission denied!!!



solution


sudo sshfs -o allow_other 마운트 지점 testuser@test:/test /test






저작자 표시 비영리 변경 금지
신고
크리에이티브 커먼즈 라이선스
Creative Commons License

'Study > Linux' 카테고리의 다른 글

우분투 자바 우선순위  (0) 2013.11.14
(Ubuntu apt-get)The package lists or status file could not be parsed or opened  (0) 2013.10.03
Ubuntu NTP 시간 서버 구축  (0) 2013.07.18
sshfs permission denied  (0) 2013.03.04
우분투 포트포워딩  (0) 2013.02.15
우분투 Interface dns-nameserver dns가 안될때  (0) 2013.02.07
NginX  (0) 2013.01.03



진짜 요즘 리눅스가 좋아졌다는 생각이 드는게..


예전에 포워딩할때 iptables 로 어떻게 하고 했던것 같은데


우분투에서 iptables 어떻게 만지나해서 한참참고 있었는데 레드햇 계열은 sysconfig 에 다 있던걸로 기억하거든요 




간단히 되네요


testmaster@master:/usr/local/hadoop/conf$ apt-cache show rinetd

Package: rinetd

Priority: optional

Section: universe/net

Installed-Size: 144

Maintainer: Ubuntu MOTU Developers <ubuntu-motu@lists.ubuntu.com>

Original-Maintainer: Sam Hocevar (Debian packages) <sam+deb@zoy.org>

Architecture: i386

Version: 0.62-5.1

Depends: libc6 (>= 2.4)

Filename: pool/universe/r/rinetd/rinetd_0.62-5.1_i386.deb

Size: 23150

MD5sum: de2048281bc1d4753887be9309e16ceb

SHA1: dc6fbd334e94040a99276ed8a831e7860a8b103a

SHA256: 990588e18fef53c177f1afc7212a3fa0d2b7bfb2d65b42fc0651df965cb92341

Description: Internet TCP redirection server

 rinetd redirects TCP connections from one IP address and port to another,

 with basic IP-based access control.

 .

 rinetd is a single-process server which handles any number of connections

 to the address/port pairs specified in the file /etc/rinetd.conf. Since

 rinetd runs as a single process using nonblocking I/O, it is able to

 redirect a large number of connections without a severe impact on the

 machine. This makes it practical to run services on machines inside an IP

 masquerading firewall.

Bugs: https://bugs.launchpad.net/ubuntu/+filebug

Origin: Ubuntu


sudo apt-get install rinetd


sudo vim /etc/rinetd.conf


#

# this is the configuration file for rinetd, the internet redirection server

#

# you may specify global allow and deny rules here

# only ip addresses are matched, hostnames cannot be specified here

# the wildcards you may use are * and ?

#

# allow 192.168.2.*

# deny 192.168.2.1?



#

# forwarding rules come here

#

# you may specify allow and deny rules after a specific forwarding rule

# to apply to only that forwarding rule

#

# bindadress    bindport  connectaddress  connectport

   111.111.111.111 4040 222.222.222.222 80

하고서 시작하면됩니다.





저작자 표시 비영리 변경 금지
신고
크리에이티브 커먼즈 라이선스
Creative Commons License

혹시나 저 같은 분이 있을까 하고서 올립니다.

 

 

일단 오늘 리눅스 시스템을 하나 만들어야 되서 우분투를 설치하였습니다.

제가 현재 사용하는 버전은 Ubuntu 10.04 LTS 입니다.(현재는 12버전까지 나왔습니다. 왜 하필 10버전이냐고 핫기면, 현재 제가 진행중인것이 10버전에서 한거라 ㅋㅋㅋㅋ)

 

그러니까. 저는 설치할때 , 인터넷 설치과정에서 지금 설치안하고 메뉴얼로 잡는다고 하고서 넘겼습니다.

(물론 대부분의 분들은 여기서 설정을 아마 다 하실것입니다. 아니면 자동으로 잡던지요 그러면 생기지 않는 문제입니다.)

 

약간 지켜보니 다음에 설치하기를 하면 어떤문제가 생기냐면, Resolvconf 가 설치가 안되는것 같습니다.

이게 모냐하면 etc/resolv.conf 즉 네임서버를 입력하는 파일인데

 

전 , 우분투에서 /etc/network/interface에다가 dns-nameservers 가 있길래 여기다가 DNS 주소를 넣으면 되는줄 알았거든요. 물론 제가 잘못알고 있는것이였습니다.

 

http://ubuntuforums.org/showthread.php?t=1836144

관련된것은 여기 포럼글을 보시면 더 자세하게 나와있습니다.

 

그러면 전 이걸 어떻게 해결했냐, 현재 제가 설치한 리눅스는 내부 네트워크에 있는것이라. 외부로 직접 연결이 안됩니다. 전에 과거글에서도 남겼지만 apt-cacher 기능을 이용하여서 resolvconf 파일을 설치하고 /etc/resolv.conf에 nameserver 를 입력하였더니 짠..

 

하고 잘됩니다.. 결론은 그냥 우분투 설치하실때 인터넷을 잡을수 있다면 그때 잡는것이 좋을것 같습니다.

 

 

2012/06/22 - [Study/Linux] - 인트라넷 또는 클러스터 구성시 우분투 apt-get 사용방법

 

저작자 표시 비영리 변경 금지
신고
크리에이티브 커먼즈 라이선스
Creative Commons License

nginx (pronounced engine-x) is a free, open-source, high-performance HTTP server and reverse proxy, as well as an IMAP/POP3 proxy server. Igor Sysoev started development of Nginx in 2002, with the first public release in 2004. Nginx now hosts nearly 12.18% (22.2M) of active sites across all domains. Nginx is known for its high performance, stability, rich feature set, simple configuration, and low resource consumption.

Nginx is one of a handful of servers written to address the C10K problem. Unlike traditional servers, Nginx doesn't rely on threads to handle requests. Instead it uses a much more scalable event-driven (asynchronous) architecture. This architecture uses small, but more importantly, predictable amounts of memory under load.
Even if you don't expect to handle thousands of simultaneous requests, you can still benefit from Nginx's high-performance and small memory footprint. Nginx scales in all directions: from the smallest VPS all the way up to clusters of servers.

Nginx powers several high-visibility sites, such as Netflix, Hulu, Pinterest, CloudFlare, Airbnb, WordPress.com, GitHub, SoundCloud, Zynga, Eventbrite, Zappos, Media Temple, Heroku, RightScale, Engine Yard and NetDNAn


http://wiki.nginx.org/Main

http://nginx.org/


저작자 표시 비영리 변경 금지
신고
크리에이티브 커먼즈 라이선스
Creative Commons License

2012-12-21 16:03:36: (log.c.118) opening errorlog '/var/log/lighttpd/error.log' failed: Permission denied



물론 사용하시는분에 따라 설정을 달리하실수 있지만, 잘모르신다면

lighttpd.conf 열어서 


#server.username  = "lighttpd"

#server.groupname = "lighttpd"


아파치에도 이런 메뉴가 있던것 같은데. #으로 주석처리해주신다음 다시 시작하시면 저런 오류는 안나옵니다.






저작자 표시 비영리 변경 금지
신고
크리에이티브 커먼즈 라이선스
Creative Commons License



몇일 동안 리눅스를 안만지고 있었습니다. 


SSH로 로그인하니 918G 중 918을 사용중이라고 경고가 뜨는겁니다.

(이서버에는 제가 파일보관요도로 쓰는것도 아니고.. 특별히 저장하는 용도로 안쓰는것이기 때문입니다.)


혹시나 파일시스템에 문제 생겼나하고, FSCK를 돌려봐도 정상적으로 나오더군요..


결론은. 로그 크기 떄문이였습니다. 톰켓 로그 크기가 900GB가 되었더군요;;(그럴 이유가 없는데..)


제가 찾은 방법입니다.


맨처음에 du -h --max-depth=1 /

du -h 용량을 출력하는데 1뎁스 만큼의 범위? 용량을 출력합니다.


저는 /usr에서 900G를 사용중이라고 떳고. 이걸 계속 따라갔습니다....


(톰켓이 왜이러지..)


혹시나 갑자기 저처럼 당황하셔가지고 구글 검색해서 들어오셨다면 , 한번 로그 크기 확인해 보세요


저작자 표시 비영리 변경 금지
신고
크리에이티브 커먼즈 라이선스
Creative Commons License


아 이래서 리눅스가 싫어요 ㅋㅋㅋ


참고로 저는 lighttpd를 직접 컴파일 하던도중이였고 augogen.sh 과정에서 난 오류입니다

참고로 지금 사용하는 OS는 ubuntu 입니다.


onfigure.ac:1: error: possibly undefined macro: dnl
      If this token and others are legitimate, please use m4_pattern_allow.
      See the Autoconf documentation.
configure.ac:57: error: possibly undefined macro: AC_CHECK_HEADERS
configure.ac:71: error: possibly undefined macro: AC_DEFINE
configure.ac:108: error: possibly undefined macro: AC_CHECK_LIB
configure.ac:112: error: possibly undefined macro: AC_MSG_ERROR


파이팅Bye



Solution :: apt-get install pkg-config

만약 Centos 이면 yum install libnotify-devel


http://forum.adultscriptpro.com/viewtopic.php?id=577 구글신을 존경해야지 ... 종교를 가져야되나


저작자 표시 비영리 변경 금지
신고
크리에이티브 커먼즈 라이선스
Creative Commons License

분명히 JAVA_HOME 이 잡혀있는데


sudo ant 하면 JAVA_HOME 오류 메세지 나온다면

sudo env JAVA_HOME=$JAVA_HOME ant 이렇게 해보세요


출처  : http://sampreshan.svashishtha.com/2009/12/02/ubuntu-quicktip-sudo-ant-doesnt-work/#comment-182


저작자 표시 비영리 변경 금지
신고
크리에이티브 커먼즈 라이선스
Creative Commons License

시그널번호  시그널이름

1                      SIGHUP            재시작

2                      SIGINIT            인터럽트

9                      SIGKILL           강제종료

15                    SIGTERM        종료


지금까지 아무 생각 안하고 Kill -9 명령어를 사용하고 있었는데

 

 

꺅

요즘 NoSQL인 MongoDB를 사용하면서 무작정 kill을 사용해왔는데, 강제종료할경우 정상작동은 안할수 있다는 글을 보고 정리하게 되었습니다 .



저작자 표시 비영리 변경 금지
신고
크리에이티브 커먼즈 라이선스
Creative Commons License
., Linux, PHP

PHP : Unable to load dynamic library
한턱쏴

일단 제 환경을 말씀드리면 우분투 10.04 서버 버전에 lighttpd 에 php를 직접 컴파일 한상태입니다.


만약 추가적으로 모듈을 넣으셨는데, 안되신다면 php.ini 파일 열으셔서 모듈이 든 폴더와


extension_dir 폴더가 일치하는지 한번 확인해보세요 


좋은하루

저작자 표시 비영리 변경 금지
신고
크리에이티브 커먼즈 라이선스
Creative Commons License


Borispol Sunrise (HDR, Opensource)
Borispol Sunrise (HDR, Opensource) by Lyncis 저작자 표시비영리변경 금지



클러스터를 사용중인데 내부 노드의 클러스터에 설치를 해야겠는데, 이걸 컴파일 할수도 없고, 인트라넷도 비슷할꺼라고 생각됩니다. 만약 외부로 연결된 마스터 노드만 있다면


http://snowall.tistory.com/2225 << 솔루션입니다. 우분투에서도 되니까. 데비안도 될껄요?




제 작업기록

sudo apt-get install apache2

sudo apt-get apt-cacher


그리고 추가적인 작업기록은 http://snowall.tistory.com/2225 님의 블로그를 보면되겠지만

저같은경우 저렇게 하면 /etc/init.d/apt-cacher restart 하면서 실행이 안되더군요 defualt 모라모라 하면서


저 같은경우는 /etc/default/apt-cacher 부분에서

autostart 부분을 1로 바꾸고 재실행하니까 작동합니다. 


물론 저는 아직도 centos도 좋지만 ubuntu 도 정말 좋네요 ㅋㅋ






저작자 표시 비영리 변경 금지
신고
크리에이티브 커먼즈 라이선스
Creative Commons License

This guide gives an overview of HTTP Video Pseudostreaming with the JW Player. This document only applies to Flash mode in JW Player. For HTML5 mode, pseudostreaming works by default in all browsers and with all servers. It needs no specific provider and options.

Introduction

Both MP4 and FLV videos can be played back with a mechanism called HTTP Pseudostreaming. This mechanism allows your viewers to seek to not-yet downloaded parts of a video. YouTube is an example site that offers this functionality. HTTP pseudostreaming is enabled by setting the option provider=http in your player.

HTTP pseudostreaming combines the advantages of straight HTTP downloads (it passes any firewall, viewers on bad connections can simply wait for the download) with the ability to seek to non-downloaded parts. The drawbacks of HTTP Pseudostreaming compared to Flash’s official RTMP Streaming are its reduced security (HTTP is easier to sniff than RTMP) and long loading times when seeking in large videos (> 15 minutes).

HTTP Pseudostreaming should not be confused with HTTP Dynamic Streaming. The latter is a brand-new mechanism soley supported by the Flash Plugin 10.1+ that works by chopping up the original video in so-called chunks of a few seconds each. The videoplayer seamlessly glues these chunks together again. The JW Player does not yet support HTTP Dynamic Streaming.

CONTENTS

Servers

HTTP Pseudostreaming does not work by default on any webserver. A serverside module is needed to enable it. Here are the two most widely used (and open source) modules for this:

Several CDN’s (Content Delivery Networks) support HTTP Pseudostreaming as well. We have done succesfull tests withBitgravityCDNetworksEdgecast and Limelight.

In addition to using a serverside module, pseudostreaming can be enabled by using a serverside script (in e.g. PHP or .NET). We do not advise this, since such a script consumes a lot of resources, has security implications and can only be used with FLV files. A much-used serverside script for pseudostreaming is Xmoov-PHP.

Mechanism

Under the hood, HTTP pseudostreaming works as follows:

When the video is initially loaded, the player reads and stores a list of seekpoints as part of the video’s metadata. These seekpoints are offsets in the video (both in seconds and in bytes) at which a new keyframe starts. At these offsets, a request to the server can be made.

When a user seeks to a not-yet-downloaded part of the video, the player translates this seek to the nearest seekpoint. Next, the player does a request to the server, with the seekpoint offset as a parameter. For FLV videos, the offset is always provided in bytes:

http://www.mywebsite.com/videos/bbb.flv?start=219476905

For MP4 videos, the offset is always provided in seconds:

http://www.mywebsite.com/videos/bbb.mp4?starttime=30.4

The server will return the video, starting from the offset. Because the first frame in this video is a keyframe, the player is able to correctly load and play it. Should the server have returned the video from an arbitrary offset, the player would not be able to pick up the stream and the display would only show garbage.

Note: Some FLV encoders do not include seekpoints metadata when encoding videos. Without this data, HTTP Pseudostreaming will not work. If you suspect your videos to not have metadata, use our Metaviewer plugin to inspect the video. There should be a seekpoints or keyframes list. If it is not there, use the FLVMDI tool to parse your FLV videos and inject this metadata.

Startparam

When the player requests a video with an offset, it uses start as the default offset parameter:

http://www.mywebsite.com/videos/bbb.flv?start=219476905

http://www.mywebsite.com/videos/bbb.mp4?start=30.4

This name is most widely used by serverside modules and CDNs. However, sometimes a CDN uses a different name for this parameter. In that case, use the option http.startparam to set a custom offset parameter name. Here are some examples of CDNs that use a different name:

  • The H264 streaming module uses http.startparam=starttime for MP4 videos.
  • Bitgravity uses http.startparam=apstart for FLV videos and http.startparam=starttime for MP4 videos.
  • Edgecast uses http.startparam=ec_seek for both FLV and MP4 videos (presuming bytes for FLV and seconds for MP4).
  • Limelight uses http.startparam=fs for FLV videos.

Here’s what an example SWFObject embed code looks like when both HTTP Pseudostreaming and a custom start parameter is enabled:

<div id='container'>The player will be placed here</div>

<script type="text/javascript">
  var flashvars = {

    file:'http://bitcast-a.bitgravity.com/botr/bbb.mp4',
    provider:'http',
    'http.startparam':'starttime'

  };

  swfobject.embedSWF('player.swf','container','480','270','9.0.115','false', flashvars,

   {allowfullscreen:'true',allowscriptaccess:'always'},
   {id:'jwplayer',name:'jwplayer'}

  );
</script>

Playlists

HTTP Pseudostreaming can also be enabled in playlists, by leveraging the JWPlayer namespace. Both the provider andhttp.startparam options can be set for every entry in a playlist. In this case, you don’t have to set them in the embed code (just point the file to your playlist).

Here’s an example, an RSS feed with a single video:

<rss version="2.0" xmlns:jwplayer="http://developer.longtailvideo.com/">
  <channel>
    <title>Playlist with HTTP Pseudostreaming</title>

    <item>
      <title>Big Buck Bunny</title>
      <description>Big Buck Bunny is a short animated film by the Blender Institute,
         part of the Blender Foundation.</description>
      <enclosure url="http://myserver.com/botr/bbb.mp4" type="video/mp4" length="3192846" />

      <jwplayer:provider>http</jwplayer:provider>
      <jwplayer:http.startparam>apstart</jwplayer:http.startparam>

    </item>
  </channel>

</rss>

Instead of the enclosure element, you can also use the media:content or jwplayer:file element. More info in Create a Playlist with the JW Player.

Note: Do not forget the xmlns at the top of the feed. It is needed by the player (and any other feed reader you might use) to understand the jwplayer: elements.

Bitrate Switching

Like RTMP Streaming, HTTP Pseudostreaming includes the ability to dynamically adjust the video quality for each individual viewer. We call this mechanism bitrate switching.

To use bitrate swiching, you need multiple copies of your MP4 or FLV video, each with a different quality (dimensions and bitrate). These multiple videos are loaded into the player using an mRSS playlist (see example below). The player recognizes the variouslevels of your video and automatically selects the highest quality one that:

  • Fits the bandwidth of the server » client connection.
  • Fits the width of the player’s display (or, to be precise, is not more than 20% larger).
  • Does not result in more than 25% of frames dropped at any time (for example, if your video is 30fps, a level that results in 8fps dropped will get blacklisted).

As a viewer continues to watch the video, the player re-examines its decision (and might switch) in response to certain events:

  • On startup, immediately after it has calculated the bandwidth for the first time.
  • On a fullscreen switch, since the width of the display then drastically changes. For example, when a viewer goes fullscreen and has sufficient bandwidth, the player might serve an HD version of the video.
  • On every seek in the video. Since the player has to rebuffer-the stream anyway, it takes the opportunity to also check if bandwidth conditions have not changed.
  • In the event where framedrops account for more than 25% of the frames of the video. The player continously monitors this metric (ruling out any one-time spikes). When 25% of frames are dropped, the current level is permanently blacklisted – i.e. it will not be used for the remainder of the playback session.

Note: the player will not do a bandwidth switch if extreme bandwidth changes cause the video to re-buffer. In practice, we found such a heuristic to cause continous switching and an awful viewing experience. RTMP Streaming on the other hand, is able to switch seamlessly in response to bandwidth fluctuations.

Example

Here is an example bitrate switching playlist (only one item). Note that it is similar to a regular HTTP Pseudostreaming playlist, with the exception of the multiple video elements per item. The mRSS extension is the only way to provide these multiple elements including bitrate and width attributes:

<rss version="2.0" xmlns:media="http://search.yahoo.com/mrss/"
  xmlns:jwplayer="http://developer.longtailvideo.com/">
  <channel>
    <title>Playlist with HTTP Bitrate Switching</title>

    <item>
      <title>Big Buck Bunny</title>
      <description>Big Buck Bunny is a short animated film by the Blender Institute,
         part of the Blender Foundation.</description>
      <media:group>

        <media:content bitrate="1800" url="http://myserver.com/bbb-486.mp4"  width="1280" />
        <media:content bitrate="1100" url="http://myserver.com/bbb-485.mp4" width="720"/>

        <media:content bitrate="700" url="http://myserver.com/bbb-484.mp4" width="480" />
        <media:content bitrate="400" url="http://myserver.com/bbb-483.mp4" width="320" />

      </media:group>
      <jwplayer:provider>http</jwplayer:provider>
      <jwplayer:http.startparam>starttime</jwplayer:http.startparam>
    </item>

  </channel>
</rss>

Some hints:

  • The bitrate attributes must be in kbps, as defined by the mRSS spec. The width attribute is in pixels.
  • It is recommended to order the streams by quality, the best one at the beginning. Most RSS readers will pick this one. The JW Player will do an internal sorting though, so the order is not important for the player.
  • The four levels displayed in this feed are actually what we recommend for bitrate switching of widescreen MP4 videos. For 4:3 videos or FLV videos, you might want to increase the bitrates or decrease the dimensions a little.
  • Some publishers only modify the bitrate when encoding multiple levels. The player can work with this, but modifying both the bitrate + dimensions allows for more variation between the levels (and re-use of videos, e.g. the smallest one for streaming to phones).
  • The media:group element here is optional, but it organizes the video links a little.

Live DVR Streaming

The JW Player supports Live HTTP DVR streaming as offered by the Bitgravity CDN. This works as follows:

  • The player loads a stream, simply as HTTP download. The server returns a header saying the stream is 1GB+ long, so the Flash plugin will continue downloading the file.
  • On the server side, bytes are appended to the file as they come in from the live ingestion point.
  • The player will start with a duration of 0 seconds for the stream, and then simply use a timer to increase the duration of the stream.
  • Since HTTP video downloads are kept in memory, it is possible to seek back to the point where you began watching the live stream. All that time, the duration will continue to grow, so you’ll also be able to instantly jump back to the live head again.

Example

The HTTP live DVR streaming mechanism is enabled by setting the player option http.dvr to true. Here is an example embed code, using the SWFObject embed method:

<div id='container'>The player will be placed here</div>

<script type="text/javascript">
  var flashvars = {
    file:'http://bglive-a.bitgravity.com/tatamkt/testing/ld',
    provider:'http',
    'http.dvr':'true'
  };

  swfobject.embedSWF('player.swf','container','480','270','9.0.115','false', flashvars,
   {allowfullscreen:'true',allowscriptaccess:'always'},
   {id:'jwplayer',name:'jwplayer'}
  );
</script>




http://cdn.vn/?p=195

저작자 표시 비영리 변경 금지
신고
크리에이티브 커먼즈 라이선스
Creative Commons License
1234

+ Recent posts

티스토리 툴바