我已关注此网站http://raspberrypihelp.net/tutorials/24-raspberry-pi-webserver在我的Raspberry Pi上设置HTTP服务器nginx并尝试设置网站呼叫 example.com 。但当我运行sudo service nginx restart
时,它说
在/etc/nginx/sites-enabled/example.com:3重新启动nginx:nginx:[emerg] unknown指令“”
以下是 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 :(得分:9)
我遇到了同样的问题,那就是我从网上复制/粘贴了配置代码,还有一些脏的EOL
(行尾)字符。
编辑没有显示它们,但nginx
将它们视为指令。
刚刚删除EOL
并重新添加。
答案 1 :(得分:8)
听起来你在这里做了一些复制和粘贴工作。在行尾(EOL)隐藏一些不可见的额外字符并不罕见。试试这个:
通过此工具运行您的文字: http://www.textfixer.com/tools/remove-line-breaks.php
然后修复可能已删除的任何中断,并受评论影响。
这对我有用。希望它适合你。
答案 2 :(得分:1)
看起来nginx二进制文件是使用--without-http_fastcgi_module选项编译的。这不是默认值。尝试下载或编译不同的二进制文件。
尝试运行
nginx -V
(使用大写V)查看用于编译nginx的选项。
答案 3 :(得分:0)
我在conf文件的中间编辑了一些文本,nginx开始在文件本身的开头显示此错误。我复制了文件的内容,创建了一个新文件,将内容粘贴在那里,nginx停止显示此错误。
答案 4 :(得分:0)
在运行'sudo nginx -t'时,我遇到类似的错误消息,消息为“ unknown指令'index.html'”。更正index.html中的HTML语法错误后,此问题已解决。
答案 5 :(得分:0)
即使你错过了一个分号,你也会遇到同样的错误。
// Missed semicolon
fastcgi_pass unix:/var/run/php/php8.0-fpm.sock
// With semicolon
fastcgi_pass unix:/var/run/php/php8.0-fpm.sock;
答案 6 :(得分:0)
就我而言,我在 github 中存储了配置文件 nginx.conf
。我已经对原始版本的代码做了 wget
,因此导致了这个错误。
后来,我克隆了我的存储库并使用了克隆中的 nginx.conf
文件,问题得到了解决。