我是nginx环境的新手,并试图使用nginx托管我的第一个应用程序。 但是我无法用nginx开始第一步。
我已经看过并阅读了数千个关于基本nginx设置的教程,并且已经像任何人一样设置了基本的nginx服务器块。
这是我的sites-available/default
server {
listen 80 default_server;
listen [::]:80 default_server;
# 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/html;
# Add index.php to the list if you are using PHP
index index.html index.htm ;
error_log /var/log/nginx/error.log debug;
error_page 400 401 402 403 404 40x.html;
server_name mydomain.com;
location / {
root /var/www/html;
# 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;
}
}
我已经使用apache进行了多次部署但是使用了nginx,我遇到了特殊的行为。
这是怎么回事。
它在/var/www/html
mydomain.com
成功提供默认的nginx欢迎页面
现在,如果我在test.html
内创建一个新的html文件/var/www/html
并尝试打开mydomain.com/test.html
,则会显示内部服务器错误,错误日志或访问权限中没有日志日志中。
现在在我的服务器块中,如果我将test.html作为第一个选项添加到index指令中,则会在/var/www/html/test.html
上提供相同的mydomain.com
文件并且没有任何错误(所以很明显文件权限没有问题。)
此外,如果我只将索引作为默认索引页面,如果我在默认索引页面中添加超链接,请说<a href="test.html"> Test Page </a>
,并在{{1}上提供的默认主页上如果我点击该超链接,则会提供mydomain.com
文件,但浏览器中的网址不会更改。
我在最近两天敲打了我的脑袋,我尝试了几件事。
将错误日志的详细程度增加到调试,日志中仍然没有显示
尝试了其他一百种逻辑相同但语法不同的服务器配置。
我对服务器配置很有经验,并且已经使用apache完成了大量的部署,并且从未在apache上遇到过类似的事情。
也许,我正在跳过nginx的一些基本概念,因为我对nginx不太了解,但觉得它与apache类似。
请帮我解决这个问题。
提前致谢