我正在尝试为我的项目配置nginx
。逐步进行:
创建配置文件myproject
--/etc/nginx/sites-available
----myproject
myproject
文件的内容
server {
listen 80;
listen [::]:80;
root "/path/to/html/My Project/company/myproject";
index index.php index.html index.htm index.nginx-debian.html;
server_name myproject.localhost;
location / {
try_files $uri $uri/ /index.php?$request_uri;
location = /index.php {
include /etc/nginx/fastcgi_params;
fastcgi_pass unix:/run/php/php7.0-fpm.sock;
fastcgi_param SCRIPT_FILENAME "/media/path/to/html/My Project/company/myproject/index.php";
}
}
}
重新启动服务nginx并尝试在浏览器中加载myproject.locahost
,我得到了“找不到文件”。
在nginx错误日志中查看最新行,我得到了以下错误
9055#9055: *4 stat() "/media/path/to/html/My Project/company/myproject/" failed (13: Permission denied), client: 127.0.0.1, server: myproject.localhost, request: "GET / HTTP/1.1", host: "myproject.localhost"
9055#9055: *4 FastCGI sent in stderr: "Primary script unknown" while reading response header from upstream, client: 127.0.0.1, server: myproject.localhost, request: "GET / HTTP/1.1", upstream: "fastcgi://unix:/run/php/php7.0-fpm.sock:", host: "myproject.localhost"
如果我将其移动到没有空间的目录路径中,它似乎可以工作。 如何定义此路径以使其起作用?
答案 0 :(得分:0)
您不应在文件名或目录名中使用带空格的路径。但是一般来说,Unix文件或目录名称可以包含/以外的任何字符(始终是目录分隔符)和空字节(不能使用= D)。尝试在文件或目录名称中不要使用空格,$,;,|,<,>等,否则应在转义符号后使用反斜杠\对其进行转义。