Nginx在子文件夹中有多个站点
我想以这样的方式配置Nginx,以便我只需要很少的努力来添加新网站. 我通过以下方式看到这一点:创建新站点时,我将其放在/ var / www下的子文件夹中,在nginx配置文件中添加新位置,该文件只包含所需站点类型的配置模板.它看起来像这样:
但是,不幸的是,这在我的情况下不起作用.问题在于嵌套位置.我在其中一个包含的模板中有以下几行:
Nginx给了我以下错误:
所以我需要为每个站点指定完整路径(比如/ site1 / core /),但是我将无法将其作为一个可重用的段提取出来. 以前,作为替代方案,我使用不同的server_name(site1.locahost,site2.localhost …)和编辑的/ etc / hosts文件配置了多个服务器指令.在这种情况下,只要所有内容都在域的根目录下,我就不需要嵌套位置.但是,正如我所说,我正在寻找一种尽可能简化工作流程的方法,编辑/ etc / hosts在我看来就像我想要避免的额外动作. 所以问题是如何最好地处理这种情况?你如何在本地组织不同网站的工作? 最佳答案 在家里和工作中,我使用Bind9和Nginx的组合来解决这个问题.它确实需要一些设置,但一旦它启动你就不需要再次触摸你的nginx配置文件.我在底部添加了一些限制.建立 设置DNS服务器,(Bind9,dnsmasq) 1)设置本地DNS服务器,并创建一个名为DEV的主机
并重新启动DNS服务器. 设置Nginx 1)在你的nginx.conf或你存储conf.d的东西的任何地方,创建一个看起来或多或少的vHost条目:你可以根据自己的需要调整它.
2)重启nginx服务. 3)利润 设置完成后,要创建新站点,您只需在/ var / www /中创建一个新文件夹即可.
该站点及其下面的PHP可以通过sitename.dev访问. 如前所述,这有一些限制. sitename必须全部为小写,并且不包含空格或特殊字符(包括句点).其次,它实际上只适用于通过index.php引导的站点. 如果您有完全不同的网站结构,您可以修改一些内容,以便为您提供更强大的设置.例如,你可以编写你的配置,使它看起来像这样.
假设你更新你的DNS服务器以响应..dev,那么你可以按如下方式编写我们的目录,只是为了给你一个想法.
就像我之前说的那样,我在家里和15个人一起使用这个设置.我们的工作设置稍微复杂一点(共享服务器,每个人都有自己的主文件夹),但它在那里工作得很好.我个人更喜欢在子域而不是localhost路径上工作. 希望这可以帮助! (编辑:岳阳站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- 如何通过负载平衡流式传输点播视频
- drupal – 如何为挂起的网站调试nginx / php-fpm?
- ruby-on-rails – 502 Bad Gateway/rails 4/nginx/passenge
- nginx-启用了ngx_http_realip_module的白名单cloudflare Ip
- 带有Nginx 1.6.2的CentOS 6.6-突然无法重新启动Nginx-Nginx
- ruby-on-rails – 即使重新启动,我如何保持乘客独立?
- 安全性 – 如何在nginx上拒绝使用404
- Nginx http_status_module统计信息
- nginx – 提供由PHP生成的自定义404页面
- macos – 无法访问OSX上端口80上的docker容器