尝试配置 Nginx
sites_enabled/patentpath.io 文件,
server {
listen 80;
listen [::]:80;
root /root/patentwriter/static;
index index.html index.htm index.nginx-debian.html;
server_name patentpath.io;
location / {
try_files $uri $uri/ =404;
}
}
和 /etc/nginx/nginx.conf 文件
##
# Gzip Settings
##
gzip on;
# gzip_vary on;
# gzip_proxied any;
# gzip_comp_level 6;
# gzip_buffers 16 8k;
# gzip_http_version 1.1;
# gzip_types text/plain text/css application/json application/javascript text/xml application/xml application/xml+rss text/javascript;
##
# Virtual Host Configs
##
include /etc/nginx/conf.d/*.conf;
include /etc/nginx/sites-enabled/*;
}
#mail {
# # See sample authentication script at:
# # http://wiki.nginx.org/ImapAuthenticateWithApachePhpScript
#
# # auth_http localhost/auth.php;
# # pop3_capabilities "TOP" "USER";
# # imap_capabilities "IMAP4rev1" "UIDPLUS";
#
nginx -t 结果
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful
但不定向到 /root/patentwriter/static 处的 index.html。
我错过了什么?
删除了sites_enabled处的默认文件,仅保留sites_enabled处的PatentPath.io文件,重新启动Nginx,刷新页面。
看起来您的 Nginx 配置似乎是正确的。但是,可能有多种原因导致它没有定向到 /root/patentwriter/static 目录中的 index.html。以下是一些故障排除步骤:
文件权限:确保Nginx用户(通常是www-data或nginx)对/root/patentwriter/static目录中的文件具有读取权限。
sudo chown -R www-data:www-data /root/patentwriter/static
检查服务器块:确保您的 /etc/nginx/sites-enabled 目录仅包含 patentpath.io 配置文件。您提到您删除了默认文件,这是一个很好的步骤。
sudo rm /etc/nginx/sites-enabled/default
服务器名称:验证服务器块中的域名是否与您在浏览器中使用的域名相匹配。确保没有错别字。
Nginx 重新加载:进行更改后,重新启动或重新加载 Nginx 以应用新配置。
sudo systemctl restart nginx
浏览器缓存:有时,浏览器缓存可能会导致问题。尝试清除浏览器缓存或在隐身或私密浏览窗口中进行测试。
错误日志:检查 Nginx 错误日志是否存在可能阻止提供正确文件的任何问题:
sudo tail -f /var/log/nginx/error.log
这将在您访问该网站时实时显示任何错误。
默认文件:确保 /etc/nginx/conf.d/ 或其他地方没有可能干扰此服务器块的其他配置文件。启用站点的配置应优先。
防火墙:如果您有防火墙(例如 UFW),请确保它不会阻止端口 80 上的传入流量。
SELinux 或 AppArmor:在某些系统上,SELinux 或 AppArmor 等安全模块可能会影响 Nginx。检查他们的日志中是否有任何拒绝的内容。