我已经跟随这个网站http://raspberrypihelp.net/tutorials/24-raspberry-pi-webserver在我的树莓派上设置HTTP服务器nginx,并试图设置一个网站调用example.com。但当我运行sudo service nginx restart
时,它说
正在重新启动nginx:在/etc/nginx/sites-enabled/ www.example.com中有未知的指令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;
}
}
我只是按照步骤操作,但它无法成功运行。
8条答案
按热度按时间1tuwyuhd1#
我有同样的问题,这是我复制/粘贴配置代码从网络和一些肮脏的
EOL
(行尾)字符在那里。编辑器没有显示它们,但
nginx
将它们视为指令。只是删除了每一个
EOL
,并再次添加。rdrgkggo2#
听起来你在这里做了一些复制和粘贴的工作。在行尾(EOL)处捕捉到一些不可见的额外字符并不罕见。试试这个:
使用此工具运行文本:http://www.textfixer.com/tools/remove-line-breaks.php
然后修复可能已被删除并将受注解影响的任何中断。
这对我有用,希望对你有用。
fd3cxomn3#
看起来nginx二进制文件是用--without-http_fastcgi_module选项编译的。这不是默认值。请尝试下载或编译其他二进制文件。
试着跑
(with大写的V)来查看使用了哪些选项来编译nginx。
2admgd594#
我在conf文件中间编辑了一些文本,nginx在文件本身的开头就开始显示这个错误。我复制了文件的内容,创建了一个新文件,将内容粘贴到那里,nginx就不再显示这个错误。
sbdsn5lh5#
我在运行“sudo nginx -t”时遇到了类似的问题,错误消息为“unknown directive 'index.html'”。在更正index.html中的HTML语法错误后,问题得到了解决。
fjaof16o6#
即使您遗漏了分号,也会遇到相同的错误。
nwlqm0z17#
在我的例子中,我在github中存储了配置文件
nginx.conf
。我对原始版本的代码做了wget
,因此导致了这个错误。后来,我克隆了我的存储库,并使用了克隆中的
nginx.conf
文件,问题得到了解决。gab6jxml8#
我真的不明白怎么会这样,
我已经“docker运行“了我的nginx 1.14(debian的默认设置:bullseye)来提取它的默认nginx.conf,并打算更新它,然后将它用于我的Dockerfile。
总之,在阅读了这个线程的评论后,发现这个文件是“UTF-16 LE”...我不是真正的Maven,但不是“UTF-8”。
解为:
从容器内部观察到的问题:
还在工作目录下求解:
智能理念:在“UTF-8”之后选择“转换”