Nginx가 시작 안될떄


안녕하세요. 고코더 입니다.

오랜만에 nginx 를 켜보니
실행이 되지 않고 있습니다. log를 확인해보니

[emerg] 12880#17648: bind() to 0.0.0.0:80 failed (10013: An attempt was made to access a socket in a way forbidden by its access permissions)



이런 메세지가 뜨네요,

경험 많은 개발자는 벌써 "아 이거~"라고 생각하시겟지만
처음 격는 분은 구글 번역부터 돌려볼 상황 입니다.

해당 오류는 nginx에서 지정한 포트를 다른 서비스에서 사용중일때 나타는 메세지 입니다.


▼우선 커맨드창(CMD)을 열어서 
포트를 확인하는 명령어를 입력 해보겠습니다.
netstat -a
- 사용중인 포트를 확인 시켜주는 명령어

▼ 역시 80포트가 리스닝 중이네요


이런 얼마전에 설치한 오토셋(autoset) 프로그램이 80포트를 자동 실행 중이었네요

▼ 오토셋을 중지하고 


▼중지 이후에 Nginx를 실행 했습니다.
역시 잘되네요


많은 프로그램을 실행하고 설치하다 보니 포트가 충돌하는 오류는 개발자라면 누구나 한번 쯤 격어 보는 상황 입니다.

웹에서 쓰는 포트는 다양하지 않아서 더 자주 충돌합니다.
기본 실행을 중지 해놓고 필요할 때마다 시작하면 
좀 더 편하게 사용하실 거라 생각 됩니다.


마무리

오류가 생기면 Log를 복사해서
구글에 물어보세요


댓글을 달아 주세요



셀렉트 박스 값 변경하지 못하게 하기  (readonly)


select박스는 알다시피 readonly가 먹지가 않습니다.
그렇다고 disabled 를 하면 post로 넘어온 값을 받을 수 없습니다.
disabled로 인해 얼어 버린 select 박스는 고객 입장에서는 문제가 생겼나라는 생각이 듭니다.

그래서 오늘은 select box의 readonly 효과를 흉내내는 방법을 구현해봤다.

▼아래와 같이 onFocus와 onChange를 이용해
Readonly 와 같은 효과를 낼 수 있다.
<html>
<body>
<select onFocus='this.initialSelect this.selectedIndex;onChange='this.selectedIndex this.initialSelect; >
   <option 1</option>
   <option 2</option>
   <option 3</option>
</select>
</body>
</html>




▼다른 값을 선택한다고 해도 최초의 selected 된것을 하면 기존의 값 그대로 다시 선택 된다.



마무리


가을이네요^^ 취미가 있으신가요? 일도 좋지만 재밌어 하는것에도 미쳐보세요 



댓글을 달아 주세요



 WNMP로 Nginx와 PHP 마리아DB 사용하기


  1. 설치 
XAMPP 로 아파치와 PHP를 실행시켜봤다면
최근에 많이 쓰이는 Nginx와 PHP를 Wnmp라는 프로그램으로 실행해보겠습니다.

▼해당 웹사이트 접속후에 프로그램을 다운로드 (가끔 접속이 안됩니다..)



▼ 혹 해당 사이트에서 

https://sourceforge.net/projects/wnmp-env/


▼ 사이트들이 원활하지 않다면 첨부파일을 다운받아 설치하세요.

Wnmp-3.1.0.zip

Wnmp-3.1.0.z01

Wnmp-3.1.0.z02

Wnmp-3.1.0.z03

Wnmp-3.1.0.z04

Wnmp-3.1.0.z05



설치 후 실행 후 모습 XAMPP와 같은  UI다 각 start만 눌러주면 알아서 연동 후 실행됩니다.

 


  1. Nginx 설정         
     ▼엔진엑스의 간단한 설정을 해보겠습니다.
Configuration에서 nginx.conf를 실행      
     



       ▼대략 40번째 줄에 root 부분에 PHP 작업 폴더를 지정한다.
        대략 41번째 줄에 root 파일을 지정합니다.
    ## Root and index files.
    root D:/프로젝트폴더;     
    index  index.php index.html index.htm;

▼그리고 html에 PHP소스로 인식하기 위해서는 
대략 60번째줄에 location 부분을 아래처럼 바꿉니다.   
        ## Regular PHP processing.
        location ~ \.(php|html|htm)$ {     
            try_files  $uri =404;
            fastcgi_pass   php_processes;
            fastcgi_index  index.php;
            fastcgi_param  SCRIPT_FILENAME    $document_root$fastcgi_script_name;
            include        fastcgi_params;
        }

  1. 마리아DB설정

    마리아 DB의 초기 셋팅 정보는 이와 같습니다.
    username: root
    password: password

    해당 opeon MaraiDB Shell을 눌러 쉘에 접속해보자 

    접속해서 password 라는 비번을 입력해 접속 
    후에 아래처럼 맛보기로 입력해보자 (마리아DB가 잘 작동하는지만 확인)
--// user 보기
use mysql;
select user from user;



4.테스트 

     localhost로 접속해보자 php기반에 nginx가 실행된걸 확인하였습니다. 
     각 프로그램을 설치 후 운영하는것보다 이런식으로 GUI를 제공하는 프로그램이 나을것입니다. 
     




마무리

Nginx를 따로 다운받아 PHP와 연동하여 쓰다가 익스프레스 강의에 어울리도록 
빠르고 쉽게 사용할 방법을 찾아보다 렇게 친절한 프로그램을 발견하였습니다.
각 업무 현장에서 Nginx로 셋팅하여 개발해야 하는 분들은 애용하면 좋을거 같습니다.



댓글을 달아 주세요