2013-08-13 5 views
1

여기서부터 시작 해야할지 확실하지 않습니다. Lighttpd를 사용하는 우리 애플 리케이션에 사용했던이 재 작성 규칙을 가지고 있고 우리는 표준화를 위해 NginX로 웹 서버를 옮길 계획을하고 있습니다. lighttpd.conf가 내부다시 쓰기 규칙 Lighttpd Regex에서 NginX로 변환

이 Lighttpd의 설정 라인 :

먼저
url.rewrite-once = (
".*\?(.*)$" => "/index.php?$1", 
"^/js/.*$" => "$0", 
"^.*\.(js|ico|gif|jpg|png|css|swf |jar|class)$" => "$0", 
"" => "/index.php" 
) 

가, 누군가가 나에게 그 라인을 번역 도와 드릴까요? 나는 다른 누군가로부터 그것을 상속 받았으며 그것이 무엇을 의미하는지 모른다.

다음으로 어떻게 NginX에서 해당 라인을 사용 가능한 구성 라인으로 변환합니까? 나는 당신에게 줄을 이해하는 것을 돕기 위해 무엇을 제공해야할지조차 확신하지 못한다. 필자가 아는 전부는 lighttpd에서 해당 줄을 제거하면 응용 프로그램이 작동하지 않는다는 것입니다. 나는 CentOS 6.4에서 php-fpm을 사용하는 표준 Php에서 작업하는 NginX를 가지고 있습니다. phpinfo 파일을 사용할 때 NginX는 정보를 생성 할 수 있었지만 응용 프로그램을 설치할 때 오류 로그 파일 내에이 오류로 오류가 발생했습니다.

2013/08/12 21:51:00 [error] 18844#0: *16 open() "/var/www/html/myapps/public/user/login" failed (2: No such file or directory), client: 192.168.8.100, server: _, request: "GET /user/login HTTP/1.1", host: "192.168.8.215" 

과 내가 가진 웹 브라우저에

은 " 404 찾을 수 없습니다"오류.

또한 일관성을 위해 누구나이 줄을 번역하는 방법을 제안 할 수 있습니까?

location/{ if ($uri !~ ^/(index\.php|css|images|core|uploads|js|robots\.txt)) { rewrite^/index.php last; } } 

번역에 도움이되는 추가 정보를 알려주십시오. 이것이 NginX 문제인지 앱 문제인지는 확실하지 않았습니다. 모든 도움에 미리 감사드립니다.

+0

내가 정확히 그 마지막 줄을 이해하면, 당신은 재에서 일부 폴더와 파일을 제외하려고하는이 이미 특정 파일이 이미 실제의 nginx 의지 서버에 존재하기 때문에 경우 try_files''사용하여 내 대답에 처리됩니다 먼저 파일이 존재하지 않으면'index.php'에 다시 쓰여질 것입니다. –

답변

1

나는 lighttpd 설정에 대해 많이 알지 못한다. 그래서 나는 그들을 nginx 형식으로 쓸 수있다.

나는 또한 PHP를 처리 할 것인가, 빠른 cgi 또는 fpm인가?

server { 
    server_name example.com; #replace with your domain name 
    index index.php; 
    location/{ 
     try_files $uri $uri/ /index.php$request_uri; 
    } 
    location ~* \.php$ { 
     include  fastcgi_params; 
     fastcgi_pass 127.0.0.1:9000; 

    } 
} 
+0

Thanks Mohammad. PHP를 처리 할 fpm이고 '컨트롤러에서 코드의 일부를 리디렉션 할 수있는 방법이 필요하다는 것 이외에 다른 방법을 설명하는 방법을 알지 못합니다. 그러나 나는 완전히 눈이 멀었습니다. –

+0

'/ etc/php5/fpm/pool.d/www.conf'를 체크하면'listen'이라고하는 줄을 찾거나 양말 파일이나 포트 9000을 찾았습니까? –

+0

example.com/index.php/user/login' 또는 example.com/index.php?/user/login'에서 사용할 수있는 포트 9000 –