如何使用Nginx在本地Ubuntu上启用自定义DNS?

如何使用Nginx在本地Ubuntu上启用自定义DNS?,nginx,Nginx,我已经使用拉拉贡好几个月了,我想用一种更实际的方法来创建本地网站,以测试拉威尔和WordPress 我正在使用WSL2(Linux的windows子系统),并使用Ubuntu作为我的“操作系统”。我已经安装了所有的需求组件,比如Nginx、PHP7.4(以及PHP7.4-fpm)、MySQL(真正的MariaDB)和WordPress 我可以轻松地使用localhost查看我创建的WordPress站点,但我希望能够使用“website.test”或“website.dev”之类的地址,就像创建

我已经使用拉拉贡好几个月了,我想用一种更实际的方法来创建本地网站,以测试拉威尔和WordPress

我正在使用WSL2(Linux的windows子系统),并使用Ubuntu作为我的“操作系统”。我已经安装了所有的需求组件,比如Nginx、PHP7.4(以及PHP7.4-fpm)、MySQL(真正的MariaDB)和WordPress

我可以轻松地使用localhost查看我创建的WordPress站点,但我希望能够使用“website.test”或“website.dev”之类的地址,就像创建新站点时Laragon的地址一样

我相信它应该在Nginx配置文件中,但我似乎无法在网上找到合适的指南。它们中的大多数实际上只是用于创建实时站点,而不是托管在本地服务器上

目前,我在我的

/etc/nginx/sites available/example.com

我确实把它符号链接到了

/etc/nginx/已启用站点/


关于在本地环境中使用自定义DNS,有没有合适的指南?

我对wordpress不太熟悉,但是修改/etc/hosts不起作用?

我猜,您需要修改Ubuntu来宾
/etc/hosts
C:\Windows\system32\drivers\etc\hosts
文件,并添加以下记录:
127.0.0.1 website.dev
127.0.0.1 website2.dev
等。强制Windows DNS解析程序重新读取
hosts
文件的旧方法是
ipconfig/flushdns
(不确定这个方法是否仍然有效,但值得一试)。这是我不想做的事情,但我想如果仅仅使用Ubuntu和Nginx无法解决我的问题,我将不得不使用这个方法。如果你不想接触
主机
文件(为什么?),你绝对可以使用任何自定义DNS服务器,在那里你可以定义你想要的任何东西。对于UNIX,最流行的用于此类任务的工具之一是dnsmasq,请参阅Windows替代方案的答案。我误解了整件事。我想我必须在Windows中使用主机文件,而不是在Ubuntu中。我将在Ubuntu中更改主机文件,我完全没有忘了这一点。我只是想看看我是否可以使用Ubuntu和Nginx,而不必手动将其添加到我的Windows主机文件中。但是如果我的问题没有解决方案,那可能是我唯一能做的事情。是的,你是对的。我一直认为主机文件只存在于Windows目录中,而不存在于Ubuntu中。
server {
    listen 80;
    listen [::]:80;

    root /var/www/example.com/public_html;

    index index.html;

    server_name example.com www.example.com;

    access_log /var/log/nginx/example.com.access.log;
    error_log /var/log/nginx/example.com.error.log;

    location / {
        try_files $uri $uri/ =404;
    }
}