我正在尝试让 nginx 工作,但我不知道如何在 nginx 配置中设置 server_name。
这是我的配置:
server {
listen 80 default_server;
listen [::]:80 default_server;
server_name ~localhost\/<domain>\/www\/(.)*$;
set $try_dir $domain;
root /media/andrew/data/www/hosts/$try_dir/www;
index index.php index.html index.htm index.nginx-debian.html;
location / {
try_files $uri $uri/ /index.php?$args;
}
location ~ \.php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/run/php/php7.0-fpm.sock;
}
location ~ /\.ht {
deny all;
}
location ~ /\.(ht|gitignore) { # deny access to .htaccess files, if Apache's document root concurs with nginx's $
deny all;
}
location ~ \.(neon|ini|log|yml)$ { # deny access to configuration files
deny all;
}
}
我需要通过 URL 访问我的项目:http://localhost/项目名称/www
现在我收到 404 响应。我认为问题出在 server_name 中的正则表达式上。有人能帮我配置吗?
答案1
服务器名称是预期位于 URI 的主机部分的字符串。
如果你只想从本地主机访问你的项目,那么 sever_name 将是 localhost
NGINX 文档解释得很好。可以在这里找到。 http://nginx.org/en/docs/http/server_names.html