我正在尝试将NGINX服务器设置为基准以测试客户端-服务器交互。服务器中的根目录包含数千个随机html页面。
这也是我对NGINX之类的应用程序的首次工作。我一直在努力使用此网站[1]和nginx的文档来配置nginx。
为了给您更多的背景知识,我在本地计算机上设置了nginx,并在特定目录下进行了安装(称为libs,命名错误-我应该对此进行更改。)
使用./sbin/nginx -c conf/nginx.conf
启动nginx之后,我尝试在网站上卷曲以检查其是否正常运行
curl http://127.0.0.1:6011
我收到此错误:
<html>
<head><title>404 Not Found</title></head>
<body>
<center><h1>404 Not Found</h1></center>
<hr><center>nginx/1.15.10</center>
</body>
</html>
我的配置哪里出问题了?
[1] https://www.slashroot.in/nginx-web-server-performance-tuning-how-to-do-it
worker_processes 32;
worker_rlimit_nofile 51200;
error_log /lustre1/nginx-benchmark/libs/logs/error.log;
error_log /lustre1/nginx-benchmark/libs/logs/error.log notice;
error_log /lustre1/nginx-benchmark/libs/logs/error.log info;
pid /lustre1/nginx-benchmark/libs/logs/nginx.pid;
events {
worker_connections 50000;
multi_accept on;
}
http {
include /lustre1/nginx-benchmark/libs/conf/mime.types;
default_type application/octet-stream;
sendfile on;
#tcp_nopush on;
keepalive_timeout 65;
tcp_nodelay on;
types_hash_max_size 2048;
#gzip on;
log_format main '$remote_addr - $remote_user [$time_local] "$request" '
'$status $body_bytes_sent "$http_referer" '
'"$http_user_agent" "$http_x_forwarded_for"';
access_log /lustre1/nginx-benchmark/libs/logs/access.log main;
server {
listen 6011 default_server;
listen [::]:6011 default_server ipv6only=on;
server_name localhost;
#listen 6011;
#server_name localhost;
#charset koi8-r;
access_log /lustre1/nginx-benchmark/libs/logs/host.access.log main;
location / {
root /lustre1/nginx-benchmark/dataset/1024/;
try_files $uri html/index.html;
#index.php;
index index.html index.htm;
}
#error_page 404 /404.html;
# redirect server error pages to the static page /50x.html
#
error_page 500 502 503 504 /50x.html;
location = /lustre1/nginx-benchmark/libs/html/50x.html {
root /lustre1/nginx-benchmark/libs/html;
}
}
}
答案 0 :(得分:0)
您可以ls
/lustre1/nginx-benchmark/dataset/1024/
中的任何文件吗?
ls -l /lustre1/nginx-benchmark/dataset/1024/
如果不能,那么这就是nginx正在404处理您的请求的原因-它也看不到它们。如果可以,该文件夹和文件的权限是什么?用户nginx的运行方式可读吗?那该路径的父文件夹呢?
通过调试添加错误日志,以查看nginx认为问题出在哪里:
access_log /lustre1/nginx-benchmark/libs/logs/host.access.log main;
error_log /lustre1/nginx-benchmark/libs/logs/host.error.log debug;
更改您的try_files
行,如下所示:
try_files $uri /index.html =404;
=404
应该终止nginx的重复检查,这可能是由于您的/lustre1/nginx-benchmark/dataset/1024/
文档根目录中没有html/index.html
造成的。