2013-10-03 75 views
6

我跟隨此網站http://raspberrypihelp.net/tutorials/24-raspberry-pi-webserver在我的Raspberry Pi上設置HTTP服務器nginx並嘗試設置一個站點調用example.com。但是,當我運行sudo service nginx restart,故稱nginx:[emerg] unknown指令「」in /etc/nginx/sites-enabled/example.com:3

重啓nginx的:nginx的:EMERG]未知的指令 「」 在/etc/nginx/sites-enabled/example.com:3

這裏是代碼example.com

server { 

    server_name example.com 192.168.1.88; 

    access_log /srv/www/example.com/logs/access.log; 

    error_log /srv/www/example.com/logs/error.log; 

    root /srv/www/example.com/public/; 

    location/{ 

     index index.php index.html index.htm; 

     try_files $uri $uri/ /index.php?$args; 

    } 

    location ~ \.php$ { 

     include /etc/nginx/fastcgi_params; 

     fastcgi_pass unix:/var/run/php5-fpm.sock; 

     fastcgi_index index.php; 

     fastcgi_param SCRIPT_FILENAME /srv/www/example.com/public$fastcgi_script_name; 

    } 

    location /phpmyadmin { 

     root /usr/share/; 

     index index.php index.html index.htm; 

     location ~ ^/phpmyadmin/(.+\.php)$ { 

      try_files $uri =404; 

      root /usr/share/; 

      fastcgi_pass unix:/var/run/php5-fpm.sock; 

      fastcgi_index index.php; 

      fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; 

      include /etc/nginx/fastcgi_params; 

     } 

     location ~* ^/phpmyadmin/(.+\.(jpg|jpeg|gif|css|png|js|ico|html|xml|txt))$ { 

      root /usr/share/; 

     } 

    } 

    location /phpMyAdmin { 

     rewrite ^/* /phpmyadmin last; 

    } 

} 

我只是按照步驟,但它不能成功運行。

+0

它安裝了哪個版本的nginx?根據這個網站,你用apt-get得到的版本有一些問題。 http://virtualitblog.blogspot.nl/2013/05/install-nginx-141-raspberry-pi.html我可以建議添加nginx.org apt庫並重新安裝nginx嗎? 你也可以運行:ldd/usr/sbin/nginx並將結果發佈到gist.github.com的某處嗎? –

+0

我用'/ usr/sbin/nginx -t -v'來檢查我使用的是nginx/1.2.1,我遵循[http://nginx.org/en/linux_packages.html](http ://nginx.org/en/linux_packages.html)將它添加到apt sources.list中,當我運行'sudo apt-get install nginx'時,它返回** nginx是最新版本**。我忘了說的一件事是,我可以去[http://127.0.0.1/](http://127.0.0.1/)我可以看到默認網站(**/usr/share/nginx/www/index.html的**)。 – Confucius

+0

請選擇最適合您的答案。謝謝。 –

回答

7

我有同樣的問題巫婆是我從網上覆制/粘貼的confic代碼和一些骯髒的EOL(行尾)字符在那裏。

編輯器沒有顯示它們,但nginx將它們視爲一個指令。

剛刪除每個EOL並再次添加。

1

它看起來像nginx二進制編譯時帶--without-http_fastcgi_module選項。這不是默認值。嘗試donwloading或編譯一個不同的二進制文件。

嘗試運行

nginx -V 

(大寫V),看看有什麼選項被用來編譯nginx的。

7

這聽起來像你在這裏做了一些複製和粘貼工作。在行尾(EOL)攔截一些不可見的額外字符並不罕見。試試這個:

通過這個工具來運行你的文字: http://www.textfixer.com/tools/remove-line-breaks.php

然後修復可能已被刪除,並會被評論影響任何休息。

這對我有效。希望對你有效。

+1

這適用於我!謝謝! –