如何在Ubuntu 16.04上使用Nginx配置预先存在的PHP项目
我有Ubuntu 16.04;Php7-fpm;安装了Nginx和MySql 我已从Github下载了一个项目,并将其带到/var/www,并使用以下命令授予了权限:kinbuweb是包含index.php文件的公用文件夹的项目文件夹:如何在Ubuntu 16.04上使用Nginx配置预先存在的PHP项目,ubuntu,nginx,localhost,php-7,Ubuntu,Nginx,Localhost,Php 7,我有Ubuntu 16.04;Php7-fpm;安装了Nginx和MySql 我已从Github下载了一个项目,并将其带到/var/www,并使用以下命令授予了权限:kinbuweb是包含index.php文件的公用文件夹的项目文件夹: ## # You should look at the following URL's in order to grasp a solid understanding # of Nginx configuration files in order
##
# You should look at the following URL's in order to grasp a solid understanding
# of Nginx configuration files in order to fully unleash the power of Nginx.
# http://wiki.nginx.org/Pitfalls
# http://wiki.nginx.org/QuickStart
# http://wiki.nginx.org/Configuration
#
# Generally, you will want to move this file somewhere, and start with a clean
# file but keep this around for reference. Or just disable in sites-enabled.
#
# Please see /usr/share/doc/nginx-doc/examples/ for more detailed examples.
##
# Default server configuration
#
server {
listen 80;
listen [::]:80;
# SSL configuration
#
# listen 443 ssl default_server;
# listen [::]:443 ssl default_server;
#
# Note: You should disable gzip for SSL traffic.
# See: https://bugs.debian.org/773332
#
# Read up on ssl_ciphers to ensure a secure configuration.
# See: https://bugs.debian.org/765782
#
# Self signed certs generated by the ssl-cert package
# Don't use them in a production server!
#
# include snippets/snakeoil.conf;
root /var/www/kinbuweb/public;
# Add index.php to the list if you are using PHP
index index.php index.html index.htm index.nginx-debian.html;
server_name kinbu.localhost;
location / {
# First attempt to serve request as file, then
# as directory, then fall back to displaying a 404.
try_files $uri $uri/ =404;
}
# pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
#
location ~ \.php$ {
include snippets/fastcgi-php.conf;
#
# # With php7.0-cgi alone:
# fastcgi_pass 127.0.0.1:9000;
# # With php7.0-fpm:
fastcgi_pass unix:/run/php/php7.0-fpm.sock;
}
# deny access to .htaccess files, if Apache's document root
# concurs with nginx's one
#
location ~ /\.ht {
deny all;
}
}
# Virtual Host configuration for example.com
#
# You can move that to a different file under sites-available/ and symlink that
# to sites-enabled/ to enable it.
#
#server {
# listen 80;
# listen [::]:80;
#
# server_name example.com;
#
# root /var/www/example.com;
# index index.html;
#
# location / {
# try_files $uri $uri/ =404;
# }
#}
sudo chown-R$USER:$USER/var/www/kinbuweb/public
sudo chmod-R 755/var/www
我复制了/etc/nginx/sites available/default文件作为模板,在sites available中配置我的文件,并将其修改为指向我的index.php文件:
##
# You should look at the following URL's in order to grasp a solid understanding
# of Nginx configuration files in order to fully unleash the power of Nginx.
# http://wiki.nginx.org/Pitfalls
# http://wiki.nginx.org/QuickStart
# http://wiki.nginx.org/Configuration
#
# Generally, you will want to move this file somewhere, and start with a clean
# file but keep this around for reference. Or just disable in sites-enabled.
#
# Please see /usr/share/doc/nginx-doc/examples/ for more detailed examples.
##
# Default server configuration
#
server {
listen 80;
listen [::]:80;
# SSL configuration
#
# listen 443 ssl default_server;
# listen [::]:443 ssl default_server;
#
# Note: You should disable gzip for SSL traffic.
# See: https://bugs.debian.org/773332
#
# Read up on ssl_ciphers to ensure a secure configuration.
# See: https://bugs.debian.org/765782
#
# Self signed certs generated by the ssl-cert package
# Don't use them in a production server!
#
# include snippets/snakeoil.conf;
root /var/www/kinbuweb/public;
# Add index.php to the list if you are using PHP
index index.php index.html index.htm index.nginx-debian.html;
server_name kinbu.localhost;
location / {
# First attempt to serve request as file, then
# as directory, then fall back to displaying a 404.
try_files $uri $uri/ =404;
}
# pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
#
location ~ \.php$ {
include snippets/fastcgi-php.conf;
#
# # With php7.0-cgi alone:
# fastcgi_pass 127.0.0.1:9000;
# # With php7.0-fpm:
fastcgi_pass unix:/run/php/php7.0-fpm.sock;
}
# deny access to .htaccess files, if Apache's document root
# concurs with nginx's one
#
location ~ /\.ht {
deny all;
}
}
# Virtual Host configuration for example.com
#
# You can move that to a different file under sites-available/ and symlink that
# to sites-enabled/ to enable it.
#
#server {
# listen 80;
# listen [::]:80;
#
# server_name example.com;
#
# root /var/www/example.com;
# index index.html;
#
# location / {
# try_files $uri $uri/ =404;
# }
#}
在本地主机文件上,我为本地测试配置页面,这是我的目标
使用sudo nano/etc/hosts
并在我的主机文件中添加了我的IP的新更改:
127.0.0.1 localhost
127.0.1.1 tranquilidad
190.165.34.21 kinbu.localhost
# The following lines are desirable for IPv6 capable hosts
::1 ip6-localhost ip6-loopback
fe00::0 ip6-localnet
ff00::0 ip6-mcastprefix
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters
问题是当我去http://kinbu.localhost/ 我收到一个HTTP错误500和一个页面kinbu.localhost不工作的消息
这个项目是一个动态的项目,我想我已经用一个简单的info.php文件证明了这一点,并在其他问题中测试了一些答案,但它们已经过时了。我不知道这里发生了什么,我有点新,有什么意见和建议吗
提前谢谢 似乎是PHP中的错误。 /var/www/kinbuweb/bootstrap/autoload.php似乎缺失。您的引导安装似乎出了问题 您是否在有composer.json的地方安装了composer -编辑- 试试这个:
cd /var/www/kinbuweb
/home/luis/composer.phar/composer update --no-scripts
/home/luis/composer.phar install
nginx错误日志说什么?Hello@vishnuj我没有语法错误。我用nginx-t命令检查它。如何检查错误日志?感谢您回答Vishnujtail-f/var/log/nginx/error.log问题似乎出在您的PHP脚本上,而不是nginx配置上。@vishnuj我得到了这个如何解决问题?感谢您回答@vishnuj我有一个/home/luis/composer.phar文件,但是我可以在您的项目根文件夹中找到composer.json文件。你是如何安装bootstrap的?bootstrap已经在项目中了。这些是项目/var/www/kinbuweb/bootstrap:autoload.php->path.php->和start.php->的bootstrap文件夹中的文件。你能检查一下/var/www/kinbuwebYes中是否有composer.json文件吗?我在/var/www/kinbuweb中找到了composer.json文件,它里面有: