我的应用程序具有以下文件夹结构,位于地图中/home/valor/development/mypp.com/public_html/
- css
- app
- js
- ...
- server (codeigniter)
-- system
-- application
-- index.php
- index.html (angularJS app)
这是我的 nginx.conf
server {
listen 80;
listen [::]:80;
root /home/valor/development/euro-swap.com/public_html;
index index.html;
server_name euro-swap.com www.euro-swap.com;
location / {
index index.html;
}
location /server/ {
index /server/index.php;
try_files $uri /server/index.php/$uri;
}
location /twitter/ {
index /twitter/index.php;
try_files $uri /twitter/index.php/$uri;
}
location ~ \.php {
fastcgi_split_path_info ^(.+?\.php)(/.*)$;
fastcgi_pass unix:/var/run/php5-fpm.sock;
include fastcgi_params;
fastcgi_param PATH_INFO $fastcgi_path_info;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
}
#deny access to .htaccess files, if Apache's document root
#concurs with nginx's one
location ~ /\.ht {
deny all;
}
}
这是我一直遇到的错误
2016/03/04 18:26:02 [error] 4577#0: *4 FastCGI sent in stderr: "Unable to open primary script: /home/valor/development/myapp.com/public_html/server/index.php (No such file or directory)" while reading response header from upstream, client: 127.0.0.1, server: myapp.com, request: "GET /server/api/users/isLoggedIn HTTP/1.1", upstream: "fastcgi://unix:/var/run/php5-fpm.sock:", host: "myapp.com", referrer: "http://myapp.com/"
2016/03/04 18:26:02 [error] 4577#0: *3 FastCGI sent in stderr: "Unable to open primary script: /home/valor/development/myapp.com/public_html/server/index.php (No such file or directory)" while reading response header from upstream, client: 127.0.0.1, server: myapp.com, request: "GET /server/api/categories HTTP/1.1", upstream: "fastcgi://unix:/var/run/php5-fpm.sock:", host: "myapp.com", referrer: "http://myapp.com/"
2016/03/04 18:26:03 [error] 4577#0: *3 FastCGI sent in stderr: "Unable to open primary script: /home/valor/development/myapp.com/public_html/server/index.php (No such file or directory)" while reading response header from upstream, client: 127.0.0.1, server: myapp.com, request: "GET /server/api/products/latest/16 HTTP/1.1", upstream: "fastcgi://unix:/var/run/php5-fpm.sock:", host: "myapp.com", referrer: "http://myapp.com/"
页面显示正确,我只能访问子文件夹中的 api 资源。你能帮我解决我做错的地方吗?如果您需要任何其他信息,请告诉我,我会提供
谢谢
答案1
这可能可能是权限问题,可能由 AppArmor 引起。请查看这个答案看看可能的解决方案。我不想窃取答案,因此链接到它。
编辑:问题现在可能出自 php-fpm 配置。请/etc/php5/fpm/pool.d/www.conf
使用您喜欢的编辑器打开并取消注释以下几行:
listen.owner = www-data
listen.group = www-data
listen.mode = 0660
并且不要忘记使用以下命令重新启动 php 服务器:
service php5-fpm restart