NGINX에서의 REMOTE_ADDR 오류 이슈

NGINX에서 캐시서버를 타면 동일 IP를 두개를 연결지어 가져오는 오류로 이로 인해 IP를 제대로 인식하지 못한다.

NGINX 서버에서의 가져온 IP 값

정상적으로 가져온 IP 값

 

위와 같은 케이스가 생길 수 있기에

반드시 getRemoteAddress 메소드에서 아래와 같이 처리를 같이 해줘야 한다.

 

OS-X Server Port and Firewall

Ssh port (default : 22 port)
  • port change : /etc/services 수정(터미널vi) 또는 server admin > firewall > settings > Services 수정
  • sshd daemon reload : /System/Library/LaunchDaemons/ssh.plist (unload/load)
  • firewall : system preference > security > on, 변경할 포트 추가(기존 디폴트 SSH를 삭제하고  변경된 포트의 SSH를 추가해준다)
Ftp port (default : 21 port)
  •  port change : /etc/services 수정(터미널vi) 또는 server admin > firewall > settings > Services 수정
  • ftp daemon reload : /System/Library/LaunchDaemons/ftp.plist (unload/load) 또는 server admin > FTP STOP/START
  • firewall : system preference > security > on, 포트추가(FTP 추가)
기타 Firewall(방화벽)
  • firewall : system preference > security > on, 포트추가

 

 

Mac VMware+NAT+CentOS(other OS)+공유기+Port Fowarding

iptime과 같은 공유기의 포트포워딩 설정을 통하여 데스크탑 웹서버를 운영하는 방법은 다소 쉽다. 하지만 윈도우나 맥OS에 VMware를 설치하여 웹서버를 운영할때는 NAT 설정을 해주어야만 웹서버를 제대로 운영할수 있다.

NAT 개념을 이해한다면 그리 어렵지 않게 VMware 를 통하여 웹서비스를 운영할수 있다

VMware에 CentOS를 GUI모드 또는  TEXT모드로 설치하고 Apache까지 띄우는데 성공했다면 설치된 CentOS의 IP를 확인해보자( #ifconfig )
다음으로 공유기에 현재 접속된 PC들의 IP를 확인해보자. 어떤가? CentOS의 IP가 공유기에 접속된 IP목록에 존재하지 않는것을 알수 있을것이다.  이해가 어렵다면 공유기의 DHCP 동적 IP 할당범위를 192.168.0.2 ~ 192.168.0.10 로 적용해보면 알것이다. 할당범위 이외의 IP(192.168.65.129)가 CentOS에 할당되어 있는것을 보게된다. 이것은 공유기를 통해 IP를 할당받는게 아니라는 뜻이다. 그럼 어디서 할당받는것일까? 바로 NAT 이 VMware로 설치된 OS에 가상으로  사설 아이피를 할당하고 있는것이다. 즉 공유기가 할당하는 사설 IP와 NAT이 할당하는 사설 IP는 다르다는것이다.  이러한 이유로 웹서버를 운영하는데 혼란을 느끼게 되는것이다.

VMware>CentOS>웹서버 구동후 웹서비스 작동여부 확인

– 로컬에서 작동여부 확인
1. 자신의 PC (192.168.0.3=로컬PC=웹서버)에서 확인하기
http://localhost/ 또는 http://127.0.0.1 또는 http://192.168.65.129(ifconfig로확인한IP)
2. 다른PC (192.168.0.4)에서 확인하기
http://192.168.65.129(ifconfig로확인한IP)로는 앞에서 언급했듯이 웹페이지가 열리지 않는다. 확인하려면 http://192.168.0.3로 해야하는데 이때 VMware NAT 설정에서 port forwarding 해주어야 작동여부를 알수 있다.

맥터미널>

[incomingtcp]
80 = 192.168.65.129:80


– ISP에서 부여된 유동IP로 작동여부 확인

1. 확인하기에 앞서 로컬PC설치된 OS의 방화벽 작동을 멈춘다.
윈도우 : 제어판>windows 방화벽 끔
V3 : 방화벽 끔
2. 공유기의 port forwarding 설정을 해준다.
로컬PC의 IP(192.168.0.3) 80포트를 개방
3. ISP에서 부여된 유동IP(http://58.129.222.213)로 확인한다.

위 내용은 VMware를 통하여 테스트 서버를 운영하려면 반드시 거처야하는 관문이다. 만약 FileMaker Server v10(v11) Advanced 를 사내에 유동IP로 구축하고자 할때 도움이 될것이다.

Mac OS x Server Upgrade/Install

1. 인텔맥 Snow Leopard 에서 OS X Server로 업그레이드

– PC 성능

CPU : 코어 i5 760
RAM : 삼성전자 DDR3 2G PC3-10600
M/B : Gigabyte H55M-UD2H
HDD : WD 500GB Caviar Blue WD5000AAKS
VGA : 지포스 8600 GT DDR2 512MB
OS : Mac Snow Leopard 10.6.6

설치는 그리 어렵지 않아보이지만, 초기 세팅이 다소 혼란스러울수 있다.
Install 가이드를 참고한다면, 고급 설정을 할수 있다.(설정을 맞춰야 설치가 완료된다)
http://www.apple.com/kr/server/macosx/resources/documentation.html

서버 관리툴은 리눅스의 X윈도우와 비슷하다.

2. 맥북에어의 Vmware Fusion 어플리케이션을 이용해 OS X Server 설치

– 맥북에서 성능 : APPLE MacBook Air MC503KH/A 메모리2GB



Mac OS X Server 설치 최소 사양이 메모리 2GB에 하드공간 40기가, 아쉬운점이라면 나의 맥북에어가 SSD 128GB라는 점과 Vmware로 최소사양 성능을 설정해서 그런지 발열이 심하다.

Mysql 5.5.x Talk 설치 방법

Mysql 5.5 talk

이번 5.5 버전의 특징은 기존 버전에 비해 많이 개선된 처리 능력과 안정성 보여준다. (어느 정도의 퍼포먼스를 보여줄지 참 기대됩니다)

다양한 멀티 코어 환경에서의 안정성도 많이 높아졌으며, 이번 버전부터 InnoDB가 기본 스토리지 엔진으로 자리를 잡았다.

대부분 작은규모의 사이트들은 MyISAM 스토리엔진을 많이 이용한다.  체감속도도 빠르고 트랜젝션 사용할 일이 거의 없기때문이 아닐까?

InnoDB가 기본스토리지 엔진으로 자리 잡았다는것은 퍼포먼스 속도면에서 이전보다 많은 향상이 있지않았나 싶다. 결국 트랜젝션 처리를 이용한 보다 안정적인 서비스 운영이 가능해졌다는 결론? 써보자…백문이 불여일견

mysql 5.5.8 install

 

1단계:마이그레이션 && 컴파일 설치

기존 mysql은 깨끗히 삭제한다.(mysql stop->pid kill->삭제)

5.5 버전부터는 소스컴파일시 cmake가 필요하단다

 

컴파일시 에러가 발생하는 경우가 있다. 메시지를 잘 보고 필요한 패키지를 설치한다.(rm CMakeCache.txt —- cmake로 생성된 설정파일 삭제)

make && make install

컴파일 완료 (여기까진 무지쉽다. -,-)

2단계 : 환경설정및 데몬띄우기